media: v4l: async: Set v4l2_device and subdev in async notifier init
authorSakari Ailus <sakari.ailus@linux.intel.com>
Thu, 23 Feb 2023 15:24:48 +0000 (16:24 +0100)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Thu, 10 Aug 2023 05:58:32 +0000 (07:58 +0200)
commitb8ec754ae4c563f6aab8c0cb47aeb2eae67f1da3
tree390dad8cbc7b995091751e1011d3cd8d9839ed1c
parent5651bab6890a0c5d126e2559b4aa353bed201e47
media: v4l: async: Set v4l2_device and subdev in async notifier init

Set the v4l2_device already in async notifier init, so struct device
related to it will be available before the notifier is registered. This
requires separating notifier initialisation into two functions, one that
takes v4l2_device as its argument, v4l2_async_nf_init and
v4l2_async_subdev_nf_init, for sub-device notifiers. Registering the
notifier will use a single function, v4l2_async_nf_register.

This is done in order to make struct device available earlier, during
construction of the async connections, for sensible debug prints.

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Tested-by: Philipp Zabel <p.zabel@pengutronix.de> # imx6qp
Tested-by: Niklas Söderlund <niklas.soderlund@ragnatech.se> # rcar + adv746x
Tested-by: Aishwarya Kothari <aishwarya.kothari@toradex.com> # Apalis i.MX6Q with TC358743
Tested-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> # Renesas RZ/G2L SMARC
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
53 files changed:
drivers/media/i2c/ds90ub913.c
drivers/media/i2c/ds90ub953.c
drivers/media/i2c/ds90ub960.c
drivers/media/i2c/max9286.c
drivers/media/i2c/st-mipid02.c
drivers/media/i2c/tc358746.c
drivers/media/pci/intel/ipu3/ipu3-cio2.c
drivers/media/platform/atmel/atmel-isi.c
drivers/media/platform/cadence/cdns-csi2rx.c
drivers/media/platform/intel/pxa_camera.c
drivers/media/platform/marvell/cafe-driver.c
drivers/media/platform/marvell/mcam-core.c
drivers/media/platform/marvell/mmp-driver.c
drivers/media/platform/microchip/microchip-csi2dc.c
drivers/media/platform/microchip/microchip-sama5d2-isc.c
drivers/media/platform/microchip/microchip-sama7g5-isc.c
drivers/media/platform/nxp/imx-mipi-csis.c
drivers/media/platform/nxp/imx7-media-csi.c
drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c
drivers/media/platform/nxp/imx8mq-mipi-csi2.c
drivers/media/platform/qcom/camss/camss.c
drivers/media/platform/renesas/rcar-isp.c
drivers/media/platform/renesas/rcar-vin/rcar-core.c
drivers/media/platform/renesas/rcar-vin/rcar-csi2.c
drivers/media/platform/renesas/rcar_drif.c
drivers/media/platform/renesas/renesas-ceu.c
drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c
drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c
drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c
drivers/media/platform/samsung/exynos4-is/media-dev.c
drivers/media/platform/st/stm32/stm32-dcmi.c
drivers/media/platform/sunxi/sun4i-csi/sun4i_csi.c
drivers/media/platform/sunxi/sun6i-csi/sun6i_csi_bridge.c
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
drivers/media/platform/ti/am437x/am437x-vpfe.c
drivers/media/platform/ti/cal/cal.c
drivers/media/platform/ti/davinci/vpif_capture.c
drivers/media/platform/ti/omap3isp/isp.c
drivers/media/platform/video-mux.c
drivers/media/platform/xilinx/xilinx-vipp.c
drivers/media/v4l2-core/v4l2-async.c
drivers/media/v4l2-core/v4l2-fwnode.c
drivers/staging/media/atomisp/pci/atomisp_csi2_bridge.c
drivers/staging/media/atomisp/pci/atomisp_v4l2.c
drivers/staging/media/deprecated/atmel/atmel-sama5d2-isc.c
drivers/staging/media/deprecated/atmel/atmel-sama7g5-isc.c
drivers/staging/media/imx/imx-media-csi.c
drivers/staging/media/imx/imx-media-dev-common.c
drivers/staging/media/imx/imx6-mipi-csi2.c
drivers/staging/media/sunxi/sun6i-isp/sun6i_isp_proc.c
drivers/staging/media/tegra-video/vi.c
include/media/v4l2-async.h