mbox series

[GIT,PULL,v3,FOR,6.8] V4L2 subdev patches

Message ID ZVEyCfzm4ninES6K@valkosipuli.retiisi.eu (mailing list archive)
State New, archived
Headers show
Series [GIT,PULL,v3,FOR,6.8] V4L2 subdev patches | expand

Pull-request

git://linuxtv.org/sailus/media_tree.git tags/for-6.8-1.2-signed

Message

Sakari Ailus Nov. 12, 2023, 8:14 p.m. UTC
Hi Mauro, Hans,

Here's a bunch of patches from myself and Laurent, cleaning up V4L2
sub-device state information access API, drivers using it plus fixing IVSC
driver firmware parsing and IMX319 driver. A few CCS driver fixes and
documentation improvement are included, too.

Please pull.

since v2:

- Fix sub-device state access conditional compilation (was dependent on
  sub-device UAPI).

since v1:

- Fix IVSC driver patch error handling.


The following changes since commit 3e238417254bfdcc23fe207780b59cbb08656762:

  media: nuvoton: VIDEO_NPCM_VCD_ECE should depend on ARCH_NPCM (2023-10-27 11:44:19 +0200)

are available in the Git repository at:

  git://linuxtv.org/sailus/media_tree.git tags/for-6.8-1.2-signed

for you to fetch changes up to 61ab89c1916219ccbeca9f6cefb1680212de8d1c:

  media: v4l: subdev: Return NULL from pad access functions on error (2023-11-12 20:51:35 +0200)

----------------------------------------------------------------
V4L2 patches for 6.8

----------------------------------------------------------------
Laurent Pinchart (16):
      media: v4l2-subdev: Fix indentation in v4l2-subdev.h
      media: atmel-isi: Use accessors for pad config 'try_*' fields
      media: microchip-isc: Use accessors for pad config 'try_*' fields
      media: atmel-isc: Use accessors for pad config 'try_*' fields
      media: atomisp: Use accessors for pad config 'try_*' fields
      media: tegra-video: Use accessors for pad config 'try_*' fields
      media: i2c: Use accessors for pad config 'try_*' fields
      media: v4l2-subdev: Rename pad config 'try_*' fields
      media: v4l2-subdev: Drop outdated comment for v4l2_subdev_pad_config
      media: ipu3-cio2: Drop comment blocks for subdev op handlers
      media: xilinx: csi2rxss: Drop comment blocks for subdev op handlers
      media: v4l2-subdev: Fix references to pad config
      media: qcom: camss: Fix references to pad config
      media: ti: omap3isp: Fix references to pad config
      media: ti: omap4iss: Fix references to pad config
      media: i2c: Fix references to pad config

Sakari Ailus (19):
      media: ccs: Ensure control handlers have been set up after probe
      media: ivsc: csi: Don't parse remote endpoints
      media: ivsc: csi: Clean up V4L2 async notifier on error
      media: ivsc: csi: Clean up notifier set-up
      media: ivsc: csi: Clean up parsing firmware and setting up async notifier
      media: ivsc: csi: Don't mask v4l2_fwnode_endpoint_parse return value
      media: ivsc: csi: Check number of lanes on source, too
      media: ccs: Print ireal and float limits converted to integers
      media: imx319: Enable runtime PM before registering async sub-device
      media: Documentation: Initialisation finishes before subdev registration
      media: v4l: subdev: Store the sub-device in the sub-device state
      media: v4l: subdev: Also return pads array information on stream functions
      media: v4l: subdev: Rename sub-device state information access functions
      media: v4l: subdev: v4l2_subdev_state_get_format always returns format now
      media: v4l: subdev: Make stream argument optional in state access functions
      media: v4l: subdev: Always compile sub-device state access functions
      media: v4l: subdev: Switch to stream-aware state functions
      media: v4l: subdev: Remove stream-unaware sub-device state access
      media: v4l: subdev: Return NULL from pad access functions on error

 Documentation/driver-api/media/camera-sensor.rst   |   3 +-
 Documentation/driver-api/media/v4l2-subdev.rst     |  11 +-
 drivers/media/i2c/adv7180.c                        |   4 +-
 drivers/media/i2c/adv7183.c                        |   2 +-
 drivers/media/i2c/adv748x/adv748x-afe.c            |   6 +-
 drivers/media/i2c/adv748x/adv748x-csi2.c           |   2 +-
 drivers/media/i2c/adv748x/adv748x-hdmi.c           |   6 +-
 drivers/media/i2c/adv7511-v4l2.c                   |   4 +-
 drivers/media/i2c/adv7604.c                        |   4 +-
 drivers/media/i2c/adv7842.c                        |   4 +-
 drivers/media/i2c/ar0521.c                         |   5 +-
 drivers/media/i2c/ccs/ccs-core.c                   |  44 ++--
 drivers/media/i2c/ccs/ccs.h                        |   1 +
 drivers/media/i2c/ds90ub913.c                      |   3 +-
 drivers/media/i2c/ds90ub953.c                      |   3 +-
 drivers/media/i2c/ds90ub960.c                      |  12 +-
 drivers/media/i2c/et8ek8/et8ek8_driver.c           |   3 +-
 drivers/media/i2c/hi556.c                          |  13 +-
 drivers/media/i2c/hi846.c                          |  11 +-
 drivers/media/i2c/hi847.c                          |   9 +-
 drivers/media/i2c/imx208.c                         |   9 +-
 drivers/media/i2c/imx214.c                         |   4 +-
 drivers/media/i2c/imx219.c                         |  12 +-
 drivers/media/i2c/imx258.c                         |   9 +-
 drivers/media/i2c/imx274.c                         |  12 +-
 drivers/media/i2c/imx290.c                         |   8 +-
 drivers/media/i2c/imx296.c                         |  18 +-
 drivers/media/i2c/imx319.c                         |  19 +-
 drivers/media/i2c/imx334.c                         |  12 +-
 drivers/media/i2c/imx335.c                         |  12 +-
 drivers/media/i2c/imx355.c                         |   7 +-
 drivers/media/i2c/imx412.c                         |  12 +-
 drivers/media/i2c/imx415.c                         |   6 +-
 drivers/media/i2c/isl7998x.c                       |   6 +-
 drivers/media/i2c/max9286.c                        |   4 +-
 drivers/media/i2c/mt9m001.c                        |   6 +-
 drivers/media/i2c/mt9m111.c                        |   6 +-
 drivers/media/i2c/mt9m114.c                        |  58 +++---
 drivers/media/i2c/mt9p031.c                        |   6 +-
 drivers/media/i2c/mt9t112.c                        |   2 +-
 drivers/media/i2c/mt9v011.c                        |   2 +-
 drivers/media/i2c/mt9v032.c                        |  10 +-
 drivers/media/i2c/mt9v111.c                        |   4 +-
 drivers/media/i2c/og01a1b.c                        |  10 +-
 drivers/media/i2c/ov01a10.c                        |   2 +-
 drivers/media/i2c/ov02a10.c                        |   6 +-
 drivers/media/i2c/ov08d10.c                        |   9 +-
 drivers/media/i2c/ov08x40.c                        |   7 +-
 drivers/media/i2c/ov13858.c                        |  10 +-
 drivers/media/i2c/ov13b10.c                        |  10 +-
 drivers/media/i2c/ov2640.c                         |   6 +-
 drivers/media/i2c/ov2659.c                         |   6 +-
 drivers/media/i2c/ov2680.c                         |  10 +-
 drivers/media/i2c/ov2685.c                         |   4 +-
 drivers/media/i2c/ov2740.c                         |   4 +-
 drivers/media/i2c/ov4689.c                         |   2 +-
 drivers/media/i2c/ov5640.c                         |   9 +-
 drivers/media/i2c/ov5645.c                         |   4 +-
 drivers/media/i2c/ov5647.c                         |  12 +-
 drivers/media/i2c/ov5648.c                         |   6 +-
 drivers/media/i2c/ov5670.c                         |  13 +-
 drivers/media/i2c/ov5675.c                         |   9 +-
 drivers/media/i2c/ov5693.c                         |   4 +-
 drivers/media/i2c/ov5695.c                         |   8 +-
 drivers/media/i2c/ov6650.c                         |  34 ++--
 drivers/media/i2c/ov7251.c                         |   4 +-
 drivers/media/i2c/ov7670.c                         |   7 +-
 drivers/media/i2c/ov772x.c                         |   2 +-
 drivers/media/i2c/ov7740.c                         |   7 +-
 drivers/media/i2c/ov8856.c                         |   9 +-
 drivers/media/i2c/ov8858.c                         |   6 +-
 drivers/media/i2c/ov8865.c                         |   8 +-
 drivers/media/i2c/ov9282.c                         |  14 +-
 drivers/media/i2c/ov9640.c                         |   2 +-
 drivers/media/i2c/ov9650.c                         |   7 +-
 drivers/media/i2c/ov9734.c                         |   9 +-
 drivers/media/i2c/rj54n1cb0c.c                     |   2 +-
 drivers/media/i2c/s5c73m3/s5c73m3-core.c           |  37 ++--
 drivers/media/i2c/s5k5baf.c                        |  35 ++--
 drivers/media/i2c/s5k6a3.c                         |   8 +-
 drivers/media/i2c/saa6752hs.c                      |   2 +-
 drivers/media/i2c/st-mipid02.c                     |  11 +-
 drivers/media/i2c/st-vgxy61.c                      |   5 +-
 drivers/media/i2c/tc358746.c                       |  12 +-
 drivers/media/i2c/tda1997x.c                       |   6 +-
 drivers/media/i2c/tvp5150.c                        |   2 +-
 drivers/media/i2c/tvp7002.c                        |   6 +-
 drivers/media/i2c/tw9910.c                         |   2 +-
 drivers/media/pci/intel/ipu3/ipu3-cio2.c           |  24 +--
 drivers/media/pci/intel/ivsc/mei_csi.c             |  73 ++++---
 drivers/media/platform/atmel/atmel-isi.c           |  12 +-
 drivers/media/platform/cadence/cdns-csi2rx.c       |   4 +-
 drivers/media/platform/cadence/cdns-csi2tx.c       |   3 +-
 .../media/platform/microchip/microchip-csi2dc.c    |  15 +-
 .../media/platform/microchip/microchip-isc-base.c  |  10 +-
 .../platform/microchip/microchip-isc-scaler.c      |  16 +-
 drivers/media/platform/nxp/imx-mipi-csis.c         |  10 +-
 drivers/media/platform/nxp/imx7-media-csi.c        |  16 +-
 .../platform/nxp/imx8-isi/imx8-isi-crossbar.c      |  10 +-
 .../media/platform/nxp/imx8-isi/imx8-isi-pipe.c    |  18 +-
 .../media/platform/nxp/imx8-isi/imx8-isi-video.c   |   2 +-
 drivers/media/platform/nxp/imx8mq-mipi-csi2.c      |  13 +-
 drivers/media/platform/qcom/camss/camss-csid.c     |  15 +-
 drivers/media/platform/qcom/camss/camss-csiphy.c   |  15 +-
 drivers/media/platform/qcom/camss/camss-ispif.c    |  15 +-
 drivers/media/platform/qcom/camss/camss-vfe.c      |  34 ++--
 drivers/media/platform/renesas/rcar-isp.c          |   4 +-
 .../media/platform/renesas/rcar-vin/rcar-csi2.c    |   4 +-
 .../media/platform/renesas/rzg2l-cru/rzg2l-csi2.c  |   6 +-
 .../media/platform/renesas/rzg2l-cru/rzg2l-ip.c    |   6 +-
 drivers/media/platform/renesas/vsp1/vsp1_brx.c     |   2 +-
 drivers/media/platform/renesas/vsp1/vsp1_entity.c  |   8 +-
 drivers/media/platform/renesas/vsp1/vsp1_rwpf.c    |   3 +-
 .../media/platform/rockchip/rkisp1/rkisp1-csi.c    |  16 +-
 .../media/platform/rockchip/rkisp1/rkisp1-isp.c    | 103 +++++-----
 .../platform/rockchip/rkisp1/rkisp1-resizer.c      |  53 ++---
 .../platform/samsung/exynos4-is/fimc-capture.c     |  12 +-
 .../media/platform/samsung/exynos4-is/fimc-isp.c   |  24 +--
 .../media/platform/samsung/exynos4-is/fimc-lite.c  |  16 +-
 .../media/platform/samsung/exynos4-is/mipi-csis.c  |   3 +-
 .../platform/samsung/s3c-camif/camif-capture.c     |   8 +-
 .../media/platform/sunxi/sun4i-csi/sun4i_v4l2.c    |   8 +-
 .../platform/sunxi/sun6i-csi/sun6i_csi_bridge.c    |   8 +-
 .../sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c        |   8 +-
 .../sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c    |   8 +-
 drivers/media/platform/ti/cal/cal-camerarx.c       |  18 +-
 drivers/media/platform/ti/cal/cal-video.c          |   2 +-
 drivers/media/platform/ti/omap3isp/ispccdc.c       |  19 +-
 drivers/media/platform/ti/omap3isp/ispccp2.c       |  13 +-
 drivers/media/platform/ti/omap3isp/ispcsi2.c       |   9 +-
 drivers/media/platform/ti/omap3isp/isppreview.c    |  18 +-
 drivers/media/platform/ti/omap3isp/ispresizer.c    |  21 +-
 drivers/media/platform/video-mux.c                 |  18 +-
 drivers/media/platform/xilinx/xilinx-csi2rxss.c    |  64 +-----
 drivers/media/platform/xilinx/xilinx-tpg.c         |   9 +-
 drivers/media/platform/xilinx/xilinx-vip.c         |   4 +-
 drivers/media/test-drivers/vimc/vimc-debayer.c     |  10 +-
 drivers/media/test-drivers/vimc/vimc-scaler.c      |   9 +-
 drivers/media/test-drivers/vimc/vimc-sensor.c      |   6 +-
 drivers/media/v4l2-core/v4l2-subdev.c              | 181 ++++++++++-------
 drivers/staging/media/atomisp/i2c/atomisp-gc0310.c |   2 +-
 drivers/staging/media/atomisp/i2c/atomisp-gc2235.c |   2 +-
 .../staging/media/atomisp/i2c/atomisp-mt9m114.c    |   2 +-
 drivers/staging/media/atomisp/i2c/atomisp-ov2722.c |   2 +-
 drivers/staging/media/atomisp/pci/atomisp_csi2.c   |   3 +-
 drivers/staging/media/atomisp/pci/atomisp_subdev.c |   6 +-
 drivers/staging/media/atomisp/pci/atomisp_tpg.c    |   2 +-
 .../media/deprecated/atmel/atmel-isc-base.c        |  10 +-
 drivers/staging/media/imx/imx-ic-prp.c             |   4 +-
 drivers/staging/media/imx/imx-ic-prpencvf.c        |   4 +-
 drivers/staging/media/imx/imx-media-csi.c          |   8 +-
 drivers/staging/media/imx/imx-media-utils.c        |   2 +-
 drivers/staging/media/imx/imx-media-vdic.c         |   2 +-
 drivers/staging/media/imx/imx6-mipi-csi2.c         |   2 +-
 drivers/staging/media/ipu3/ipu3-v4l2.c             |  14 +-
 drivers/staging/media/omap4iss/iss_csi2.c          |   9 +-
 drivers/staging/media/omap4iss/iss_ipipe.c         |  11 +-
 drivers/staging/media/omap4iss/iss_ipipeif.c       |  11 +-
 drivers/staging/media/omap4iss/iss_resizer.c       |  11 +-
 .../staging/media/sunxi/sun6i-isp/sun6i_isp_proc.c |   8 +-
 drivers/staging/media/tegra-video/vi.c             |  14 +-
 include/media/v4l2-subdev.h                        | 222 ++++++++-------------
 include/uapi/linux/v4l2-subdev.h                   |   2 +-
 163 files changed, 1005 insertions(+), 1136 deletions(-)

Comments

Jenkins Nov. 13, 2023, 12:02 a.m. UTC | #1
From: builder@linuxtv.org

Pull request: https://patchwork.linuxtv.org/project/linux-media/patch/ZVEyCfzm4ninES6K@valkosipuli.retiisi.eu/
Build log: https://builder.linuxtv.org/job/patchwork/356483/
Build time: 00:39:41
Link: https://lore.kernel.org/linux-media/ZVEyCfzm4ninES6K@valkosipuli.retiisi.eu

gpg: Signature made Sun 12 Nov 2023 08:11:45 PM UTC
gpg:                using DSA key 53AC58A5F5948636C04A1BF8141DFA54A1EC8DEA
gpg:                issuer "sakari.ailus@linux.intel.com"
gpg: Good signature from "Sakari Ailus <sakari.ailus@linux.intel.com>" [full]

Summary: got 12/35 patches with issues, being 12 at build time

Error/warnings:

patches/0001-media-ccs-Ensure-control-handlers-have-been-set-up-a.patch:

    allyesconfig: return code #0:
	../scripts/genksyms/parse.y: warning: 9 shift/reduce conflicts [-Wconflicts-sr]
	../scripts/genksyms/parse.y: warning: 5 reduce/reduce conflicts [-Wconflicts-rr]
	../scripts/genksyms/parse.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples

    allyesconfig: return code #0:
	SMATCH:../drivers/media/usb/siano/smsusb.c ../drivers/media/usb/siano/smsusb.c:53:38: :warning: array of flexible structures
	../drivers/media/usb/uvc/uvc_v4l2.c: note: in included file (through ../arch/x86/include/asm/uaccess.h, ../include/linux/uaccess.h, ../include/linux/sched/task.h, ../include/linux/sched/signal.h, ../include/linux/rcuwait.h, ...):
	SPARSE:../drivers/media/usb/uvc/uvc_v4l2.c ../arch/x86/include/asm/uaccess_64.h:88:24: warning: cast removes address space '__user' of expression
	../drivers/media/i2c/ov5645.c: ../drivers/media/i2c/ov5645.c:687 ov5645_set_power_on() warn: 'ov5645->xclk' from clk_prepare_enable() not released on lines: 687.
	../drivers/media/pci/cx25821/cx25821-medusa-video.c: ../drivers/media/pci/cx25821/cx25821-medusa-video.c:399 medusa_set_videostandard() parse error: OOM: 3003988Kb sm_state_count = 2158
	../drivers/media/pci/cx25821/cx25821-medusa-video.c: ../drivers/media/pci/cx25821/cx25821-medusa-video.c:399 medusa_set_videostandard() parse error: __split_smt: function too hairy.  Giving up after 3 seconds
	../drivers/media/pci/cx23885/cx23885-dvb.c: ../drivers/media/pci/cx23885/cx23885-dvb.c:2517 dvb_register() parse error: OOM: 3014568Kb sm_state_count = 1757213
	../drivers/media/pci/cx23885/cx23885-dvb.c: ../drivers/media/pci/cx23885/cx23885-dvb.c:2517 dvb_register() parse error: __split_smt: function too hairy.  Giving up after 59 seconds
	../drivers/media/test-drivers/vivid/vivid-core.c: ../drivers/media/test-drivers/vivid/vivid-core.c:1974 vivid_create_instance() parse error: turning off implications after 60 seconds
	../drivers/media/pci/ivtv/ivtvfb.c: note: in included file (through ../arch/x86/include/asm/uaccess.h, ../include/linux/uaccess.h, ../include/linux/sched/task.h, ../include/linux/sched/signal.h, ../drivers/media/pci/ivtv/ivtv-driver.h):
	SPARSE:../drivers/media/pci/ivtv/ivtvfb.c ../arch/x86/include/asm/uaccess_64.h:88:24: warning: cast removes address space '__user' of expression
	../drivers/media/usb/em28xx/em28xx-video.c: ../drivers/media/usb/em28xx/em28xx-video.c:2831 em28xx_v4l2_init() parse error: turning off implications after 60 seconds

patches/0002-media-v4l2-subdev-Fix-indentation-in-v4l2-subdev.h.patch:

    allyesconfig: return code #0:
	../drivers/media/pci/cx23885/cx23885-dvb.c: ../drivers/media/pci/cx23885/cx23885-dvb.c:2517 dvb_register() parse error: OOM: 3014564Kb sm_state_count = 1757213
	../drivers/media/pci/cx23885/cx23885-dvb.c: ../drivers/media/pci/cx23885/cx23885-dvb.c:2517 dvb_register() parse error: __split_smt: function too hairy.  Giving up after 54 seconds
	../drivers/media/pci/cx25821/cx25821-medusa-video.c: ../drivers/media/pci/cx25821/cx25821-medusa-video.c:399 medusa_set_videostandard() parse error: OOM: 3003988Kb sm_state_count = 2158
	../drivers/media/pci/cx25821/cx25821-medusa-video.c: ../drivers/media/pci/cx25821/cx25821-medusa-video.c:399 medusa_set_videostandard() parse error: __split_smt: function too hairy.  Giving up after 5 seconds
	../drivers/media/usb/uvc/uvc_v4l2.c: note: in included file (through ../arch/x86/include/asm/uaccess.h, ../include/linux/uaccess.h, ../include/linux/sched/task.h, ../include/linux/sched/signal.h, ../include/linux/rcuwait.h, ...):
	SPARSE:../drivers/media/usb/uvc/uvc_v4l2.c ../arch/x86/include/asm/uaccess_64.h:88:24: warning: cast removes address space '__user' of expression
	../drivers/media/i2c/ov5645.c: ../drivers/media/i2c/ov5645.c:687 ov5645_set_power_on() warn: 'ov5645->xclk' from clk_prepare_enable() not released on lines: 687.
	../drivers/media/pci/ivtv/ivtvfb.c: note: in included file (through ../arch/x86/include/asm/uaccess.h, ../include/linux/uaccess.h, ../include/linux/sched/task.h, ../include/linux/sched/signal.h, ../drivers/media/pci/ivtv/ivtv-driver.h):
	SPARSE:../drivers/media/pci/ivtv/ivtvfb.c ../arch/x86/include/asm/uaccess_64.h:88:24: warning: cast removes address space '__user' of expression
	../drivers/media/usb/em28xx/em28xx-video.c: ../drivers/media/usb/em28xx/em28xx-video.c:2831 em28xx_v4l2_init() parse error: turning off implications after 60 seconds

patches/0015-media-v4l2-subdev-Rename-pad-config-try_-fields.patch:

    allyesconfig: return code #0:
	../drivers/media/usb/uvc/uvc_v4l2.c: note: in included file (through ../arch/x86/include/asm/uaccess.h, ../include/linux/uaccess.h, ../include/linux/sched/task.h, ../include/linux/sched/signal.h, ../include/linux/rcuwait.h, ...):
	SPARSE:../drivers/media/usb/uvc/uvc_v4l2.c ../arch/x86/include/asm/uaccess_64.h:88:24: warning: cast removes address space '__user' of expression
	../drivers/media/pci/cx25821/cx25821-medusa-video.c: ../drivers/media/pci/cx25821/cx25821-medusa-video.c:399 medusa_set_videostandard() parse error: OOM: 3003988Kb sm_state_count = 2158
	../drivers/media/pci/cx25821/cx25821-medusa-video.c: ../drivers/media/pci/cx25821/cx25821-medusa-video.c:399 medusa_set_videostandard() parse error: __split_smt: function too hairy.  Giving up after 5 seconds
	../drivers/media/pci/cx23885/cx23885-dvb.c: ../drivers/media/pci/cx23885/cx23885-dvb.c:2260 dvb_register() parse error: turning off implications after 60 seconds
	../drivers/media/pci/cx23885/cx23885-dvb.c: ../drivers/media/pci/cx23885/cx23885-dvb.c:2517 dvb_register() parse error: OOM: 3013300Kb sm_state_count = 1753838
	../drivers/media/pci/cx23885/cx23885-dvb.c: ../drivers/media/pci/cx23885/cx23885-dvb.c:2517 dvb_register() parse error: __split_smt: function too hairy.  Giving up after 70 seconds
	../drivers/media/usb/em28xx/em28xx-video.c: ../drivers/media/usb/em28xx/em28xx-video.c:2810 em28xx_v4l2_init() parse error: turning off implications after 60 seconds
	../drivers/media/pci/ivtv/ivtvfb.c: note: in included file (through ../arch/x86/include/asm/uaccess.h, ../include/linux/uaccess.h, ../include/linux/sched/task.h, ../include/linux/sched/signal.h, ../drivers/media/pci/ivtv/ivtv-driver.h):
	SPARSE:../drivers/media/pci/ivtv/ivtvfb.c ../arch/x86/include/asm/uaccess_64.h:88:24: warning: cast removes address space '__user' of expression
	../drivers/media/test-drivers/vivid/vivid-core.c: ../drivers/media/test-drivers/vivid/vivid-core.c:1974 vivid_create_instance() parse error: turning off implications after 60 seconds
	../drivers/media/i2c/ov5645.c: ../drivers/media/i2c/ov5645.c:687 ov5645_set_power_on() warn: 'ov5645->xclk' from clk_prepare_enable() not released on lines: 687.

