Re: [PATCH v2 10/18] media: cadence: csi2rx: Populate subdev devnode

From: Pratyush Yadav
Date: Fri May 28 2021 - 03:24:17 EST


On 28/05/21 10:16AM, Tomi Valkeinen wrote:
> On 26/05/2021 18:23, Pratyush Yadav wrote:
> > The devnode can be used by media-ctl and other userspace tools to
> > perform configurations on the subdev. Without it, media-ctl returns
> > ENOENT when setting format on the sensor subdev.
> >
> > Signed-off-by: Pratyush Yadav <p.yadav@xxxxxx>
> > ---
> >
> > (no changes since v1)
> >
> > drivers/media/platform/cadence/cdns-csi2rx.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/media/platform/cadence/cdns-csi2rx.c b/drivers/media/platform/cadence/cdns-csi2rx.c
> > index 1df21f462f3c..49bed63d5faa 100644
> > --- a/drivers/media/platform/cadence/cdns-csi2rx.c
> > +++ b/drivers/media/platform/cadence/cdns-csi2rx.c
> > @@ -613,6 +613,7 @@ static int csi2rx_probe(struct platform_device *pdev)
> > csi2rx->pads[CSI2RX_PAD_SINK].flags = MEDIA_PAD_FL_SINK;
> > for (i = CSI2RX_PAD_SOURCE_STREAM0; i < CSI2RX_PAD_MAX; i++)
> > csi2rx->pads[i].flags = MEDIA_PAD_FL_SOURCE;
> > + csi2rx->subdev.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
> > ret = media_entity_pads_init(&csi2rx->subdev.entity, CSI2RX_PAD_MAX,
> > csi2rx->pads);
> >
>
> I don't understand this one. There's nothing to configure in cdns-csi2rx
> from userspace, as far as I can see, so why is the dev node needed? And why
> would the lack of csi2rx dev node cause sensor subdev config to fail?

Sensor config does not fail. But when I run media-ctl to set the format
on /dev/media0, I get an error message that comes because the devnode
for the bridge does not exist. I was not 100% sure about this patch but
I figured if media-ctl expects it then it should be exposed.

I don't mind dropping this patch. Just want to make sure what the right
thing to do here is. Should every element of the pipeline have a devnode
or not?

--
Regards,
Pratyush Yadav
Texas Instruments Inc.