Hi Daniel, On Thu 22 Jul 21, 21:33, Daniel Scally wrote: > The ov8865 driver is one of those that can be connected to a CIO2 > device by the cio2-bridge code. This means that the absence of an > endpoint for this device is not necessarily fatal, as one might be > built by the cio2-bridge when it probes. Return -EPROBE_DEFER if no > endpoint is found rather than a fatal error. Is this an error that you have actually seen in practice? My understanding is that this function should return the handle to the *local* fwnode graph endpoint, which relates to the static device-tree description and should be unrelated to another driver probing. So as far as I can see, this should not be needed (but correct me if I'm wrong). Cheers, Paul > Signed-off-by: Daniel Scally > --- > drivers/media/i2c/ov8865.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/drivers/media/i2c/ov8865.c b/drivers/media/i2c/ov8865.c > index 2ef146e7e7ef..66182142c28b 100644 > --- a/drivers/media/i2c/ov8865.c > +++ b/drivers/media/i2c/ov8865.c > @@ -2796,10 +2796,8 @@ static int ov8865_probe(struct i2c_client *client) > /* Graph Endpoint */ > > handle = fwnode_graph_get_next_endpoint(dev_fwnode(dev), NULL); > - if (!handle) { > - dev_err(dev, "unable to find endpoint node\n"); > - return -EINVAL; > - } > + if (!handle) > + return -EPROBE_DEFER; > > sensor->endpoint.bus_type = V4L2_MBUS_CSI2_DPHY; > > -- > 2.25.1 > -- Paul Kocialkowski, Bootlin Embedded Linux and kernel engineering https://bootlin.com