patches/0016-media-v4l2-subdev-Drop-outdated-comment-for-v4l2_sub.patch:

    allyesconfig: return code #0:
	../drivers/media/test-drivers/vivid/vivid-core.c: ../drivers/media/test-drivers/vivid/vivid-core.c:1974 vivid_create_instance() parse error: turning off implications after 60 seconds
	../drivers/media/pci/cx25821/cx25821-medusa-video.c: ../drivers/media/pci/cx25821/cx25821-medusa-video.c:399 medusa_set_videostandard() parse error: OOM: 3003988Kb sm_state_count = 2158
	../drivers/media/pci/cx25821/cx25821-medusa-video.c: ../drivers/media/pci/cx25821/cx25821-medusa-video.c:399 medusa_set_videostandard() parse error: __split_smt: function too hairy.  Giving up after 6 seconds
	../drivers/media/usb/uvc/uvc_v4l2.c: note: in included file (through ../arch/x86/include/asm/uaccess.h, ../include/linux/uaccess.h, ../include/linux/sched/task.h, ../include/linux/sched/signal.h, ../include/linux/rcuwait.h, ...):
	SPARSE:../drivers/media/usb/uvc/uvc_v4l2.c ../arch/x86/include/asm/uaccess_64.h:88:24: warning: cast removes address space '__user' of expression
	../drivers/media/pci/cx23885/cx23885-dvb.c: ../drivers/media/pci/cx23885/cx23885-dvb.c:2211 dvb_register() parse error: turning off implications after 60 seconds
	../drivers/media/pci/cx23885/cx23885-dvb.c: ../drivers/media/pci/cx23885/cx23885-dvb.c:2517 dvb_register() parse error: OOM: 3013204Kb sm_state_count = 1753456
	../drivers/media/pci/cx23885/cx23885-dvb.c: ../drivers/media/pci/cx23885/cx23885-dvb.c:2517 dvb_register() parse error: __split_smt: function too hairy.  Giving up after 76 seconds
	../drivers/media/i2c/ov5645.c: ../drivers/media/i2c/ov5645.c:687 ov5645_set_power_on() warn: 'ov5645->xclk' from clk_prepare_enable() not released on lines: 687.
	../drivers/media/usb/em28xx/em28xx-video.c: ../drivers/media/usb/em28xx/em28xx-video.c:2804 em28xx_v4l2_init() parse error: turning off implications after 60 seconds
	../drivers/media/pci/ivtv/ivtvfb.c: note: in included file (through ../arch/x86/include/asm/uaccess.h, ../include/linux/uaccess.h, ../include/linux/sched/task.h, ../include/linux/sched/signal.h, ../drivers/media/pci/ivtv/ivtv-driver.h):
	SPARSE:../drivers/media/pci/ivtv/ivtvfb.c ../arch/x86/include/asm/uaccess_64.h:88:24: warning: cast removes address space '__user' of expression

patches/0022-media-v4l2-subdev-Fix-references-to-pad-config.patch:

    allyesconfig: return code #0:
	../drivers/media/test-drivers/vivid/vivid-core.c: ../drivers/media/test-drivers/vivid/vivid-core.c:1974 vivid_create_instance() parse error: turning off implications after 60 seconds
	../drivers/media/pci/cx23885/cx23885-dvb.c: ../drivers/media/pci/cx23885/cx23885-dvb.c:2344 dvb_register() parse error: turning off implications after 60 seconds
	../drivers/media/pci/cx23885/cx23885-dvb.c: ../drivers/media/pci/cx23885/cx23885-dvb.c:2517 dvb_register() parse error: OOM: 3013612Kb sm_state_count = 1754723
	../drivers/media/pci/cx23885/cx23885-dvb.c: ../drivers/media/pci/cx23885/cx23885-dvb.c:2517 dvb_register() parse error: __split_smt: function too hairy.  Giving up after 68 seconds
	../drivers/media/pci/cx25821/cx25821-medusa-video.c: ../drivers/media/pci/cx25821/cx25821-medusa-video.c:399 medusa_set_videostandard() parse error: OOM: 3003988Kb sm_state_count = 2158
	../drivers/media/pci/cx25821/cx25821-medusa-video.c: ../drivers/media/pci/cx25821/cx25821-medusa-video.c:399 medusa_set_videostandard() parse error: __split_smt: function too hairy.  Giving up after 6 seconds
	../drivers/media/usb/uvc/uvc_v4l2.c: note: in included file (through ../arch/x86/include/asm/uaccess.h, ../include/linux/uaccess.h, ../include/linux/sched/task.h, ../include/linux/sched/signal.h, ../include/linux/rcuwait.h, ...):
	SPARSE:../drivers/media/usb/uvc/uvc_v4l2.c ../arch/x86/include/asm/uaccess_64.h:88:24: warning: cast removes address space '__user' of expression
	../drivers/media/i2c/ov5645.c: ../drivers/media/i2c/ov5645.c:687 ov5645_set_power_on() warn: 'ov5645->xclk' from clk_prepare_enable() not released on lines: 687.
	../drivers/media/pci/ivtv/ivtvfb.c: note: in included file (through ../arch/x86/include/asm/uaccess.h, ../include/linux/uaccess.h, ../include/linux/sched/task.h, ../include/linux/sched/signal.h, ../drivers/media/pci/ivtv/ivtv-driver.h):
	SPARSE:../drivers/media/pci/ivtv/ivtvfb.c ../arch/x86/include/asm/uaccess_64.h:88:24: warning: cast removes address space '__user' of expression
	../drivers/media/usb/em28xx/em28xx-video.c: ../drivers/media/usb/em28xx/em28xx-video.c:2818 em28xx_v4l2_init() parse error: turning off implications after 60 seconds

patches/0027-media-v4l-subdev-Store-the-sub-device-in-the-sub-dev.patch:

    allyesconfig: return code #0:
	../drivers/media/usb/uvc/uvc_v4l2.c: note: in included file (through ../arch/x86/include/asm/uaccess.h, ../include/linux/uaccess.h, ../include/linux/sched/task.h, ../include/linux/sched/signal.h, ../include/linux/rcuwait.h, ...):
	SPARSE:../drivers/media/usb/uvc/uvc_v4l2.c ../arch/x86/include/asm/uaccess_64.h:88:24: warning: cast removes address space '__user' of expression
	../drivers/media/pci/cx25821/cx25821-medusa-video.c: ../drivers/media/pci/cx25821/cx25821-medusa-video.c:399 medusa_set_videostandard() parse error: OOM: 3003988Kb sm_state_count = 2158
	../drivers/media/pci/cx25821/cx25821-medusa-video.c: ../drivers/media/pci/cx25821/cx25821-medusa-video.c:399 medusa_set_videostandard() parse error: __split_smt: function too hairy.  Giving up after 5 seconds
	../drivers/media/pci/cx23885/cx23885-dvb.c: ../drivers/media/pci/cx23885/cx23885-dvb.c:2401 dvb_register() parse error: turning off implications after 60 seconds
	../drivers/media/pci/cx23885/cx23885-dvb.c: ../drivers/media/pci/cx23885/cx23885-dvb.c:2517 dvb_register() parse error: OOM: 3013924Kb sm_state_count = 1755525
	../drivers/media/pci/cx23885/cx23885-dvb.c: ../drivers/media/pci/cx23885/cx23885-dvb.c:2517 dvb_register() parse error: __split_smt: function too hairy.  Giving up after 66 seconds
	../drivers/media/pci/ivtv/ivtvfb.c: note: in included file (through ../arch/x86/include/asm/uaccess.h, ../include/linux/uaccess.h, ../include/linux/sched/task.h, ../include/linux/sched/signal.h, ../drivers/media/pci/ivtv/ivtv-driver.h):
	SPARSE:../drivers/media/pci/ivtv/ivtvfb.c ../arch/x86/include/asm/uaccess_64.h:88:24: warning: cast removes address space '__user' of expression
	../drivers/media/i2c/ov5645.c: ../drivers/media/i2c/ov5645.c:687 ov5645_set_power_on() warn: 'ov5645->xclk' from clk_prepare_enable() not released on lines: 687.
	../drivers/media/usb/em28xx/em28xx-video.c: ../drivers/media/usb/em28xx/em28xx-video.c:2831 em28xx_v4l2_init() parse error: turning off implications after 60 seconds
	../drivers/media/test-drivers/vivid/vivid-core.c: ../drivers/media/test-drivers/vivid/vivid-core.c:1974 vivid_create_instance() parse error: turning off implications after 60 seconds

patches/0028-media-v4l-subdev-Also-return-pads-array-information-.patch:

    allyesconfig: return code #0:
	../drivers/media/i2c/ov5645.c: ../drivers/media/i2c/ov5645.c:687 ov5645_set_power_on() warn: 'ov5645->xclk' from clk_prepare_enable() not released on lines: 687.
	../drivers/media/usb/uvc/uvc_v4l2.c: note: in included file (through ../arch/x86/include/asm/uaccess.h, ../include/linux/uaccess.h, ../include/linux/sched/task.h, ../include/linux/sched/signal.h, ../include/linux/rcuwait.h, ...):
	SPARSE:../drivers/media/usb/uvc/uvc_v4l2.c ../arch/x86/include/asm/uaccess_64.h:88:24: warning: cast removes address space '__user' of expression
	../drivers/media/pci/cx23885/cx23885-dvb.c: ../drivers/media/pci/cx23885/cx23885-dvb.c:2362 dvb_register() parse error: turning off implications after 60 seconds
	../drivers/media/pci/cx23885/cx23885-dvb.c: ../drivers/media/pci/cx23885/cx23885-dvb.c:2517 dvb_register() parse error: OOM: 3013640Kb sm_state_count = 1754806
	../drivers/media/pci/cx23885/cx23885-dvb.c: ../drivers/media/pci/cx23885/cx23885-dvb.c:2517 dvb_register() parse error: __split_smt: function too hairy.  Giving up after 69 seconds
	../drivers/media/pci/cx25821/cx25821-medusa-video.c: ../drivers/media/pci/cx25821/cx25821-medusa-video.c:399 medusa_set_videostandard() parse error: OOM: 3003988Kb sm_state_count = 2158
	../drivers/media/pci/cx25821/cx25821-medusa-video.c: ../drivers/media/pci/cx25821/cx25821-medusa-video.c:399 medusa_set_videostandard() parse error: __split_smt: function too hairy.  Giving up after 6 seconds
	../drivers/media/usb/em28xx/em28xx-video.c: ../drivers/media/usb/em28xx/em28xx-video.c:2818 em28xx_v4l2_init() parse error: turning off implications after 60 seconds
	../drivers/media/pci/ivtv/ivtvfb.c: note: in included file (through ../arch/x86/include/asm/uaccess.h, ../include/linux/uaccess.h, ../include/linux/sched/task.h, ../include/linux/sched/signal.h, ../drivers/media/pci/ivtv/ivtv-driver.h):
	SPARSE:../drivers/media/pci/ivtv/ivtvfb.c ../arch/x86/include/asm/uaccess_64.h:88:24: warning: cast removes address space '__user' of expression
	../drivers/media/test-drivers/vivid/vivid-core.c: ../drivers/media/test-drivers/vivid/vivid-core.c:1974 vivid_create_instance() parse error: turning off implications after 60 seconds

patches/0029-media-v4l-subdev-Rename-sub-device-state-information.patch:

    allyesconfig: return code #0:
	../drivers/media/usb/uvc/uvc_v4l2.c: note: in included file (through ../arch/x86/include/asm/uaccess.h, ../include/linux/uaccess.h, ../include/linux/sched/task.h, ../include/linux/sched/signal.h, ../include/linux/rcuwait.h, ...):
	SPARSE:../drivers/media/usb/uvc/uvc_v4l2.c ../arch/x86/include/asm/uaccess_64.h:88:24: warning: cast removes address space '__user' of expression
	../drivers/media/pci/cx23885/cx23885-dvb.c: ../drivers/media/pci/cx23885/cx23885-dvb.c:2229 dvb_register() parse error: turning off implications after 60 seconds
	../drivers/media/pci/cx23885/cx23885-dvb.c: ../drivers/media/pci/cx23885/cx23885-dvb.c:2517 dvb_register() parse error: OOM: 3013268Kb sm_state_count = 1753539
	../drivers/media/pci/cx23885/cx23885-dvb.c: ../drivers/media/pci/cx23885/cx23885-dvb.c:2517 dvb_register() parse error: __split_smt: function too hairy.  Giving up after 74 seconds
	../drivers/media/test-drivers/vivid/vivid-core.c: ../drivers/media/test-drivers/vivid/vivid-core.c:1974 vivid_create_instance() parse error: turning off implications after 60 seconds
	../drivers/media/i2c/ov5645.c: ../drivers/media/i2c/ov5645.c:687 ov5645_set_power_on() warn: 'ov5645->xclk' from clk_prepare_enable() not released on lines: 687.
	../drivers/media/pci/cx25821/cx25821-medusa-video.c: ../drivers/media/pci/cx25821/cx25821-medusa-video.c:399 medusa_set_videostandard() parse error: OOM: 3003988Kb sm_state_count = 2158
	../drivers/media/pci/cx25821/cx25821-medusa-video.c: ../drivers/media/pci/cx25821/cx25821-medusa-video.c:399 medusa_set_videostandard() parse error: __split_smt: function too hairy.  Giving up after 4 seconds
	../drivers/media/usb/em28xx/em28xx-video.c: ../drivers/media/usb/em28xx/em28xx-video.c:2831 em28xx_v4l2_init() parse error: turning off implications after 60 seconds
	../drivers/media/pci/ivtv/ivtvfb.c: note: in included file (through ../arch/x86/include/asm/uaccess.h, ../include/linux/uaccess.h, ../include/linux/sched/task.h, ../include/linux/sched/signal.h, ../drivers/media/pci/ivtv/ivtv-driver.h):
	SPARSE:../drivers/media/pci/ivtv/ivtvfb.c ../arch/x86/include/asm/uaccess_64.h:88:24: warning: cast removes address space '__user' of expression

patches/0031-media-v4l-subdev-Make-stream-argument-optional-in-st.patch:

    allyesconfig: return code #0:
	../drivers/media/i2c/ov5645.c: ../drivers/media/i2c/ov5645.c:687 ov5645_set_power_on() warn: 'ov5645->xclk' from clk_prepare_enable() not released on lines: 687.
	../drivers/media/usb/uvc/uvc_v4l2.c: note: in included file (through ../arch/x86/include/asm/uaccess.h, ../include/linux/uaccess.h, ../include/linux/sched/task.h, ../include/linux/sched/signal.h, ../include/linux/rcuwait.h, ...):
	SPARSE:../drivers/media/usb/uvc/uvc_v4l2.c ../arch/x86/include/asm/uaccess_64.h:88:24: warning: cast removes address space '__user' of expression
	../drivers/media/test-drivers/vivid/vivid-core.c: ../drivers/media/test-drivers/vivid/vivid-core.c:1974 vivid_create_instance() parse error: turning off implications after 60 seconds
	../drivers/media/pci/cx25821/cx25821-medusa-video.c: ../drivers/media/pci/cx25821/cx25821-medusa-video.c:399 medusa_set_videostandard() parse error: OOM: 3003996Kb sm_state_count = 2158
	../drivers/media/pci/cx25821/cx25821-medusa-video.c: ../drivers/media/pci/cx25821/cx25821-medusa-video.c:399 medusa_set_videostandard() parse error: __split_smt: function too hairy.  Giving up after 7 seconds
	../drivers/media/usb/em28xx/em28xx-video.c: ../drivers/media/usb/em28xx/em28xx-video.c:2818 em28xx_v4l2_init() parse error: turning off implications after 60 seconds
	../drivers/media/pci/cx23885/cx23885-dvb.c: ../drivers/media/pci/cx23885/cx23885-dvb.c:2193 dvb_register() parse error: turning off implications after 60 seconds
	../drivers/media/pci/cx23885/cx23885-dvb.c: ../drivers/media/pci/cx23885/cx23885-dvb.c:2517 dvb_register() parse error: OOM: 3013172Kb sm_state_count = 1753373
	../drivers/media/pci/cx23885/cx23885-dvb.c: ../drivers/media/pci/cx23885/cx23885-dvb.c:2517 dvb_register() parse error: __split_smt: function too hairy.  Giving up after 79 seconds
	../drivers/media/pci/ivtv/ivtvfb.c: note: in included file (through ../arch/x86/include/asm/uaccess.h, ../include/linux/uaccess.h, ../include/linux/sched/task.h, ../include/linux/sched/signal.h, ../drivers/media/pci/ivtv/ivtv-driver.h):
	SPARSE:../drivers/media/pci/ivtv/ivtvfb.c ../arch/x86/include/asm/uaccess_64.h:88:24: warning: cast removes address space '__user' of expression

   checkpatch.pl:
	$ cat patches/0031-media-v4l-subdev-Make-stream-argument-optional-in-st.patch | formail -c | ./scripts/checkpatch.pl --terse --mailback --no-summary --strict
	-:112: ERROR: space prohibited before that ',' (ctx:WxW)
	-:135: ERROR: space prohibited before that ',' (ctx:WxW)
	-:158: ERROR: space prohibited before that ',' (ctx:WxW)

patches/0032-media-v4l-subdev-Always-compile-sub-device-state-acc.patch:

    allyesconfig: return code #0:
	../drivers/media/usb/uvc/uvc_v4l2.c: note: in included file (through ../arch/x86/include/asm/uaccess.h, ../include/linux/uaccess.h, ../include/linux/sched/task.h, ../include/linux/sched/signal.h, ../include/linux/rcuwait.h, ...):
	SPARSE:../drivers/media/usb/uvc/uvc_v4l2.c ../arch/x86/include/asm/uaccess_64.h:88:24: warning: cast removes address space '__user' of expression
	../drivers/media/pci/cx25821/cx25821-medusa-video.c: ../drivers/media/pci/cx25821/cx25821-medusa-video.c:399 medusa_set_videostandard() parse error: OOM: 3003996Kb sm_state_count = 2158
	../drivers/media/pci/cx25821/cx25821-medusa-video.c: ../drivers/media/pci/cx25821/cx25821-medusa-video.c:399 medusa_set_videostandard() parse error: __split_smt: function too hairy.  Giving up after 6 seconds
	../drivers/media/usb/em28xx/em28xx-video.c: ../drivers/media/usb/em28xx/em28xx-video.c:2810 em28xx_v4l2_init() parse error: turning off implications after 60 seconds
	../drivers/media/pci/cx23885/cx23885-dvb.c: ../drivers/media/pci/cx23885/cx23885-dvb.c:2213 dvb_register() parse error: turning off implications after 60 seconds
	../drivers/media/pci/cx23885/cx23885-dvb.c: ../drivers/media/pci/cx23885/cx23885-dvb.c:2517 dvb_register() parse error: OOM: 3013272Kb sm_state_count = 1753539
	../drivers/media/pci/cx23885/cx23885-dvb.c: ../drivers/media/pci/cx23885/cx23885-dvb.c:2517 dvb_register() parse error: __split_smt: function too hairy.  Giving up after 77 seconds
	../drivers/media/i2c/ov5645.c: ../drivers/media/i2c/ov5645.c:687 ov5645_set_power_on() warn: 'ov5645->xclk' from clk_prepare_enable() not released on lines: 687.
	../drivers/media/pci/ivtv/ivtvfb.c: note: in included file (through ../arch/x86/include/asm/uaccess.h, ../include/linux/uaccess.h, ../include/linux/sched/task.h, ../include/linux/sched/signal.h, ../drivers/media/pci/ivtv/ivtv-driver.h):
	SPARSE:../drivers/media/pci/ivtv/ivtvfb.c ../arch/x86/include/asm/uaccess_64.h:88:24: warning: cast removes address space '__user' of expression
	../drivers/media/test-drivers/vivid/vivid-core.c: ../drivers/media/test-drivers/vivid/vivid-core.c:1974 vivid_create_instance() parse error: turning off implications after 60 seconds

   checkpatch.pl:
	$ cat patches/0032-media-v4l-subdev-Always-compile-sub-device-state-acc.patch | formail -c | ./scripts/checkpatch.pl --terse --mailback --no-summary --strict
	-:409: CHECK: Macro argument reuse 'route' - possible side-effects?

patches/0033-media-v4l-subdev-Switch-to-stream-aware-state-functi.patch:

    allyesconfig: return code #0:
	../drivers/media/i2c/ov5645.c: ../drivers/media/i2c/ov5645.c:687 ov5645_set_power_on() warn: 'ov5645->xclk' from clk_prepare_enable() not released on lines: 687.

   checkpatch.pl:
	$ cat patches/0033-media-v4l-subdev-Switch-to-stream-aware-state-functi.patch | formail -c | ./scripts/checkpatch.pl --terse --mailback --no-summary --strict
	-:77: WARNING: Prefer a maximum 75 chars per line (possible unwrapped commit description?)
	-:2741: WARNING: line length of 106 exceeds 100 columns

patches/0034-media-v4l-subdev-Remove-stream-unaware-sub-device-st.patch:

    allyesconfig: return code #0:
	../drivers/media/pci/cx23885/cx23885-dvb.c: ../drivers/media/pci/cx23885/cx23885-dvb.c:2260 dvb_register() parse error: turning off implications after 60 seconds
	../drivers/media/pci/cx23885/cx23885-dvb.c: ../drivers/media/pci/cx23885/cx23885-dvb.c:2517 dvb_register() parse error: OOM: 3013080Kb sm_state_count = 1753838
	../drivers/media/pci/cx23885/cx23885-dvb.c: ../drivers/media/pci/cx23885/cx23885-dvb.c:2517 dvb_register() parse error: __split_smt: function too hairy.  Giving up after 71 seconds
	../drivers/media/usb/uvc/uvc_v4l2.c: note: in included file (through ../arch/x86/include/asm/uaccess.h, ../include/linux/uaccess.h, ../include/linux/sched/task.h, ../include/linux/sched/signal.h, ../include/linux/rcuwait.h, ...):
	SPARSE:../drivers/media/usb/uvc/uvc_v4l2.c ../arch/x86/include/asm/uaccess_64.h:88:24: warning: cast removes address space '__user' of expression
	../drivers/media/pci/cx25821/cx25821-medusa-video.c: ../drivers/media/pci/cx25821/cx25821-medusa-video.c:399 medusa_set_videostandard() parse error: OOM: 3003860Kb sm_state_count = 2158
	../drivers/media/pci/cx25821/cx25821-medusa-video.c: ../drivers/media/pci/cx25821/cx25821-medusa-video.c:399 medusa_set_videostandard() parse error: __split_smt: function too hairy.  Giving up after 6 seconds
	../drivers/media/usb/em28xx/em28xx-video.c: ../drivers/media/usb/em28xx/em28xx-video.c:2831 em28xx_v4l2_init() parse error: turning off implications after 60 seconds
	../drivers/media/pci/ivtv/ivtvfb.c: note: in included file (through ../arch/x86/include/asm/uaccess.h, ../include/linux/uaccess.h, ../include/linux/sched/task.h, ../include/linux/sched/signal.h, ../drivers/media/pci/ivtv/ivtv-driver.h):
	SPARSE:../drivers/media/pci/ivtv/ivtvfb.c ../arch/x86/include/asm/uaccess_64.h:88:24: warning: cast removes address space '__user' of expression
	../drivers/media/i2c/ov5645.c: ../drivers/media/i2c/ov5645.c:687 ov5645_set_power_on() warn: 'ov5645->xclk' from clk_prepare_enable() not released on lines: 687.
	../drivers/media/test-drivers/vivid/vivid-core.c: ../drivers/media/test-drivers/vivid/vivid-core.c:1974 vivid_create_instance() parse error: turning off implications after 60 seconds
Hans Verkuil Nov. 16, 2023, 3:29 p.m. UTC | #2
Hi Sakari,

On 12/11/2023 21:14, Sakari Ailus wrote:
> Hi Mauro, Hans,
> 
> Here's a bunch of patches from myself and Laurent, cleaning up V4L2
> sub-device state information access API, drivers using it plus fixing IVSC
> driver firmware parsing and IMX319 driver. A few CCS driver fixes and
> documentation improvement are included, too.
> 
> Please pull.
> 
> since v2:
> 
> - Fix sub-device state access conditional compilation (was dependent on
>   sub-device UAPI).
> 
> since v1:
> 
> - Fix IVSC driver patch error handling.
> 
> 
> The following changes since commit 3e238417254bfdcc23fe207780b59cbb08656762:
> 
>   media: nuvoton: VIDEO_NPCM_VCD_ECE should depend on ARCH_NPCM (2023-10-27 11:44:19 +0200)
> 
> are available in the Git repository at:
> 
>   git://linuxtv.org/sailus/media_tree.git tags/for-6.8-1.2-signed
> 
> for you to fetch changes up to 61ab89c1916219ccbeca9f6cefb1680212de8d1c:
> 
>   media: v4l: subdev: Return NULL from pad access functions on error (2023-11-12 20:51:35 +0200)

As mentioned on irc, this PR no longer applies after the starfive driver
was merged.

I did a run for this PR with the starfive patches dropped, and I got a few
kerneldoc warnings:

include/media/v4l2-subdev.h:1425: warning: Excess function parameter 'state' description in 'v4l2_subdev_state_get_format'
include/media/v4l2-subdev.h:1425: warning: Excess function parameter 'pad' description in 'v4l2_subdev_state_get_format'
include/media/v4l2-subdev.h:1445: warning: Excess function parameter 'state' description in 'v4l2_subdev_state_get_crop'
include/media/v4l2-subdev.h:1445: warning: Excess function parameter 'pad' description in 'v4l2_subdev_state_get_crop'
include/media/v4l2-subdev.h:1465: warning: Excess function parameter 'state' description in 'v4l2_subdev_state_get_compose'
include/media/v4l2-subdev.h:1465: warning: Excess function parameter 'pad' description in 'v4l2_subdev_state_get_compose'

Can you fix this for the next version?

Regards,

	Hans

> 
> ----------------------------------------------------------------
> V4L2 patches for 6.8
> 
> ----------------------------------------------------------------
> Laurent Pinchart (16):
>       media: v4l2-subdev: Fix indentation in v4l2-subdev.h
>       media: atmel-isi: Use accessors for pad config 'try_*' fields
>       media: microchip-isc: Use accessors for pad config 'try_*' fields
>       media: atmel-isc: Use accessors for pad config 'try_*' fields
>       media: atomisp: Use accessors for pad config 'try_*' fields
>       media: tegra-video: Use accessors for pad config 'try_*' fields
>       media: i2c: Use accessors for pad config 'try_*' fields
>       media: v4l2-subdev: Rename pad config 'try_*' fields
>       media: v4l2-subdev: Drop outdated comment for v4l2_subdev_pad_config
>       media: ipu3-cio2: Drop comment blocks for subdev op handlers
>       media: xilinx: csi2rxss: Drop comment blocks for subdev op handlers
>       media: v4l2-subdev: Fix references to pad config
>       media: qcom: camss: Fix references to pad config
>       media: ti: omap3isp: Fix references to pad config
>       media: ti: omap4iss: Fix references to pad config
>       media: i2c: Fix references to pad config
> 
> Sakari Ailus (19):
>       media: ccs: Ensure control handlers have been set up after probe
>       media: ivsc: csi: Don't parse remote endpoints
>       media: ivsc: csi: Clean up V4L2 async notifier on error
>       media: ivsc: csi: Clean up notifier set-up
>       media: ivsc: csi: Clean up parsing firmware and setting up async notifier
>       media: ivsc: csi: Don't mask v4l2_fwnode_endpoint_parse return value
>       media: ivsc: csi: Check number of lanes on source, too
>       media: ccs: Print ireal and float limits converted to integers
>       media: imx319: Enable runtime PM before registering async sub-device
>       media: Documentation: Initialisation finishes before subdev registration
>       media: v4l: subdev: Store the sub-device in the sub-device state
>       media: v4l: subdev: Also return pads array information on stream functions
>       media: v4l: subdev: Rename sub-device state information access functions
>       media: v4l: subdev: v4l2_subdev_state_get_format always returns format now
>       media: v4l: subdev: Make stream argument optional in state access functions
>       media: v4l: subdev: Always compile sub-device state access functions
>       media: v4l: subdev: Switch to stream-aware state functions
>       media: v4l: subdev: Remove stream-unaware sub-device state access
>       media: v4l: subdev: Return NULL from pad access functions on error
> 
>  Documentation/driver-api/media/camera-sensor.rst   |   3 +-
>  Documentation/driver-api/media/v4l2-subdev.rst     |  11 +-
>  drivers/media/i2c/adv7180.c                        |   4 +-
>  drivers/media/i2c/adv7183.c                        |   2 +-
>  drivers/media/i2c/adv748x/adv748x-afe.c            |   6 +-
>  drivers/media/i2c/adv748x/adv748x-csi2.c           |   2 +-
>  drivers/media/i2c/adv748x/adv748x-hdmi.c           |   6 +-
>  drivers/media/i2c/adv7511-v4l2.c                   |   4 +-
>  drivers/media/i2c/adv7604.c                        |   4 +-
>  drivers/media/i2c/adv7842.c                        |   4 +-
>  drivers/media/i2c/ar0521.c                         |   5 +-
>  drivers/media/i2c/ccs/ccs-core.c                   |  44 ++--
>  drivers/media/i2c/ccs/ccs.h                        |   1 +
>  drivers/media/i2c/ds90ub913.c                      |   3 +-
>  drivers/media/i2c/ds90ub953.c                      |   3 +-
>  drivers/media/i2c/ds90ub960.c                      |  12 +-
>  drivers/media/i2c/et8ek8/et8ek8_driver.c           |   3 +-
>  drivers/media/i2c/hi556.c                          |  13 +-
>  drivers/media/i2c/hi846.c                          |  11 +-
>  drivers/media/i2c/hi847.c                          |   9 +-
>  drivers/media/i2c/imx208.c                         |   9 +-
>  drivers/media/i2c/imx214.c                         |   4 +-
>  drivers/media/i2c/imx219.c                         |  12 +-
>  drivers/media/i2c/imx258.c                         |   9 +-
>  drivers/media/i2c/imx274.c                         |  12 +-
>  drivers/media/i2c/imx290.c                         |   8 +-
>  drivers/media/i2c/imx296.c                         |  18 +-
>  drivers/media/i2c/imx319.c                         |  19 +-
>  drivers/media/i2c/imx334.c                         |  12 +-
>  drivers/media/i2c/imx335.c                         |  12 +-
>  drivers/media/i2c/imx355.c                         |   7 +-
>  drivers/media/i2c/imx412.c                         |  12 +-
>  drivers/media/i2c/imx415.c                         |   6 +-
>  drivers/media/i2c/isl7998x.c                       |   6 +-
>  drivers/media/i2c/max9286.c                        |   4 +-
>  drivers/media/i2c/mt9m001.c                        |   6 +-
>  drivers/media/i2c/mt9m111.c                        |   6 +-
>  drivers/media/i2c/mt9m114.c                        |  58 +++---
>  drivers/media/i2c/mt9p031.c                        |   6 +-
>  drivers/media/i2c/mt9t112.c                        |   2 +-
>  drivers/media/i2c/mt9v011.c                        |   2 +-
>  drivers/media/i2c/mt9v032.c                        |  10 +-
>  drivers/media/i2c/mt9v111.c                        |   4 +-
>  drivers/media/i2c/og01a1b.c                        |  10 +-
>  drivers/media/i2c/ov01a10.c                        |   2 +-
>  drivers/media/i2c/ov02a10.c                        |   6 +-
>  drivers/media/i2c/ov08d10.c                        |   9 +-
>  drivers/media/i2c/ov08x40.c                        |   7 +-
>  drivers/media/i2c/ov13858.c                        |  10 +-
>  drivers/media/i2c/ov13b10.c                        |  10 +-
>  drivers/media/i2c/ov2640.c                         |   6 +-
>  drivers/media/i2c/ov2659.c                         |   6 +-
>  drivers/media/i2c/ov2680.c                         |  10 +-
>  drivers/media/i2c/ov2685.c                         |   4 +-
>  drivers/media/i2c/ov2740.c                         |   4 +-
>  drivers/media/i2c/ov4689.c                         |   2 +-
>  drivers/media/i2c/ov5640.c                         |   9 +-
>  drivers/media/i2c/ov5645.c                         |   4 +-
>  drivers/media/i2c/ov5647.c                         |  12 +-
>  drivers/media/i2c/ov5648.c                         |   6 +-
>  drivers/media/i2c/ov5670.c                         |  13 +-
>  drivers/media/i2c/ov5675.c                         |   9 +-
>  drivers/media/i2c/ov5693.c                         |   4 +-
>  drivers/media/i2c/ov5695.c                         |   8 +-
>  drivers/media/i2c/ov6650.c                         |  34 ++--
>  drivers/media/i2c/ov7251.c                         |   4 +-
>  drivers/media/i2c/ov7670.c                         |   7 +-
>  drivers/media/i2c/ov772x.c                         |   2 +-
>  drivers/media/i2c/ov7740.c                         |   7 +-
>  drivers/media/i2c/ov8856.c                         |   9 +-
>  drivers/media/i2c/ov8858.c                         |   6 +-
>  drivers/media/i2c/ov8865.c                         |   8 +-
>  drivers/media/i2c/ov9282.c                         |  14 +-
>  drivers/media/i2c/ov9640.c                         |   2 +-
>  drivers/media/i2c/ov9650.c                         |   7 +-
>  drivers/media/i2c/ov9734.c                         |   9 +-
>  drivers/media/i2c/rj54n1cb0c.c                     |   2 +-
>  drivers/media/i2c/s5c73m3/s5c73m3-core.c           |  37 ++--
>  drivers/media/i2c/s5k5baf.c                        |  35 ++--
>  drivers/media/i2c/s5k6a3.c                         |   8 +-
>  drivers/media/i2c/saa6752hs.c                      |   2 +-
>  drivers/media/i2c/st-mipid02.c                     |  11 +-
>  drivers/media/i2c/st-vgxy61.c                      |   5 +-
>  drivers/media/i2c/tc358746.c                       |  12 +-
>  drivers/media/i2c/tda1997x.c                       |   6 +-
>  drivers/media/i2c/tvp5150.c                        |   2 +-
>  drivers/media/i2c/tvp7002.c                        |   6 +-
>  drivers/media/i2c/tw9910.c                         |   2 +-
>  drivers/media/pci/intel/ipu3/ipu3-cio2.c           |  24 +--
>  drivers/media/pci/intel/ivsc/mei_csi.c             |  73 ++++---
>  drivers/media/platform/atmel/atmel-isi.c           |  12 +-
>  drivers/media/platform/cadence/cdns-csi2rx.c       |   4 +-
>  drivers/media/platform/cadence/cdns-csi2tx.c       |   3 +-
>  .../media/platform/microchip/microchip-csi2dc.c    |  15 +-
>  .../media/platform/microchip/microchip-isc-base.c  |  10 +-
>  .../platform/microchip/microchip-isc-scaler.c      |  16 +-
>  drivers/media/platform/nxp/imx-mipi-csis.c         |  10 +-
>  drivers/media/platform/nxp/imx7-media-csi.c        |  16 +-
>  .../platform/nxp/imx8-isi/imx8-isi-crossbar.c      |  10 +-
>  .../media/platform/nxp/imx8-isi/imx8-isi-pipe.c    |  18 +-
>  .../media/platform/nxp/imx8-isi/imx8-isi-video.c   |   2 +-
>  drivers/media/platform/nxp/imx8mq-mipi-csi2.c      |  13 +-
>  drivers/media/platform/qcom/camss/camss-csid.c     |  15 +-
>  drivers/media/platform/qcom/camss/camss-csiphy.c   |  15 +-
>  drivers/media/platform/qcom/camss/camss-ispif.c    |  15 +-
>  drivers/media/platform/qcom/camss/camss-vfe.c      |  34 ++--
>  drivers/media/platform/renesas/rcar-isp.c          |   4 +-
>  .../media/platform/renesas/rcar-vin/rcar-csi2.c    |   4 +-
>  .../media/platform/renesas/rzg2l-cru/rzg2l-csi2.c  |   6 +-
>  .../media/platform/renesas/rzg2l-cru/rzg2l-ip.c    |   6 +-
>  drivers/media/platform/renesas/vsp1/vsp1_brx.c     |   2 +-
>  drivers/media/platform/renesas/vsp1/vsp1_entity.c  |   8 +-
>  drivers/media/platform/renesas/vsp1/vsp1_rwpf.c    |   3 +-
>  .../media/platform/rockchip/rkisp1/rkisp1-csi.c    |  16 +-
>  .../media/platform/rockchip/rkisp1/rkisp1-isp.c    | 103 +++++-----
>  .../platform/rockchip/rkisp1/rkisp1-resizer.c      |  53 ++---
>  .../platform/samsung/exynos4-is/fimc-capture.c     |  12 +-
>  .../media/platform/samsung/exynos4-is/fimc-isp.c   |  24 +--
>  .../media/platform/samsung/exynos4-is/fimc-lite.c  |  16 +-
>  .../media/platform/samsung/exynos4-is/mipi-csis.c  |   3 +-
>  .../platform/samsung/s3c-camif/camif-capture.c     |   8 +-
>  .../media/platform/sunxi/sun4i-csi/sun4i_v4l2.c    |   8 +-
>  .../platform/sunxi/sun6i-csi/sun6i_csi_bridge.c    |   8 +-
>  .../sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c        |   8 +-
>  .../sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c    |   8 +-
>  drivers/media/platform/ti/cal/cal-camerarx.c       |  18 +-
>  drivers/media/platform/ti/cal/cal-video.c          |   2 +-
>  drivers/media/platform/ti/omap3isp/ispccdc.c       |  19 +-
>  drivers/media/platform/ti/omap3isp/ispccp2.c       |  13 +-
>  drivers/media/platform/ti/omap3isp/ispcsi2.c       |   9 +-
>  drivers/media/platform/ti/omap3isp/isppreview.c    |  18 +-
>  drivers/media/platform/ti/omap3isp/ispresizer.c    |  21 +-
>  drivers/media/platform/video-mux.c                 |  18 +-
>  drivers/media/platform/xilinx/xilinx-csi2rxss.c    |  64 +-----
>  drivers/media/platform/xilinx/xilinx-tpg.c         |   9 +-
>  drivers/media/platform/xilinx/xilinx-vip.c         |   4 +-
>  drivers/media/test-drivers/vimc/vimc-debayer.c     |  10 +-
>  drivers/media/test-drivers/vimc/vimc-scaler.c      |   9 +-
>  drivers/media/test-drivers/vimc/vimc-sensor.c      |   6 +-
>  drivers/media/v4l2-core/v4l2-subdev.c              | 181 ++++++++++-------
>  drivers/staging/media/atomisp/i2c/atomisp-gc0310.c |   2 +-
>  drivers/staging/media/atomisp/i2c/atomisp-gc2235.c |   2 +-
>  .../staging/media/atomisp/i2c/atomisp-mt9m114.c    |   2 +-
>  drivers/staging/media/atomisp/i2c/atomisp-ov2722.c |   2 +-
>  drivers/staging/media/atomisp/pci/atomisp_csi2.c   |   3 +-
>  drivers/staging/media/atomisp/pci/atomisp_subdev.c |   6 +-
>  drivers/staging/media/atomisp/pci/atomisp_tpg.c    |   2 +-
>  .../media/deprecated/atmel/atmel-isc-base.c        |  10 +-
>  drivers/staging/media/imx/imx-ic-prp.c             |   4 +-
>  drivers/staging/media/imx/imx-ic-prpencvf.c        |   4 +-
>  drivers/staging/media/imx/imx-media-csi.c          |   8 +-
>  drivers/staging/media/imx/imx-media-utils.c        |   2 +-
>  drivers/staging/media/imx/imx-media-vdic.c         |   2 +-
>  drivers/staging/media/imx/imx6-mipi-csi2.c         |   2 +-
>  drivers/staging/media/ipu3/ipu3-v4l2.c             |  14 +-
>  drivers/staging/media/omap4iss/iss_csi2.c          |   9 +-
>  drivers/staging/media/omap4iss/iss_ipipe.c         |  11 +-
>  drivers/staging/media/omap4iss/iss_ipipeif.c       |  11 +-
>  drivers/staging/media/omap4iss/iss_resizer.c       |  11 +-
>  .../staging/media/sunxi/sun6i-isp/sun6i_isp_proc.c |   8 +-
>  drivers/staging/media/tegra-video/vi.c             |  14 +-
>  include/media/v4l2-subdev.h                        | 222 ++++++++-------------
>  include/uapi/linux/v4l2-subdev.h                   |   2 +-
>  163 files changed, 1005 insertions(+), 1136 deletions(-)
>
Sakari Ailus Nov. 16, 2023, 5:47 p.m. UTC | #3
Hi Hans,

On Thu, Nov 16, 2023 at 04:29:58PM +0100, Hans Verkuil wrote:
> Hi Sakari,
> 
> On 12/11/2023 21:14, Sakari Ailus wrote:
> > Hi Mauro, Hans,
> > 
> > Here's a bunch of patches from myself and Laurent, cleaning up V4L2
> > sub-device state information access API, drivers using it plus fixing IVSC
> > driver firmware parsing and IMX319 driver. A few CCS driver fixes and
> > documentation improvement are included, too.
> > 
> > Please pull.
> > 
> > since v2:
> > 
> > - Fix sub-device state access conditional compilation (was dependent on
> >   sub-device UAPI).
> > 
> > since v1:
> > 
> > - Fix IVSC driver patch error handling.
> > 
> > 
> > The following changes since commit 3e238417254bfdcc23fe207780b59cbb08656762:
> > 
> >   media: nuvoton: VIDEO_NPCM_VCD_ECE should depend on ARCH_NPCM (2023-10-27 11:44:19 +0200)
> > 
> > are available in the Git repository at:
> > 
> >   git://linuxtv.org/sailus/media_tree.git tags/for-6.8-1.2-signed
> > 
> > for you to fetch changes up to 61ab89c1916219ccbeca9f6cefb1680212de8d1c:
> > 
> >   media: v4l: subdev: Return NULL from pad access functions on error (2023-11-12 20:51:35 +0200)
> 
> As mentioned on irc, this PR no longer applies after the starfive driver
> was merged.
> 
> I did a run for this PR with the starfive patches dropped, and I got a few
> kerneldoc warnings:
> 
> include/media/v4l2-subdev.h:1425: warning: Excess function parameter 'state' description in 'v4l2_subdev_state_get_format'
> include/media/v4l2-subdev.h:1425: warning: Excess function parameter 'pad' description in 'v4l2_subdev_state_get_format'
> include/media/v4l2-subdev.h:1445: warning: Excess function parameter 'state' description in 'v4l2_subdev_state_get_crop'
> include/media/v4l2-subdev.h:1445: warning: Excess function parameter 'pad' description in 'v4l2_subdev_state_get_crop'
> include/media/v4l2-subdev.h:1465: warning: Excess function parameter 'state' description in 'v4l2_subdev_state_get_compose'
> include/media/v4l2-subdev.h:1465: warning: Excess function parameter 'pad' description in 'v4l2_subdev_state_get_compose'
> 
> Can you fix this for the next version?

It seems how the macro was designed in the last version of the sub-device
state information access functions caused this. I'll figure out how to
address this.

Thanks.