Commit b7602d62 authored by Bingbu Cao's avatar Bingbu Cao Committed by Mauro Carvalho Chehab

media: ov13b10: Defer probe if no endpoint found

The ov13b10 need be connected to a CIO2 or IPU device by bridge, sometimes
the bridge driver was not probed before ov13b10 driver, then the absence
of the fwnode endpoint for this device is expected, so driver return
-EPROBE_DEFER in this case to let the probe occur after bridge driver.
Signed-off-by: default avatarHao Yao <hao.yao@intel.com>
Signed-off-by: default avatarBingbu Cao <bingbu.cao@intel.com>
Reviewed-by: default avatarTommaso Merciai <tomm.merciai@gmail.com>
Signed-off-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
parent a828002f
...@@ -1331,6 +1331,10 @@ static int ov13b10_check_hwcfg(struct device *dev) ...@@ -1331,6 +1331,10 @@ static int ov13b10_check_hwcfg(struct device *dev)
if (!fwnode) if (!fwnode)
return -ENXIO; return -ENXIO;
ep = fwnode_graph_get_next_endpoint(fwnode, NULL);
if (!ep)
return -EPROBE_DEFER;
ret = fwnode_property_read_u32(dev_fwnode(dev), "clock-frequency", ret = fwnode_property_read_u32(dev_fwnode(dev), "clock-frequency",
&ext_clk); &ext_clk);
if (ret) { if (ret) {
...@@ -1344,10 +1348,6 @@ static int ov13b10_check_hwcfg(struct device *dev) ...@@ -1344,10 +1348,6 @@ static int ov13b10_check_hwcfg(struct device *dev)
return -EINVAL; return -EINVAL;
} }
ep = fwnode_graph_get_next_endpoint(fwnode, NULL);
if (!ep)
return -ENXIO;
ret = v4l2_fwnode_endpoint_alloc_parse(ep, &bus_cfg); ret = v4l2_fwnode_endpoint_alloc_parse(ep, &bus_cfg);
fwnode_handle_put(ep); fwnode_handle_put(ep);
if (ret) if (ret)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment