Re: [PATCH 0/9] Rework V4L2 fwnode parsing; add defaults and avoid iteration

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Apr 12, 2019 at 05:33:38PM +0200, Jacopo Mondi wrote:
> Hi Sakari,
> 
> On Fri, Apr 05, 2019 at 12:41:17PM +0300, Sakari Ailus wrote:
> > Hi folks,
> >
> > This patchset reworks V4L2 fwnode endpoint parsing. It enables the use of
> > endpoint configuration defaults that is available sensors and other
> > drivers that only use a single endpoint. Well, the functionality was
> > available already but no driver used it likely because of two reasons:
> > lack of any examples in a non-trivial problem area as well as lack of a
> > needed functionality to obtain through non-iterative means in the fwnode
> > graph API. Also the fwnode framework did not provide the most convenient
> > APIs to perform this for drivers.
> >
> > Conversion from the iterative API is done for the omap3isp and ipu3-cio2
> > drivers. A downside here is that this adds code: what used to be done in
> > the framework in a one-size-fits-all fashion is now the responsibility of
> > the driver. The benefits (default settings and simplicity of the
> > implementation from driver's point of view) are not really achievable
> > without some of that.
> >
> > Also baked in the set is matching devices with endpoints by endpoint node
> > rather than the device's node. This allows finding out more information
> > than just the device bound (i.e. the port --- or endpoint --- through
> > which it was bound). Compatibility support is provided for existing
> > drivers by setting the fwnode to be matched based on the available
> > endpoints. Drivers that use the async non-notifier API and have multiple
> > ports will likely need special care and this is right now missing from the
> > set, hence this is RFC for now.
> >
> > The set depends on a few other patches. They all can be found here:
> >
> > <URL:https://git.linuxtv.org/sailus/media_tree.git/log/?h=fwnode-linear>
> >
> 
> Compared to the above tree I see one missing patch:
> "device property: Add fwnode_graph_get_endpoint_by_id"
> 
> Is this intentional?

Yes. That patch will be merged through the ACPI tree (I hope). I guess it's
time to ping. :-)

> 
> Thanks
>   j
> 
> > since RFC v1:
> >
> > - Add another patch to change fwnode refcounting for
> >   v4l2_async_notifier_add_fwnode_subdev
> >
> > - Add a patch to fix OF node refcounting and use / put order for
> >   davinci-vpif
> >
> > - Don't take endpoint reference in v4l2_async_register_subdev; that's not
> >   intended
> >
> > - Fix kerneldoc documentation for
> >   v4l2_async_notifier_add_fwnode_remote_subdev
> >
> > - Fix endpoint refcounting in the patch changing fwnode parsing for the
> >   omap3isp driver
> >
> > - Fixed a compiler error in rcar_drif.c --- thanks, Niklas!
> >
> > Sakari Ailus (9):
> >   davinci-vpif: Don't dereference endpoint after putting it, fix
> >     refcounting
> >   v4l2-async: Use endpoint node, not device node, for fwnode match
> >   v4l2-async: Get fwnode reference when putting it to the notifier's
> >     list
> >   v4l2-async: Add v4l2_async_notifier_add_fwnode_remote_subdev
> >   omap3isp: Rework OF endpoint parsing
> >   v4l2-async: Safely clean up an uninitialised notifier
> >   ipu3-cio2: Clean up notifier's subdev list if parsing endpoints fails
> >   ipu3-cio2: Proceed with notifier init even if there are no subdevs
> >   ipu3-cio2: Parse information from firmware without using callbacks
> >
> >  drivers/media/pci/intel/ipu3/ipu3-cio2.c      |  96 ++++----
> >  drivers/media/platform/am437x/am437x-vpfe.c   |   7 +-
> >  drivers/media/platform/atmel/atmel-isc.c      |   2 +-
> >  drivers/media/platform/atmel/atmel-isi.c      |   2 +-
> >  drivers/media/platform/cadence/cdns-csi2rx.c  |   2 +-
> >  drivers/media/platform/davinci/vpif_capture.c |  37 +--
> >  drivers/media/platform/exynos4-is/media-dev.c |  14 +-
> >  drivers/media/platform/omap3isp/isp.c         | 331 +++++++++++++++-----------
> >  drivers/media/platform/pxa_camera.c           |   2 +-
> >  drivers/media/platform/qcom/camss/camss.c     |  10 +-
> >  drivers/media/platform/rcar_drif.c            |   2 +-
> >  drivers/media/platform/renesas-ceu.c          |   2 +-
> >  drivers/media/platform/stm32/stm32-dcmi.c     |   2 +-
> >  drivers/media/platform/ti-vpe/cal.c           |   2 +-
> >  drivers/media/platform/xilinx/xilinx-vipp.c   |  15 +-
> >  drivers/media/v4l2-core/v4l2-async.c          |  37 ++-
> >  drivers/media/v4l2-core/v4l2-fwnode.c         |  26 +-
> >  drivers/staging/media/soc_camera/soc_camera.c |  14 +-
> >  include/media/v4l2-async.h                    |  30 ++-
> >  19 files changed, 386 insertions(+), 247 deletions(-)
> >
> > --
> > 2.11.0
> >



-- 
Sakari Ailus
sakari.ailus@xxxxxxxxxxxxxxx



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux