mbox series

[0/5] media: Fix asd dynamic allocation

Message ID 20200811205939.19550-1-laurent.pinchart+renesas@ideasonboard.com (mailing list archive)
Headers show
Series media: Fix asd dynamic allocation | expand

Message

Laurent Pinchart Aug. 11, 2020, 8:59 p.m. UTC
Hello,

This small patch series addresses a bug related to the usage of
v4l2_async_notifier_add_subdev() that is widespread among drivers.

The issue is explained in 1/4, which improves the documentation of the
v4l2_async_notifier_add_subdev() function by stating explicitly that the
asd argument needs to be allocated dynamically. Among the 13 drivers
that use that function, only one gets it right.

The rest of the patches fix the problem in several Renesas-related
drivers, with an unrelated fwnode reference leak fix for the rcar-drif
driver in 2/5 that made the v4l2_async_notifier_add_subdev() fix easier
to implement in that driver.

I'm lacking hardware to test 2/5 and 3/5. Ramesh, would you be able to
test that ? What development board do you use to test the DRIF driver ?
I don't see any DT integration upstream.

I also haven't dug up my MAX9286 development kit to test 5/5. I would
thus appreciate if someone could test it, but worst case I can do so
myself.

Laurent Pinchart (5):
  media: v4l2-async: Document asd allocation requirements
  media: rcar_drif: Fix fwnode reference leak when parsing DT
  media: rcar_drif: Allocate v4l2_async_subdev dynamically
  media: rcar-csi2: Allocate v4l2_async_subdev dynamically
  media: i2c: max9286: Allocate v4l2_async_subdev dynamically

 drivers/media/i2c/max9286.c                 | 38 +++++++++++----------
 drivers/media/platform/rcar-vin/rcar-csi2.c | 24 ++++++-------
 drivers/media/platform/rcar_drif.c          | 30 +++++-----------
 include/media/v4l2-async.h                  |  5 +--
 4 files changed, 42 insertions(+), 55 deletions(-)

Comments

Ramesh Shanmugasundaram Aug. 31, 2020, 7:44 p.m. UTC | #1
Hi Laurent,

Thank you for the fix. Sorry about the late reply.

> This small patch series addresses a bug related to the usage of
> v4l2_async_notifier_add_subdev() that is widespread among drivers.
>
> The issue is explained in 1/4, which improves the documentation of the
> v4l2_async_notifier_add_subdev() function by stating explicitly that the
> asd argument needs to be allocated dynamically. Among the 13 drivers
> that use that function, only one gets it right.
>
> The rest of the patches fix the problem in several Renesas-related
> drivers, with an unrelated fwnode reference leak fix for the rcar-drif
> driver in 2/5 that made the v4l2_async_notifier_add_subdev() fix easier
> to implement in that driver.
>
> I'm lacking hardware to test 2/5 and 3/5. Ramesh, would you be able to
> test that ? What development board do you use to test the DRIF driver ?
> I don't see any DT integration upstream.

I'm afraid I may not be able to test it as I do not have the hardware.
I have copied Chris P if he can help out.

I have tested DRIF driver on a H3/M3 Salvator-X/S with a add-on board
from Maxim having two MAX2175 tuners (MAX2175 evaluation kit). This
add-on board was a prototype at that time. Hence, the DT updates were
maintained internally.

Thanks,
Ramesh

> I also haven't dug up my MAX9286 development kit to test 5/5. I would
> thus appreciate if someone could test it, but worst case I can do so
> myself.
>
> Laurent Pinchart (5):
>   media: v4l2-async: Document asd allocation requirements
>   media: rcar_drif: Fix fwnode reference leak when parsing DT
>   media: rcar_drif: Allocate v4l2_async_subdev dynamically
>   media: rcar-csi2: Allocate v4l2_async_subdev dynamically
>   media: i2c: max9286: Allocate v4l2_async_subdev dynamically
>
>  drivers/media/i2c/max9286.c                 | 38 +++++++++++----------
>  drivers/media/platform/rcar-vin/rcar-csi2.c | 24 ++++++-------
>  drivers/media/platform/rcar_drif.c          | 30 +++++-----------
>  include/media/v4l2-async.h                  |  5 +--
>  4 files changed, 42 insertions(+), 55 deletions(-)
>
> --
> Regards,
>
> Laurent Pinchart
>
Chris Paterson Sept. 1, 2020, 10:46 a.m. UTC | #2
Hello,

> From: Ramesh Shanmugasundaram <rashanmu@gmail.com>
> Sent: 31 August 2020 20:45
> 
> Hi Laurent,
> 
> Thank you for the fix. Sorry about the late reply.
> 
> > This small patch series addresses a bug related to the usage of
> > v4l2_async_notifier_add_subdev() that is widespread among drivers.
> >
> > The issue is explained in 1/4, which improves the documentation of the
> > v4l2_async_notifier_add_subdev() function by stating explicitly that the
> > asd argument needs to be allocated dynamically. Among the 13 drivers
> > that use that function, only one gets it right.
> >
> > The rest of the patches fix the problem in several Renesas-related
> > drivers, with an unrelated fwnode reference leak fix for the rcar-drif
> > driver in 2/5 that made the v4l2_async_notifier_add_subdev() fix easier
> > to implement in that driver.
> >
> > I'm lacking hardware to test 2/5 and 3/5. Ramesh, would you be able to
> > test that ? What development board do you use to test the DRIF driver ?
> > I don't see any DT integration upstream.
> 
> I'm afraid I may not be able to test it as I do not have the hardware.
> I have copied Chris P if he can help out.

