lkml.org 
[lkml]   [2014]   [Nov]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v12 02/11] staging: imx-drm: imx-hdmi: return defer if can't get ddc i2c adapter
    Date
    drm driver may probe before the i2c bus, so the driver should
    defer probing until it is available

    Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
    Reviewed-by: Daniel Kurtz <djkurtz@chromium.org>

    ---

    Changes in v12:
    - refactor of_node_put(ddc_node)

    Changes in v11: None
    Changes in v10: None
    Changes in v9: None
    Changes in v8: None
    Changes in v7: None
    Changes in v6: None
    Changes in v5: None
    Changes in v4:
    - defer probe ddc i2c adapter

    Changes in v3: None
    Changes in v2: None

    drivers/staging/imx-drm/imx-hdmi.c | 6 ++++--
    1 file changed, 4 insertions(+), 2 deletions(-)

    diff --git a/drivers/staging/imx-drm/imx-hdmi.c b/drivers/staging/imx-drm/imx-hdmi.c
    index 79daec4..8029a07 100644
    --- a/drivers/staging/imx-drm/imx-hdmi.c
    +++ b/drivers/staging/imx-drm/imx-hdmi.c
    @@ -1611,10 +1611,12 @@ static int imx_hdmi_bind(struct device *dev, struct device *master, void *data)
    ddc_node = of_parse_phandle(np, "ddc-i2c-bus", 0);
    if (ddc_node) {
    hdmi->ddc = of_find_i2c_adapter_by_node(ddc_node);
    - if (!hdmi->ddc)
    + of_node_put(ddc_node);
    + if (!hdmi->ddc) {
    dev_dbg(hdmi->dev, "failed to read ddc node\n");
    + return -EPROBE_DEFER;
    + }

    - of_node_put(ddc_node);
    } else {
    dev_dbg(hdmi->dev, "no ddc property found\n");
    }
    --
    1.9.1



    \
     
     \ /
      Last update: 2014-11-17 12:21    [W:5.818 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site