If the subdev isn't available just yet, defer probing of the system. This is useful if the omap3isp comes up before the I2C subsystem does. Signed-off-by: Tim Nordell <tim.nordell@xxxxxxxxxxx> --- drivers/media/platform/omap3isp/isp.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/media/platform/omap3isp/isp.c b/drivers/media/platform/omap3isp/isp.c index 51c2129..a361c40 100644 --- a/drivers/media/platform/omap3isp/isp.c +++ b/drivers/media/platform/omap3isp/isp.c @@ -1811,7 +1811,7 @@ isp_register_subdev_group(struct isp_device *isp, "device %s\n", __func__, board_info->i2c_adapter_id, board_info->board_info->type); - continue; + return ERR_PTR(-EPROBE_DEFER); } subdev = v4l2_i2c_new_subdev_board(&isp->v4l2_dev, adapter, @@ -1898,6 +1898,10 @@ static int isp_register_entities(struct isp_device *isp) unsigned int i; sensor = isp_register_subdev_group(isp, subdevs->subdevs); + if (IS_ERR(sensor)) { + ret = PTR_ERR(sensor); + goto done; + } if (sensor == NULL) continue; -- 2.0.4 -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html