Thanks Ramesh.

Fabrizio will take a look as he's working on DRIF currently.
We'll also get him added to the maintainers file.

Kind regards, Chris

> 
> I have tested DRIF driver on a H3/M3 Salvator-X/S with a add-on board
> from Maxim having two MAX2175 tuners (MAX2175 evaluation kit). This
> add-on board was a prototype at that time. Hence, the DT updates were
> maintained internally.
> 
> Thanks,
> Ramesh
> 
> > I also haven't dug up my MAX9286 development kit to test 5/5. I would
> > thus appreciate if someone could test it, but worst case I can do so
> > myself.
> >
> > Laurent Pinchart (5):
> >   media: v4l2-async: Document asd allocation requirements
> >   media: rcar_drif: Fix fwnode reference leak when parsing DT
> >   media: rcar_drif: Allocate v4l2_async_subdev dynamically
> >   media: rcar-csi2: Allocate v4l2_async_subdev dynamically
> >   media: i2c: max9286: Allocate v4l2_async_subdev dynamically
> >
> >  drivers/media/i2c/max9286.c                 | 38 +++++++++++----------
> >  drivers/media/platform/rcar-vin/rcar-csi2.c | 24 ++++++-------
> >  drivers/media/platform/rcar_drif.c          | 30 +++++-----------
> >  include/media/v4l2-async.h                  |  5 +--
> >  4 files changed, 42 insertions(+), 55 deletions(-)
> >
> > --
> > Regards,
> >
> > Laurent Pinchart
> >
Fabrizio Castro Sept. 10, 2020, 3:53 p.m. UTC | #3
Hello Laurent,

Thank you for your work.

I have tested your patches related to the DRIF driver, and they look ok to me.

Tested-by: Fabrizio Castro <fabrizio.castro.jz@renesas.com>

Thanks,
Fab

> From: Chris Paterson <Chris.Paterson2@renesas.com>
> Sent: 01 September 2020 11:46
>
> Hello,
>
> > From: Ramesh Shanmugasundaram <rashanmu@gmail.com>
> > Sent: 31 August 2020 20:45
> >
> > Hi Laurent,
> >
> > Thank you for the fix. Sorry about the late reply.
> >
> > > This small patch series addresses a bug related to the usage of
> > > v4l2_async_notifier_add_subdev() that is widespread among drivers.
> > >
> > > The issue is explained in 1/4, which improves the documentation of the
> > > v4l2_async_notifier_add_subdev() function by stating explicitly that the
> > > asd argument needs to be allocated dynamically. Among the 13 drivers
> > > that use that function, only one gets it right.
> > >
> > > The rest of the patches fix the problem in several Renesas-related
> > > drivers, with an unrelated fwnode reference leak fix for the rcar-drif
> > > driver in 2/5 that made the v4l2_async_notifier_add_subdev() fix easier
> > > to implement in that driver.
> > >
> > > I'm lacking hardware to test 2/5 and 3/5. Ramesh, would you be able to
> > > test that ? What development board do you use to test the DRIF driver ?
> > > I don't see any DT integration upstream.
> >
> > I'm afraid I may not be able to test it as I do not have the hardware.
> > I have copied Chris P if he can help out.
>
> Thanks Ramesh.
>
> Fabrizio will take a look as he's working on DRIF currently.
> We'll also get him added to the maintainers file.
>
> Kind regards, Chris
>
> >
> > I have tested DRIF driver on a H3/M3 Salvator-X/S with a add-on board
> > from Maxim having two MAX2175 tuners (MAX2175 evaluation kit). This
> > add-on board was a prototype at that time. Hence, the DT updates were
> > maintained internally.
> >
> > Thanks,
> > Ramesh
> >
> > > I also haven't dug up my MAX9286 development kit to test 5/5. I would
> > > thus appreciate if someone could test it, but worst case I can do so
> > > myself.
> > >
> > > Laurent Pinchart (5):
> > >   media: v4l2-async: Document asd allocation requirements
> > >   media: rcar_drif: Fix fwnode reference leak when parsing DT
> > >   media: rcar_drif: Allocate v4l2_async_subdev dynamically
> > >   media: rcar-csi2: Allocate v4l2_async_subdev dynamically
> > >   media: i2c: max9286: Allocate v4l2_async_subdev dynamically
> > >
> > >  drivers/media/i2c/max9286.c                 | 38 +++++++++++----------
> > >  drivers/media/platform/rcar-vin/rcar-csi2.c | 24 ++++++-------
> > >  drivers/media/platform/rcar_drif.c          | 30 +++++-----------
> > >  include/media/v4l2-async.h                  |  5 +--
> > >  4 files changed, 42 insertions(+), 55 deletions(-)
> > >
> > > --
> > > Regards,
> > >
> > > Laurent Pinchart
> > >


Renesas Electronics Europe GmbH, Geschaeftsfuehrer/President: Carsten Jauch, Sitz der Gesellschaft/Registered office: Duesseldorf, Arcadiastrasse 10, 40472 Duesseldorf, Germany, Handelsregister/Commercial Register: Duesseldorf, HRB 3708 USt-IDNr./Tax identification no.: DE 119353406 WEEE-Reg.-Nr./WEEE reg. no.: DE 14978647