drm: imx: imx-hdmi: return defer if can't get ddc i2c adapter
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> Tested-by: Russell King <rmk+kernel@arm.linux.org.uk> Acked-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
This commit is contained in:
@@ -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);
|
ddc_node = of_parse_phandle(np, "ddc-i2c-bus", 0);
|
||||||
if (ddc_node) {
|
if (ddc_node) {
|
||||||
hdmi->ddc = of_find_i2c_adapter_by_node(ddc_node);
|
hdmi->ddc = of_find_i2c_adapter_by_node(ddc_node);
|
||||||
if (!hdmi->ddc)
|
|
||||||
dev_dbg(hdmi->dev, "failed to read ddc node\n");
|
|
||||||
|
|
||||||
of_node_put(ddc_node);
|
of_node_put(ddc_node);
|
||||||
|
if (!hdmi->ddc) {
|
||||||
|
dev_dbg(hdmi->dev, "failed to read ddc node\n");
|
||||||
|
return -EPROBE_DEFER;
|
||||||
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
dev_dbg(hdmi->dev, "no ddc property found\n");
|
dev_dbg(hdmi->dev, "no ddc property found\n");
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user