All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sakari Ailus <sakari.ailus@iki.fi>
To: linux-media@vger.kernel.org
Subject: [GIT PULL FOR 6.6] Separate V4L2 async sub-devices from connections
Date: Tue, 25 Jul 2023 10:45:27 +0000	[thread overview]
Message-ID: <ZL+nx1/qYE2FggwD@valkosipuli.retiisi.eu> (raw)

Hi Mauro,

This set reworks V4L2 async framework by separating async sub-devices from
connections, allowing binding a sub-device with multiple asynchronous
connections. Consequently, it also allows both i.MX6 and adv748x drivers to
work with the same kernel.

Please pull.


The following changes since commit 06c2afb862f9da8dc5efa4b6076a0e48c3fbaaa5:

  Linux 6.5-rc1 (2023-07-09 13:53:13 -0700)

are available in the Git repository at:

  git://linuxtv.org/sailus/media_tree.git tags/async-multi-v6-signed

for you to fetch changes up to a74b4f6c47473d28603b6a95d7f27038e7b8d256:

  media: Documentation: v4l: Document sub-device notifiers (2023-07-24 00:02:48 +0300)

----------------------------------------------------------------
V4L2 async sub-devices and connections for 6.6

----------------------------------------------------------------
Jacopo Mondi (1):
      media: v4l: async: Drop v4l2_async_nf_parse_fwnode_endpoints()

