All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC 0/8] Rework V4L2 fwnode parsing; add defaults and avoid iteration
@ 2019-03-18 19:16 Sakari Ailus
  2019-03-18 19:16 ` [RFC 1/8] v4l2-async: Use endpoint node, not device node, for fwnode match Sakari Ailus
                   ` (7 more replies)
  0 siblings, 8 replies; 19+ messages in thread
From: Sakari Ailus @ 2019-03-18 19:16 UTC (permalink / raw)
  To: linux-media; +Cc: niklas.soderlund, laurent.pinchart

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>

Sakari Ailus (8):
  v4l2-async: Use endpoint node, not device node, for fwnode match
  v4l2-async: Add v4l2_async_notifier_add_fwnode_remote_subdev
  v4l2-fwnode: Use 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      |  97 ++++----
 drivers/media/platform/am437x/am437x-vpfe.c   |   2 +-
 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 |  14 +-
 drivers/media/platform/exynos4-is/media-dev.c |  14 +-
 drivers/media/platform/omap3isp/isp.c         | 334 +++++++++++++++-----------
 drivers/media/platform/pxa_camera.c           |   2 +-
 drivers/media/platform/qcom/camss/camss.c     |  10 +-
 drivers/media/platform/rcar_drif.c            |   3 +-
 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   |  13 +-
 drivers/media/v4l2-core/v4l2-async.c          |  33 ++-
 drivers/media/v4l2-core/v4l2-fwnode.c         |  12 +-
 drivers/staging/media/soc_camera/soc_camera.c |  14 +-
 include/media/v4l2-async.h                    |  24 ++
 19 files changed, 354 insertions(+), 230 deletions(-)

-- 
2.11.0

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2019-04-05  0:22 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-18 19:16 [RFC 0/8] Rework V4L2 fwnode parsing; add defaults and avoid iteration Sakari Ailus
2019-03-18 19:16 ` [RFC 1/8] v4l2-async: Use endpoint node, not device node, for fwnode match Sakari Ailus
2019-03-19 13:02   ` [RFC v1.1 " Sakari Ailus
2019-03-20 15:23     ` Niklas Söderlund
2019-04-04 13:37   ` [RFC " Hans Verkuil
2019-04-04 21:50     ` Sakari Ailus
2019-03-18 19:16 ` [RFC 2/8] v4l2-async: Add v4l2_async_notifier_add_fwnode_remote_subdev Sakari Ailus
2019-03-19 13:00   ` [RFC v1.1 " Sakari Ailus
2019-04-04 13:39   ` [RFC " Hans Verkuil
2019-04-04 23:04     ` Sakari Ailus
2019-03-18 19:16 ` [RFC 3/8] v4l2-fwnode: Use v4l2_async_notifier_add_fwnode_remote_subdev Sakari Ailus
2019-03-20 16:10   ` Niklas Söderlund
2019-03-18 19:16 ` [RFC 4/8] omap3isp: Rework OF endpoint parsing Sakari Ailus
2019-04-04 13:43   ` Hans Verkuil
2019-04-05  0:22     ` Sakari Ailus
2019-03-18 19:16 ` [RFC 5/8] v4l2-async: Safely clean up an uninitialised notifier Sakari Ailus
2019-03-18 19:16 ` [RFC 6/8] ipu3-cio2: Clean up notifier's subdev list if parsing endpoints fails Sakari Ailus
2019-03-18 19:16 ` [RFC 7/8] ipu3-cio2: Proceed with notifier init even if there are no subdevs Sakari Ailus
2019-03-18 19:16 ` [RFC 8/8] ipu3-cio2: Parse information from firmware without using callbacks Sakari Ailus

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.