On Wed, May 17, 2023 at 9:37 AM Alexander Stein <alexander.stein@xxxxxxxxxxxxxxx> wrote: > > Ensure the device has been setup correctly before registering the v4l2 > async device, thus allowing userspace to access. > > Signed-off-by: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxx> > --- > Change in v2: > * New approach: Register async device as last step > > This superseeds the patch at [1], but has a different subject due to new > solution. > > [1] https://lore.kernel.org/linux-media/20230502140612.2256850-1-alexander.stein@xxxxxxxxxxxxxxx/ > > drivers/media/i2c/tc358743.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/drivers/media/i2c/tc358743.c b/drivers/media/i2c/tc358743.c > index ad6a72b2bcf5..9d4bd73469bf 100644 > --- a/drivers/media/i2c/tc358743.c > +++ b/drivers/media/i2c/tc358743.c > @@ -2091,9 +2091,6 @@ static int tc358743_probe(struct i2c_client *client) > state->mbus_fmt_code = MEDIA_BUS_FMT_RGB888_1X24; > > sd->dev = &client->dev; > - err = v4l2_async_register_subdev(sd); > - if (err < 0) > - goto err_hdl; > > mutex_init(&state->confctl_mutex); > > @@ -2151,6 +2148,10 @@ static int tc358743_probe(struct i2c_client *client) > if (err) > goto err_work_queues; > > + err = v4l2_async_register_subdev(sd); > + if (err < 0) > + goto err_work_queues; > + > v4l2_info(sd, "%s found @ 0x%x (%s)\n", client->name, > client->addr << 1, client->adapter->name); > > -- > 2.34.1 > Reviewed-by: Robert Foss <rfoss@xxxxxxxxxx>