Sakari Ailus (37):
      media: v4l: fwnode: Remove unneeded forward declaration
      media: atmel-isi: Remote unneeeded forward declaration
      media: xilinx-vipp: Clean up bound async notifier callback
      media: omap3isp: Move link creation to bound callback
      media: Documentation: v4l: Fix async notifier registration example
      media: Documentation: v4l: Add section titles for async
      media: Documentation: v4l: Fix async sensor subdev helper documentation
      media: Documentation: v4l: Document missing async subdev function
      media: Documentation: v4l: Document v4l2_async_nf_cleanup
      media: v4l: async: Add some debug prints
      media: v4l: async: Clean up testing for duplicate async subdevs
      media: v4l: async: Don't check whether asd is NULL in validity check
      media: v4l: async: Make V4L2 async match information a struct
      media: v4l: async: Rename V4L2_ASYNC_MATCH_ macros, add TYPE_
      media: v4l: async: Only pass match information for async subdev validation
      media: v4l: async: Clean up list heads and entries
      media: v4l: async: Simplify async sub-device fwnode matching
      media: v4l: async: Rename v4l2_async_subdev as v4l2_async_connection
      media: v4l: async: Clean up error handling in v4l2_async_match_notify
      media: v4l: async: Drop duplicate handling when adding connections
      media: v4l: async: Rework internal lists
      media: v4l: async: Obtain async connection based on sub-device
      media: v4l: async: Allow multiple connections between entities
      media: v4l: async: Drop unneeded list entry initialisation
      media: v4l: async: Try more connections
      media: v4l: async: Support fwnode endpoint list matching for subdevs
      media: adv748x: Return to endpoint matching
      media: pxa_camera: Fix probe error handling
      media: pxa_camera: Register V4L2 device early
      media: marvell: cafe: Register V4L2 device earlier
      media: am437x-vpfe: Register V4L2 device early
      media: omap3isp: Initialise V4L2 async notifier later
      media: xilinx-vipp: Init async notifier after registering V4L2 device
      media: davinci: Init async notifier after registering V4L2 device
      media: qcom: Initialise V4L2 async notifier later
      media: v4l: async: Set v4l2_device and subdev in async notifier init
      media: Documentation: v4l: Document sub-device notifiers

 Documentation/driver-api/media/v4l2-subdev.rst     | 110 ++--
 drivers/media/i2c/adv748x/adv748x-csi2.c           |  13 +-
 drivers/media/i2c/max9286.c                        |  27 +-
 drivers/media/i2c/rdacm20.c                        |  16 +-
 drivers/media/i2c/rdacm21.c                        |  15 +-
 drivers/media/i2c/st-mipid02.c                     |  12 +-
 drivers/media/i2c/tc358746.c                       |  15 +-
 drivers/media/pci/intel/ipu3/ipu3-cio2-main.c      |  14 +-
 drivers/media/platform/atmel/atmel-isi.c           |  12 +-
 drivers/media/platform/atmel/atmel-isi.h           |   2 -
 drivers/media/platform/cadence/cdns-csi2rx.c       |  10 +-
 drivers/media/platform/intel/pxa_camera.c          |  77 +--
 drivers/media/platform/marvell/cafe-driver.c       |  18 +-
 drivers/media/platform/marvell/mcam-core.c         |  15 +-
 drivers/media/platform/marvell/mmp-driver.c        |   6 +-
 .../media/platform/microchip/microchip-csi2dc.c    |  11 +-
 .../media/platform/microchip/microchip-isc-base.c  |   4 +-
 drivers/media/platform/microchip/microchip-isc.h   |   2 +-
 .../platform/microchip/microchip-sama5d2-isc.c     |   9 +-
 .../platform/microchip/microchip-sama7g5-isc.c     |   9 +-
 drivers/media/platform/nxp/imx-mipi-csis.c         |  17 +-
 drivers/media/platform/nxp/imx7-media-csi.c        |  10 +-
 .../media/platform/nxp/imx8-isi/imx8-isi-core.c    |  12 +-
 drivers/media/platform/qcom/camss/camss.c          |  26 +-
 drivers/media/platform/qcom/camss/camss.h          |   2 +-
 drivers/media/platform/renesas/rcar-isp.c          |  12 +-
 .../media/platform/renesas/rcar-vin/rcar-core.c    |  52 +-
 .../media/platform/renesas/rcar-vin/rcar-csi2.c    |  20 +-
 drivers/media/platform/renesas/rcar-vin/rcar-vin.h |  10 +-
 drivers/media/platform/renesas/rcar_drif.c         |  12 +-
 drivers/media/platform/renesas/renesas-ceu.c       |  10 +-
 .../media/platform/renesas/rzg2l-cru/rzg2l-core.c  |  14 +-
 .../media/platform/renesas/rzg2l-cru/rzg2l-cru.h   |   2 +-
 .../media/platform/renesas/rzg2l-cru/rzg2l-csi2.c  |  12 +-
 .../media/platform/rockchip/rkisp1/rkisp1-common.h |   2 +-
 .../media/platform/rockchip/rkisp1/rkisp1-csi.c    |   7 +-
 .../media/platform/rockchip/rkisp1/rkisp1-dev.c    |  12 +-
 .../media/platform/rockchip/rkisp1/rkisp1-isp.c    |   8 +-
 .../media/platform/samsung/exynos4-is/media-dev.c  |  11 +-
 .../media/platform/samsung/exynos4-is/media-dev.h  |   2 +-
 drivers/media/platform/st/stm32/stm32-dcmi.c       |  12 +-
 drivers/media/platform/sunxi/sun4i-csi/sun4i_csi.c |  10 +-
 .../platform/sunxi/sun6i-csi/sun6i_csi_bridge.c    |  12 +-
 .../platform/sunxi/sun6i-csi/sun6i_csi_bridge.h    |   2 +-
 .../sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c        |  10 +-
 .../sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c    |  10 +-
 drivers/media/platform/ti/am437x/am437x-vpfe.c     |  36 +-
 drivers/media/platform/ti/am437x/am437x-vpfe.h     |   2 +-
 drivers/media/platform/ti/cal/cal.c                |  10 +-
 drivers/media/platform/ti/davinci/vpif_capture.c   |  35 +-
 drivers/media/platform/ti/omap3isp/isp.c           |  55 +-
 drivers/media/platform/ti/omap3isp/isp.h           |  15 +-
 drivers/media/platform/ti/omap3isp/ispccdc.c       |  13 +-
 drivers/media/platform/ti/omap3isp/ispccp2.c       |   2 +
 drivers/media/platform/ti/omap3isp/ispcsi2.c       |   2 +
 drivers/media/platform/ti/omap3isp/ispcsiphy.c     |  15 +-
 drivers/media/platform/video-mux.c                 |  10 +-
 drivers/media/platform/xilinx/xilinx-vipp.c        |  55 +-
 drivers/media/v4l2-core/v4l2-async.c               | 689 +++++++++++----------
 drivers/media/v4l2-core/v4l2-fwnode.c              | 109 +---
 drivers/media/v4l2-core/v4l2-subdev.c              |  13 +
 .../media/atomisp/pci/atomisp_csi2_bridge.c        |   8 +-
 drivers/staging/media/atomisp/pci/atomisp_v4l2.c   |   2 +-
 .../media/deprecated/atmel/atmel-isc-base.c        |   4 +-
 drivers/staging/media/deprecated/atmel/atmel-isc.h |   2 +-
 .../media/deprecated/atmel/atmel-sama5d2-isc.c     |   9 +-
 .../media/deprecated/atmel/atmel-sama7g5-isc.c     |   9 +-
 drivers/staging/media/imx/imx-media-csi.c          |  10 +-
 drivers/staging/media/imx/imx-media-dev-common.c   |   6 +-
 drivers/staging/media/imx/imx-media-dev.c          |   2 +-
 drivers/staging/media/imx/imx-media-of.c           |   4 +-
 drivers/staging/media/imx/imx6-mipi-csi2.c         |  12 +-
 drivers/staging/media/imx/imx8mq-mipi-csi2.c       |  10 +-
 .../staging/media/sunxi/sun6i-isp/sun6i_isp_proc.c |   6 +-
 .../staging/media/sunxi/sun6i-isp/sun6i_isp_proc.h |   2 +-
 drivers/staging/media/tegra-video/vi.c             |  21 +-
 include/media/davinci/vpif_types.h                 |   2 +-
 include/media/v4l2-async.h                         | 238 +++----
 include/media/v4l2-fwnode.h                        |  70 ---
 include/media/v4l2-subdev.h                        |  19 +-
 80 files changed, 1059 insertions(+), 1144 deletions(-)

-- 
Sakari Ailus

             reply	other threads:[~2023-07-25 10:45 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-25 10:45 Sakari Ailus [this message]
2023-07-25 14:15 ` [GIT PULL FOR 6.6] Separate V4L2 async sub-devices from connections (#93401) Jenkins

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZL+nx1/qYE2FggwD@valkosipuli.retiisi.eu \
    --to=sakari.ailus@iki.fi \
    --cc=linux-media@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.