Re: [RFC 07/13] v4l2: device_register_subdev_nodes: allow calling multiple times

From: Laurent Pinchart
Date: Tue Feb 14 2017 - 17:05:55 EST


Hi Sakari,

On Wednesday 15 Feb 2017 00:02:57 Sakari Ailus wrote:
> On Tue, Feb 14, 2017 at 02:40:00PM +0100, Pavel Machek wrote:
> > From: Sebastian Reichel <sre@xxxxxxxxxx>
> >
> > Without this, exposure / gain controls do not work in the camera
> > application.:
> :-)
> :
> > Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx>
> > Signed-off-by: Ivaylo Dimitrov <ivo.g.dimitrov.75@xxxxxxxxx>
> > Signed-off-by: Pavel Machek <pavel@xxxxxx>
> > ---
> >
> > drivers/media/v4l2-core/v4l2-device.c | 3 +++
> > 1 file changed, 3 insertions(+)
> >
> > diff --git a/drivers/media/v4l2-core/v4l2-device.c
> > b/drivers/media/v4l2-core/v4l2-device.c index f364cc1..b3afbe8 100644
> > --- a/drivers/media/v4l2-core/v4l2-device.c
> > +++ b/drivers/media/v4l2-core/v4l2-device.c
> > @@ -235,6 +235,9 @@ int v4l2_device_register_subdev_nodes(struct
> > v4l2_device *v4l2_dev)
> > if (!(sd->flags & V4L2_SUBDEV_FL_HAS_DEVNODE))
> > continue;
> >
> > + if(sd->devnode)
> > + continue;
>
> This has been recognised as a problem but you're the first to submit a patch
> I believe. Please add an appropriate description. :-)
>
> s/if\(/if (/
>
> I think this one should go in before the rest.

But how can this happen ? Is v4l2_device_register_subdev_nodes() called
multiple times ? Do we want to allow that ?

> > +
> > vdev = kzalloc(sizeof(*vdev), GFP_KERNEL);
> > if (!vdev) {
> > err = -ENOMEM;

--
Regards,

Laurent Pinchart