mbox series

[00/10] media: start work to remove wait_prepare/finish callbacks

Message ID 20241014-vb2-wait-v1-0-8c3ee25c618c@xs4all.nl (mailing list archive)
Headers show
Series media: start work to remove wait_prepare/finish callbacks | expand

Message

Hans Verkuil Oct. 14, 2024, 3:06 p.m. UTC
This patch series makes one change to videobuf2-core.c in vb2_thread()
where wait_prepare/finish was also called. That was missed in the
previous commit 88785982a19d ("media: vb2: use lock if wait_prepare/finish
are NULL"), but that is needed before we can start removing the
vb2_ops_wait_prepare/finish callbacks from drivers.

The next 9 patches drop the vb2_ops_wait_prepare/finish callbacks
from the various drivers in the media subsystem.

After this there are some V4L2 drivers in other subsystems (gadget,
input, staging) that need this change as well, but I'll start on that
when this series is merged.

There are also a few drivers that set the wait_prepare/finish callbacks
to their own implementation. Those need work as well.

Since this series touches on almost all V4L2 drivers, it is sent to
a lot of people.

Regards,

	Hans

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
---
Hans Verkuil (10):
      media: videobuf2-core: update vb2_thread if wait_finish/prepare are NULL
      media: test-drivers: drop vb2_ops_wait_prepare/finish
      media: pci: drop vb2_ops_wait_prepare/finish
      media: usb: drop vb2_ops_wait_prepare/finish
      media: video-i2c: drop vb2_ops_wait_prepare/finish
      media: rtl2832_sdr: drop vb2_ops_wait_prepare/finish
      media: platform: drop vb2_ops_wait_prepare/finish
      media: common: saa7146: drop vb2_ops_wait_prepare/finish
      staging: media: drop vb2_ops_wait_prepare/finish
      media: samples: v4l2-pci-skeleton.c: drop vb2_ops_wait_prepare/finish

 drivers/media/common/saa7146/saa7146_vbi.c                   |  2 --
 drivers/media/common/saa7146/saa7146_video.c                 |  2 --
 drivers/media/common/videobuf2/videobuf2-core.c              | 12 ++++++++----
 drivers/media/dvb-frontends/rtl2832_sdr.c                    |  2 --
 drivers/media/i2c/video-i2c.c                                |  2 --
 drivers/media/pci/bt8xx/bttv-driver.c                        |  2 --
 drivers/media/pci/bt8xx/bttv-vbi.c                           |  2 --
 drivers/media/pci/cobalt/cobalt-v4l2.c                       |  2 --
 drivers/media/pci/cx18/cx18-streams.c                        |  2 --
 drivers/media/pci/cx23885/cx23885-417.c                      |  2 --
 drivers/media/pci/cx23885/cx23885-dvb.c                      |  2 --
 drivers/media/pci/cx23885/cx23885-vbi.c                      |  2 --
 drivers/media/pci/cx23885/cx23885-video.c                    |  2 --
 drivers/media/pci/cx25821/cx25821-video.c                    |  2 --
 drivers/media/pci/cx88/cx88-blackbird.c                      |  2 --
 drivers/media/pci/cx88/cx88-dvb.c                            |  2 --
 drivers/media/pci/cx88/cx88-vbi.c                            |  2 --
 drivers/media/pci/cx88/cx88-video.c                          |  2 --
 drivers/media/pci/dt3155/dt3155.c                            |  2 --
 drivers/media/pci/intel/ipu3/ipu3-cio2.c                     |  2 --
 drivers/media/pci/intel/ipu6/ipu6-isys-queue.c               |  2 --
 drivers/media/pci/mgb4/mgb4_vin.c                            |  2 --
 drivers/media/pci/mgb4/mgb4_vout.c                           |  2 --
 drivers/media/pci/saa7134/saa7134-empress.c                  |  2 --
 drivers/media/pci/saa7134/saa7134-ts.c                       |  2 --
 drivers/media/pci/saa7134/saa7134-vbi.c                      |  2 --
 drivers/media/pci/saa7134/saa7134-video.c                    |  2 --
 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c               |  2 --
 drivers/media/pci/solo6x10/solo6x10-v4l2.c                   |  2 --
 drivers/media/pci/sta2x11/sta2x11_vip.c                      |  2 --
 drivers/media/pci/tw5864/tw5864-video.c                      |  2 --
 drivers/media/pci/tw68/tw68-video.c                          |  2 --
 drivers/media/pci/tw686x/tw686x-video.c                      |  2 --
 drivers/media/pci/zoran/zoran_driver.c                       |  2 --
 drivers/media/platform/allegro-dvt/allegro-core.c            |  2 --
 drivers/media/platform/amlogic/meson-ge2d/ge2d.c             |  2 --
 drivers/media/platform/amphion/vpu_v4l2.c                    |  2 --
 drivers/media/platform/aspeed/aspeed-video.c                 |  2 --
 drivers/media/platform/atmel/atmel-isi.c                     |  2 --
 drivers/media/platform/broadcom/bcm2835-unicam.c             |  2 --
 drivers/media/platform/chips-media/coda/coda-common.c        |  2 --
 drivers/media/platform/chips-media/wave5/wave5-vpu-dec.c     |  2 --
 drivers/media/platform/chips-media/wave5/wave5-vpu-enc.c     |  2 --
 drivers/media/platform/imagination/e5010-jpeg-enc.c          |  2 --
 drivers/media/platform/intel/pxa_camera.c                    |  2 --
 drivers/media/platform/m2m-deinterlace.c                     |  2 --
 drivers/media/platform/marvell/mcam-core.c                   |  4 ----
 drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c         |  4 ----
 drivers/media/platform/mediatek/mdp/mtk_mdp_m2m.c            |  2 --
 drivers/media/platform/mediatek/mdp3/mtk-mdp3-m2m.c          |  2 --
 .../mediatek/vcodec/decoder/mtk_vcodec_dec_stateful.c        |  2 --
 .../mediatek/vcodec/decoder/mtk_vcodec_dec_stateless.c       |  2 --
 .../media/platform/mediatek/vcodec/encoder/mtk_vcodec_enc.c  |  2 --
 drivers/media/platform/microchip/microchip-isc-base.c        |  2 --
 drivers/media/platform/nuvoton/npcm-video.c                  |  2 --
 drivers/media/platform/nvidia/tegra-vde/v4l2.c               |  2 --
 drivers/media/platform/nxp/dw100/dw100.c                     |  2 --
 drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c               |  2 --
 drivers/media/platform/nxp/imx-pxp.c                         |  2 --
 drivers/media/platform/nxp/imx7-media-csi.c                  |  2 --
 drivers/media/platform/nxp/imx8-isi/imx8-isi-m2m.c           |  2 --
 drivers/media/platform/nxp/imx8-isi/imx8-isi-video.c         |  2 --
 drivers/media/platform/nxp/mx2_emmaprp.c                     |  2 --
 drivers/media/platform/qcom/camss/camss-video.c              |  2 --
 drivers/media/platform/qcom/venus/vdec.c                     |  2 --
 drivers/media/platform/qcom/venus/venc.c                     |  2 --
 drivers/media/platform/raspberrypi/pisp_be/pisp_be.c         |  2 --
 drivers/media/platform/renesas/rcar-vin/rcar-dma.c           |  2 --
 drivers/media/platform/renesas/rcar_drif.c                   |  2 --
 drivers/media/platform/renesas/rcar_fdp1.c                   |  2 --
 drivers/media/platform/renesas/rcar_jpu.c                    |  2 --
 drivers/media/platform/renesas/renesas-ceu.c                 |  2 --
 drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c       |  2 --
 drivers/media/platform/renesas/sh_vou.c                      |  2 --
 drivers/media/platform/renesas/vsp1/vsp1_histo.c             |  2 --
 drivers/media/platform/renesas/vsp1/vsp1_video.c             |  2 --
 drivers/media/platform/rockchip/rga/rga-buf.c                |  2 --
 drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c      |  2 --
 drivers/media/platform/rockchip/rkisp1/rkisp1-params.c       |  2 --
 drivers/media/platform/rockchip/rkisp1/rkisp1-stats.c        |  2 --
 drivers/media/platform/samsung/exynos-gsc/gsc-m2m.c          |  2 --
 drivers/media/platform/samsung/exynos4-is/fimc-capture.c     |  2 --
 drivers/media/platform/samsung/exynos4-is/fimc-isp-video.c   |  2 --
 drivers/media/platform/samsung/exynos4-is/fimc-lite.c        |  2 --
 drivers/media/platform/samsung/exynos4-is/fimc-m2m.c         |  2 --
 drivers/media/platform/samsung/s3c-camif/camif-capture.c     |  2 --
 drivers/media/platform/samsung/s5p-g2d/g2d.c                 |  2 --
 drivers/media/platform/samsung/s5p-jpeg/jpeg-core.c          |  2 --
 drivers/media/platform/samsung/s5p-mfc/s5p_mfc_dec.c         |  2 --
 drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c         |  2 --
 drivers/media/platform/st/sti/bdisp/bdisp-v4l2.c             |  2 --
 drivers/media/platform/st/sti/delta/delta-v4l2.c             |  4 ----
 drivers/media/platform/st/sti/hva/hva-v4l2.c                 |  2 --
 drivers/media/platform/st/stm32/dma2d/dma2d.c                |  2 --
 drivers/media/platform/st/stm32/stm32-dcmi.c                 |  2 --
 .../media/platform/st/stm32/stm32-dcmipp/dcmipp-bytecap.c    |  6 ------
 drivers/media/platform/sunxi/sun4i-csi/sun4i_dma.c           |  2 --
 drivers/media/platform/sunxi/sun6i-csi/sun6i_csi_capture.c   |  2 --
 drivers/media/platform/sunxi/sun8i-di/sun8i-di.c             |  2 --
 drivers/media/platform/sunxi/sun8i-rotate/sun8i_rotate.c     |  2 --
 drivers/media/platform/ti/am437x/am437x-vpfe.c               |  2 --
 drivers/media/platform/ti/cal/cal-video.c                    |  2 --
 drivers/media/platform/ti/davinci/vpif_capture.c             |  2 --
 drivers/media/platform/ti/davinci/vpif_display.c             |  2 --
 drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c        |  2 --
 drivers/media/platform/ti/omap/omap_vout.c                   |  2 --
 drivers/media/platform/ti/vpe/vpe.c                          |  2 --
 drivers/media/platform/verisilicon/hantro_v4l2.c             |  2 --
 drivers/media/platform/via/via-camera.c                      |  2 --
 drivers/media/platform/xilinx/xilinx-dma.c                   |  2 --
 drivers/media/test-drivers/vicodec/vicodec-core.c            |  2 --
 drivers/media/test-drivers/vim2m.c                           |  2 --
 drivers/media/test-drivers/vimc/vimc-capture.c               |  6 ------
 drivers/media/test-drivers/visl/visl-video.c                 |  2 --
 drivers/media/test-drivers/vivid/vivid-meta-cap.c            |  2 --
 drivers/media/test-drivers/vivid/vivid-meta-out.c            |  2 --
 drivers/media/test-drivers/vivid/vivid-sdr-cap.c             |  2 --
 drivers/media/test-drivers/vivid/vivid-touch-cap.c           |  2 --
 drivers/media/test-drivers/vivid/vivid-vbi-cap.c             |  2 --
 drivers/media/test-drivers/vivid/vivid-vbi-out.c             |  2 --
 drivers/media/test-drivers/vivid/vivid-vid-cap.c             |  2 --
 drivers/media/test-drivers/vivid/vivid-vid-out.c             |  2 --
 drivers/media/usb/airspy/airspy.c                            |  2 --
 drivers/media/usb/au0828/au0828-vbi.c                        |  2 --
 drivers/media/usb/au0828/au0828-video.c                      |  2 --
 drivers/media/usb/cx231xx/cx231xx-417.c                      |  2 --
 drivers/media/usb/cx231xx/cx231xx-vbi.c                      |  2 --
 drivers/media/usb/cx231xx/cx231xx-video.c                    |  2 --
 drivers/media/usb/dvb-usb/cxusb-analog.c                     |  2 --
 drivers/media/usb/em28xx/em28xx-vbi.c                        |  2 --
 drivers/media/usb/em28xx/em28xx-video.c                      |  2 --
 drivers/media/usb/go7007/go7007-v4l2.c                       |  2 --
 drivers/media/usb/gspca/gspca.c                              |  2 --
 drivers/media/usb/hackrf/hackrf.c                            |  2 --
 drivers/media/usb/msi2500/msi2500.c                          |  2 --
 drivers/media/usb/pwc/pwc-if.c                               |  2 --
 drivers/media/usb/s2255/s2255drv.c                           |  2 --
 drivers/media/usb/stk1160/stk1160-v4l.c                      |  2 --
 drivers/media/usb/usbtv/usbtv-video.c                        |  2 --
 drivers/media/usb/uvc/uvc_queue.c                            |  4 ----
 drivers/staging/media/atomisp/pci/atomisp_fops.c             |  2 --
 drivers/staging/media/deprecated/atmel/atmel-isc-base.c      |  2 --
 drivers/staging/media/imx/imx-media-capture.c                |  2 --
 drivers/staging/media/imx/imx-media-csc-scaler.c             |  2 --
 drivers/staging/media/ipu3/ipu3-v4l2.c                       |  2 --
 drivers/staging/media/meson/vdec/vdec.c                      |  2 --
 drivers/staging/media/rkvdec/rkvdec.c                        |  2 --
 drivers/staging/media/starfive/camss/stf-video.c             |  2 --
 drivers/staging/media/sunxi/cedrus/cedrus_video.c            |  2 --
 drivers/staging/media/sunxi/sun6i-isp/sun6i_isp_capture.c    |  2 --
 drivers/staging/media/sunxi/sun6i-isp/sun6i_isp_params.c     |  2 --
 drivers/staging/media/tegra-video/vi.c                       |  2 --
 samples/v4l/v4l2-pci-skeleton.c                              |  6 +-----
 153 files changed, 9 insertions(+), 327 deletions(-)
---
base-commit: bcd4f091cf1ea7184d813afc115af82ac9326b25
change-id: 20241014-vb2-wait-445a4ead0c4f

Best regards,

Comments

Hans Verkuil Oct. 14, 2024, 3:13 p.m. UTC | #1
On 14/10/2024 17:06, Hans Verkuil wrote:
> This patch series makes one change to videobuf2-core.c in vb2_thread()
> where wait_prepare/finish was also called. That was missed in the
> previous commit 88785982a19d ("media: vb2: use lock if wait_prepare/finish
> are NULL"), but that is needed before we can start removing the
> vb2_ops_wait_prepare/finish callbacks from drivers.
> 
> The next 9 patches drop the vb2_ops_wait_prepare/finish callbacks
> from the various drivers in the media subsystem.
> 
> After this there are some V4L2 drivers in other subsystems (gadget,
> input, staging) that need this change as well, but I'll start on that
> when this series is merged.
> 
> There are also a few drivers that set the wait_prepare/finish callbacks
> to their own implementation. Those need work as well.
> 
> Since this series touches on almost all V4L2 drivers, it is sent to
> a lot of people.

I realized that I did not provide a link to the commit mentioned above.
Especially since the media subsystem is moving to new git repos, it is
useful if I provide the link as well:

https://gitlab.freedesktop.org/linux-media/media-committers/-/commit/88785982a19daa765e30ab3a605680202cfaee4e

Regards,

	Hans

> 
> Regards,
> 
> 	Hans
> 
> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
> ---
> Hans Verkuil (10):
>       media: videobuf2-core: update vb2_thread if wait_finish/prepare are NULL
>       media: test-drivers: drop vb2_ops_wait_prepare/finish
>       media: pci: drop vb2_ops_wait_prepare/finish
>       media: usb: drop vb2_ops_wait_prepare/finish
>       media: video-i2c: drop vb2_ops_wait_prepare/finish
>       media: rtl2832_sdr: drop vb2_ops_wait_prepare/finish
>       media: platform: drop vb2_ops_wait_prepare/finish
>       media: common: saa7146: drop vb2_ops_wait_prepare/finish
>       staging: media: drop vb2_ops_wait_prepare/finish
>       media: samples: v4l2-pci-skeleton.c: drop vb2_ops_wait_prepare/finish
> 
>  drivers/media/common/saa7146/saa7146_vbi.c                   |  2 --
>  drivers/media/common/saa7146/saa7146_video.c                 |  2 --
>  drivers/media/common/videobuf2/videobuf2-core.c              | 12 ++++++++----
>  drivers/media/dvb-frontends/rtl2832_sdr.c                    |  2 --
>  drivers/media/i2c/video-i2c.c                                |  2 --
>  drivers/media/pci/bt8xx/bttv-driver.c                        |  2 --
>  drivers/media/pci/bt8xx/bttv-vbi.c                           |  2 --
>  drivers/media/pci/cobalt/cobalt-v4l2.c                       |  2 --
>  drivers/media/pci/cx18/cx18-streams.c                        |  2 --
>  drivers/media/pci/cx23885/cx23885-417.c                      |  2 --
>  drivers/media/pci/cx23885/cx23885-dvb.c                      |  2 --
>  drivers/media/pci/cx23885/cx23885-vbi.c                      |  2 --
>  drivers/media/pci/cx23885/cx23885-video.c                    |  2 --
>  drivers/media/pci/cx25821/cx25821-video.c                    |  2 --
>  drivers/media/pci/cx88/cx88-blackbird.c                      |  2 --
>  drivers/media/pci/cx88/cx88-dvb.c                            |  2 --
>  drivers/media/pci/cx88/cx88-vbi.c                            |  2 --
>  drivers/media/pci/cx88/cx88-video.c                          |  2 --
>  drivers/media/pci/dt3155/dt3155.c                            |  2 --
>  drivers/media/pci/intel/ipu3/ipu3-cio2.c                     |  2 --
>  drivers/media/pci/intel/ipu6/ipu6-isys-queue.c               |  2 --
>  drivers/media/pci/mgb4/mgb4_vin.c                            |  2 --
>  drivers/media/pci/mgb4/mgb4_vout.c                           |  2 --
>  drivers/media/pci/saa7134/saa7134-empress.c                  |  2 --
>  drivers/media/pci/saa7134/saa7134-ts.c                       |  2 --
>  drivers/media/pci/saa7134/saa7134-vbi.c                      |  2 --
>  drivers/media/pci/saa7134/saa7134-video.c                    |  2 --
>  drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c               |  2 --
>  drivers/media/pci/solo6x10/solo6x10-v4l2.c                   |  2 --
>  drivers/media/pci/sta2x11/sta2x11_vip.c                      |  2 --
>  drivers/media/pci/tw5864/tw5864-video.c                      |  2 --
>  drivers/media/pci/tw68/tw68-video.c                          |  2 --
>  drivers/media/pci/tw686x/tw686x-video.c                      |  2 --
>  drivers/media/pci/zoran/zoran_driver.c                       |  2 --
>  drivers/media/platform/allegro-dvt/allegro-core.c            |  2 --
>  drivers/media/platform/amlogic/meson-ge2d/ge2d.c             |  2 --
>  drivers/media/platform/amphion/vpu_v4l2.c                    |  2 --
>  drivers/media/platform/aspeed/aspeed-video.c                 |  2 --
>  drivers/media/platform/atmel/atmel-isi.c                     |  2 --
>  drivers/media/platform/broadcom/bcm2835-unicam.c             |  2 --
>  drivers/media/platform/chips-media/coda/coda-common.c        |  2 --
>  drivers/media/platform/chips-media/wave5/wave5-vpu-dec.c     |  2 --
>  drivers/media/platform/chips-media/wave5/wave5-vpu-enc.c     |  2 --
>  drivers/media/platform/imagination/e5010-jpeg-enc.c          |  2 --
>  drivers/media/platform/intel/pxa_camera.c                    |  2 --
>  drivers/media/platform/m2m-deinterlace.c                     |  2 --
>  drivers/media/platform/marvell/mcam-core.c                   |  4 ----
>  drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c         |  4 ----
>  drivers/media/platform/mediatek/mdp/mtk_mdp_m2m.c            |  2 --
>  drivers/media/platform/mediatek/mdp3/mtk-mdp3-m2m.c          |  2 --
>  .../mediatek/vcodec/decoder/mtk_vcodec_dec_stateful.c        |  2 --
>  .../mediatek/vcodec/decoder/mtk_vcodec_dec_stateless.c       |  2 --
>  .../media/platform/mediatek/vcodec/encoder/mtk_vcodec_enc.c  |  2 --
>  drivers/media/platform/microchip/microchip-isc-base.c        |  2 --
>  drivers/media/platform/nuvoton/npcm-video.c                  |  2 --
>  drivers/media/platform/nvidia/tegra-vde/v4l2.c               |  2 --
>  drivers/media/platform/nxp/dw100/dw100.c                     |  2 --
>  drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c               |  2 --
>  drivers/media/platform/nxp/imx-pxp.c                         |  2 --
>  drivers/media/platform/nxp/imx7-media-csi.c                  |  2 --
>  drivers/media/platform/nxp/imx8-isi/imx8-isi-m2m.c           |  2 --
>  drivers/media/platform/nxp/imx8-isi/imx8-isi-video.c         |  2 --
>  drivers/media/platform/nxp/mx2_emmaprp.c                     |  2 --
>  drivers/media/platform/qcom/camss/camss-video.c              |  2 --
>  drivers/media/platform/qcom/venus/vdec.c                     |  2 --
>  drivers/media/platform/qcom/venus/venc.c                     |  2 --
>  drivers/media/platform/raspberrypi/pisp_be/pisp_be.c         |  2 --
>  drivers/media/platform/renesas/rcar-vin/rcar-dma.c           |  2 --
>  drivers/media/platform/renesas/rcar_drif.c                   |  2 --
>  drivers/media/platform/renesas/rcar_fdp1.c                   |  2 --
>  drivers/media/platform/renesas/rcar_jpu.c                    |  2 --
>  drivers/media/platform/renesas/renesas-ceu.c                 |  2 --
>  drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c       |  2 --
>  drivers/media/platform/renesas/sh_vou.c                      |  2 --
>  drivers/media/platform/renesas/vsp1/vsp1_histo.c             |  2 --
>  drivers/media/platform/renesas/vsp1/vsp1_video.c             |  2 --
>  drivers/media/platform/rockchip/rga/rga-buf.c                |  2 --
>  drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c      |  2 --
>  drivers/media/platform/rockchip/rkisp1/rkisp1-params.c       |  2 --
>  drivers/media/platform/rockchip/rkisp1/rkisp1-stats.c        |  2 --
>  drivers/media/platform/samsung/exynos-gsc/gsc-m2m.c          |  2 --
>  drivers/media/platform/samsung/exynos4-is/fimc-capture.c     |  2 --
>  drivers/media/platform/samsung/exynos4-is/fimc-isp-video.c   |  2 --
>  drivers/media/platform/samsung/exynos4-is/fimc-lite.c        |  2 --
>  drivers/media/platform/samsung/exynos4-is/fimc-m2m.c         |  2 --
>  drivers/media/platform/samsung/s3c-camif/camif-capture.c     |  2 --
>  drivers/media/platform/samsung/s5p-g2d/g2d.c                 |  2 --
>  drivers/media/platform/samsung/s5p-jpeg/jpeg-core.c          |  2 --
>  drivers/media/platform/samsung/s5p-mfc/s5p_mfc_dec.c         |  2 --
>  drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c         |  2 --
>  drivers/media/platform/st/sti/bdisp/bdisp-v4l2.c             |  2 --
>  drivers/media/platform/st/sti/delta/delta-v4l2.c             |  4 ----
>  drivers/media/platform/st/sti/hva/hva-v4l2.c                 |  2 --
>  drivers/media/platform/st/stm32/dma2d/dma2d.c                |  2 --
>  drivers/media/platform/st/stm32/stm32-dcmi.c                 |  2 --
>  .../media/platform/st/stm32/stm32-dcmipp/dcmipp-bytecap.c    |  6 ------
>  drivers/media/platform/sunxi/sun4i-csi/sun4i_dma.c           |  2 --
>  drivers/media/platform/sunxi/sun6i-csi/sun6i_csi_capture.c   |  2 --
>  drivers/media/platform/sunxi/sun8i-di/sun8i-di.c             |  2 --
>  drivers/media/platform/sunxi/sun8i-rotate/sun8i_rotate.c     |  2 --
>  drivers/media/platform/ti/am437x/am437x-vpfe.c               |  2 --
>  drivers/media/platform/ti/cal/cal-video.c                    |  2 --
>  drivers/media/platform/ti/davinci/vpif_capture.c             |  2 --
>  drivers/media/platform/ti/davinci/vpif_display.c             |  2 --
>  drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c        |  2 --
>  drivers/media/platform/ti/omap/omap_vout.c                   |  2 --
>  drivers/media/platform/ti/vpe/vpe.c                          |  2 --
>  drivers/media/platform/verisilicon/hantro_v4l2.c             |  2 --
>  drivers/media/platform/via/via-camera.c                      |  2 --
>  drivers/media/platform/xilinx/xilinx-dma.c                   |  2 --
>  drivers/media/test-drivers/vicodec/vicodec-core.c            |  2 --
>  drivers/media/test-drivers/vim2m.c                           |  2 --
>  drivers/media/test-drivers/vimc/vimc-capture.c               |  6 ------
>  drivers/media/test-drivers/visl/visl-video.c                 |  2 --
>  drivers/media/test-drivers/vivid/vivid-meta-cap.c            |  2 --
>  drivers/media/test-drivers/vivid/vivid-meta-out.c            |  2 --
>  drivers/media/test-drivers/vivid/vivid-sdr-cap.c             |  2 --
>  drivers/media/test-drivers/vivid/vivid-touch-cap.c           |  2 --
>  drivers/media/test-drivers/vivid/vivid-vbi-cap.c             |  2 --
>  drivers/media/test-drivers/vivid/vivid-vbi-out.c             |  2 --
>  drivers/media/test-drivers/vivid/vivid-vid-cap.c             |  2 --
>  drivers/media/test-drivers/vivid/vivid-vid-out.c             |  2 --
>  drivers/media/usb/airspy/airspy.c                            |  2 --
>  drivers/media/usb/au0828/au0828-vbi.c                        |  2 --
>  drivers/media/usb/au0828/au0828-video.c                      |  2 --
>  drivers/media/usb/cx231xx/cx231xx-417.c                      |  2 --
>  drivers/media/usb/cx231xx/cx231xx-vbi.c                      |  2 --
>  drivers/media/usb/cx231xx/cx231xx-video.c                    |  2 --
>  drivers/media/usb/dvb-usb/cxusb-analog.c                     |  2 --
>  drivers/media/usb/em28xx/em28xx-vbi.c                        |  2 --
>  drivers/media/usb/em28xx/em28xx-video.c                      |  2 --
>  drivers/media/usb/go7007/go7007-v4l2.c                       |  2 --
>  drivers/media/usb/gspca/gspca.c                              |  2 --
>  drivers/media/usb/hackrf/hackrf.c                            |  2 --
>  drivers/media/usb/msi2500/msi2500.c                          |  2 --
>  drivers/media/usb/pwc/pwc-if.c                               |  2 --
>  drivers/media/usb/s2255/s2255drv.c                           |  2 --
>  drivers/media/usb/stk1160/stk1160-v4l.c                      |  2 --
>  drivers/media/usb/usbtv/usbtv-video.c                        |  2 --
>  drivers/media/usb/uvc/uvc_queue.c                            |  4 ----
>  drivers/staging/media/atomisp/pci/atomisp_fops.c             |  2 --
>  drivers/staging/media/deprecated/atmel/atmel-isc-base.c      |  2 --
>  drivers/staging/media/imx/imx-media-capture.c                |  2 --
>  drivers/staging/media/imx/imx-media-csc-scaler.c             |  2 --
>  drivers/staging/media/ipu3/ipu3-v4l2.c                       |  2 --
>  drivers/staging/media/meson/vdec/vdec.c                      |  2 --
>  drivers/staging/media/rkvdec/rkvdec.c                        |  2 --
>  drivers/staging/media/starfive/camss/stf-video.c             |  2 --
>  drivers/staging/media/sunxi/cedrus/cedrus_video.c            |  2 --
>  drivers/staging/media/sunxi/sun6i-isp/sun6i_isp_capture.c    |  2 --
>  drivers/staging/media/sunxi/sun6i-isp/sun6i_isp_params.c     |  2 --
>  drivers/staging/media/tegra-video/vi.c                       |  2 --
>  samples/v4l/v4l2-pci-skeleton.c                              |  6 +-----
>  153 files changed, 9 insertions(+), 327 deletions(-)
> ---
> base-commit: bcd4f091cf1ea7184d813afc115af82ac9326b25
> change-id: 20241014-vb2-wait-445a4ead0c4f
> 
> Best regards,
Laurent Pinchart Oct. 14, 2024, 7:16 p.m. UTC | #2
Hi Hans,

Thank you for the patches.

On Mon, Oct 14, 2024 at 05:06:27PM +0200, Hans Verkuil wrote:
> This patch series makes one change to videobuf2-core.c in vb2_thread()
> where wait_prepare/finish was also called. That was missed in the
> previous commit 88785982a19d ("media: vb2: use lock if wait_prepare/finish
> are NULL"), but that is needed before we can start removing the
> vb2_ops_wait_prepare/finish callbacks from drivers.
> 
> The next 9 patches drop the vb2_ops_wait_prepare/finish callbacks
> from the various drivers in the media subsystem.
> 
> After this there are some V4L2 drivers in other subsystems (gadget,
> input, staging) that need this change as well, but I'll start on that
> when this series is merged.
> 
> There are also a few drivers that set the wait_prepare/finish callbacks
> to their own implementation. Those need work as well.
> 
> Since this series touches on almost all V4L2 drivers, it is sent to
> a lot of people.

For patches 02/10 to 10/10,

Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>

> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
> ---
> Hans Verkuil (10):
>       media: videobuf2-core: update vb2_thread if wait_finish/prepare are NULL
>       media: test-drivers: drop vb2_ops_wait_prepare/finish
>       media: pci: drop vb2_ops_wait_prepare/finish
>       media: usb: drop vb2_ops_wait_prepare/finish
>       media: video-i2c: drop vb2_ops_wait_prepare/finish
>       media: rtl2832_sdr: drop vb2_ops_wait_prepare/finish
>       media: platform: drop vb2_ops_wait_prepare/finish
>       media: common: saa7146: drop vb2_ops_wait_prepare/finish
>       staging: media: drop vb2_ops_wait_prepare/finish
>       media: samples: v4l2-pci-skeleton.c: drop vb2_ops_wait_prepare/finish
> 
>  drivers/media/common/saa7146/saa7146_vbi.c                   |  2 --
>  drivers/media/common/saa7146/saa7146_video.c                 |  2 --
>  drivers/media/common/videobuf2/videobuf2-core.c              | 12 ++++++++----
>  drivers/media/dvb-frontends/rtl2832_sdr.c                    |  2 --
>  drivers/media/i2c/video-i2c.c                                |  2 --
>  drivers/media/pci/bt8xx/bttv-driver.c                        |  2 --
>  drivers/media/pci/bt8xx/bttv-vbi.c                           |  2 --
>  drivers/media/pci/cobalt/cobalt-v4l2.c                       |  2 --
>  drivers/media/pci/cx18/cx18-streams.c                        |  2 --
>  drivers/media/pci/cx23885/cx23885-417.c                      |  2 --
>  drivers/media/pci/cx23885/cx23885-dvb.c                      |  2 --
>  drivers/media/pci/cx23885/cx23885-vbi.c                      |  2 --
>  drivers/media/pci/cx23885/cx23885-video.c                    |  2 --
>  drivers/media/pci/cx25821/cx25821-video.c                    |  2 --
>  drivers/media/pci/cx88/cx88-blackbird.c                      |  2 --
>  drivers/media/pci/cx88/cx88-dvb.c                            |  2 --
>  drivers/media/pci/cx88/cx88-vbi.c                            |  2 --
>  drivers/media/pci/cx88/cx88-video.c                          |  2 --
>  drivers/media/pci/dt3155/dt3155.c                            |  2 --
>  drivers/media/pci/intel/ipu3/ipu3-cio2.c                     |  2 --
>  drivers/media/pci/intel/ipu6/ipu6-isys-queue.c               |  2 --
>  drivers/media/pci/mgb4/mgb4_vin.c                            |  2 --
>  drivers/media/pci/mgb4/mgb4_vout.c                           |  2 --
>  drivers/media/pci/saa7134/saa7134-empress.c                  |  2 --
>  drivers/media/pci/saa7134/saa7134-ts.c                       |  2 --
>  drivers/media/pci/saa7134/saa7134-vbi.c                      |  2 --
>  drivers/media/pci/saa7134/saa7134-video.c                    |  2 --
>  drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c               |  2 --
>  drivers/media/pci/solo6x10/solo6x10-v4l2.c                   |  2 --
>  drivers/media/pci/sta2x11/sta2x11_vip.c                      |  2 --
>  drivers/media/pci/tw5864/tw5864-video.c                      |  2 --
>  drivers/media/pci/tw68/tw68-video.c                          |  2 --
>  drivers/media/pci/tw686x/tw686x-video.c                      |  2 --
>  drivers/media/pci/zoran/zoran_driver.c                       |  2 --
>  drivers/media/platform/allegro-dvt/allegro-core.c            |  2 --
>  drivers/media/platform/amlogic/meson-ge2d/ge2d.c             |  2 --
>  drivers/media/platform/amphion/vpu_v4l2.c                    |  2 --
>  drivers/media/platform/aspeed/aspeed-video.c                 |  2 --
>  drivers/media/platform/atmel/atmel-isi.c                     |  2 --
>  drivers/media/platform/broadcom/bcm2835-unicam.c             |  2 --
>  drivers/media/platform/chips-media/coda/coda-common.c        |  2 --
>  drivers/media/platform/chips-media/wave5/wave5-vpu-dec.c     |  2 --
>  drivers/media/platform/chips-media/wave5/wave5-vpu-enc.c     |  2 --
>  drivers/media/platform/imagination/e5010-jpeg-enc.c          |  2 --
>  drivers/media/platform/intel/pxa_camera.c                    |  2 --
>  drivers/media/platform/m2m-deinterlace.c                     |  2 --
>  drivers/media/platform/marvell/mcam-core.c                   |  4 ----
>  drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c         |  4 ----
>  drivers/media/platform/mediatek/mdp/mtk_mdp_m2m.c            |  2 --
>  drivers/media/platform/mediatek/mdp3/mtk-mdp3-m2m.c          |  2 --
>  .../mediatek/vcodec/decoder/mtk_vcodec_dec_stateful.c        |  2 --
>  .../mediatek/vcodec/decoder/mtk_vcodec_dec_stateless.c       |  2 --
>  .../media/platform/mediatek/vcodec/encoder/mtk_vcodec_enc.c  |  2 --
>  drivers/media/platform/microchip/microchip-isc-base.c        |  2 --
>  drivers/media/platform/nuvoton/npcm-video.c                  |  2 --
>  drivers/media/platform/nvidia/tegra-vde/v4l2.c               |  2 --
>  drivers/media/platform/nxp/dw100/dw100.c                     |  2 --
>  drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c               |  2 --
>  drivers/media/platform/nxp/imx-pxp.c                         |  2 --
>  drivers/media/platform/nxp/imx7-media-csi.c                  |  2 --
>  drivers/media/platform/nxp/imx8-isi/imx8-isi-m2m.c           |  2 --
>  drivers/media/platform/nxp/imx8-isi/imx8-isi-video.c         |  2 --
>  drivers/media/platform/nxp/mx2_emmaprp.c                     |  2 --
>  drivers/media/platform/qcom/camss/camss-video.c              |  2 --
>  drivers/media/platform/qcom/venus/vdec.c                     |  2 --
>  drivers/media/platform/qcom/venus/venc.c                     |  2 --
>  drivers/media/platform/raspberrypi/pisp_be/pisp_be.c         |  2 --
>  drivers/media/platform/renesas/rcar-vin/rcar-dma.c           |  2 --
>  drivers/media/platform/renesas/rcar_drif.c                   |  2 --
>  drivers/media/platform/renesas/rcar_fdp1.c                   |  2 --
>  drivers/media/platform/renesas/rcar_jpu.c                    |  2 --
>  drivers/media/platform/renesas/renesas-ceu.c                 |  2 --
>  drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c       |  2 --
>  drivers/media/platform/renesas/sh_vou.c                      |  2 --
>  drivers/media/platform/renesas/vsp1/vsp1_histo.c             |  2 --
>  drivers/media/platform/renesas/vsp1/vsp1_video.c             |  2 --
>  drivers/media/platform/rockchip/rga/rga-buf.c                |  2 --
>  drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c      |  2 --
>  drivers/media/platform/rockchip/rkisp1/rkisp1-params.c       |  2 --
>  drivers/media/platform/rockchip/rkisp1/rkisp1-stats.c        |  2 --
>  drivers/media/platform/samsung/exynos-gsc/gsc-m2m.c          |  2 --
>  drivers/media/platform/samsung/exynos4-is/fimc-capture.c     |  2 --
>  drivers/media/platform/samsung/exynos4-is/fimc-isp-video.c   |  2 --
>  drivers/media/platform/samsung/exynos4-is/fimc-lite.c        |  2 --
>  drivers/media/platform/samsung/exynos4-is/fimc-m2m.c         |  2 --
>  drivers/media/platform/samsung/s3c-camif/camif-capture.c     |  2 --
>  drivers/media/platform/samsung/s5p-g2d/g2d.c                 |  2 --
>  drivers/media/platform/samsung/s5p-jpeg/jpeg-core.c          |  2 --
>  drivers/media/platform/samsung/s5p-mfc/s5p_mfc_dec.c         |  2 --
>  drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c         |  2 --
>  drivers/media/platform/st/sti/bdisp/bdisp-v4l2.c             |  2 --
>  drivers/media/platform/st/sti/delta/delta-v4l2.c             |  4 ----
>  drivers/media/platform/st/sti/hva/hva-v4l2.c                 |  2 --
>  drivers/media/platform/st/stm32/dma2d/dma2d.c                |  2 --
>  drivers/media/platform/st/stm32/stm32-dcmi.c                 |  2 --
>  .../media/platform/st/stm32/stm32-dcmipp/dcmipp-bytecap.c    |  6 ------
>  drivers/media/platform/sunxi/sun4i-csi/sun4i_dma.c           |  2 --
>  drivers/media/platform/sunxi/sun6i-csi/sun6i_csi_capture.c   |  2 --
>  drivers/media/platform/sunxi/sun8i-di/sun8i-di.c             |  2 --
>  drivers/media/platform/sunxi/sun8i-rotate/sun8i_rotate.c     |  2 --
>  drivers/media/platform/ti/am437x/am437x-vpfe.c               |  2 --
>  drivers/media/platform/ti/cal/cal-video.c                    |  2 --
>  drivers/media/platform/ti/davinci/vpif_capture.c             |  2 --
>  drivers/media/platform/ti/davinci/vpif_display.c             |  2 --
>  drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c        |  2 --
>  drivers/media/platform/ti/omap/omap_vout.c                   |  2 --
>  drivers/media/platform/ti/vpe/vpe.c                          |  2 --
>  drivers/media/platform/verisilicon/hantro_v4l2.c             |  2 --
>  drivers/media/platform/via/via-camera.c                      |  2 --
>  drivers/media/platform/xilinx/xilinx-dma.c                   |  2 --
>  drivers/media/test-drivers/vicodec/vicodec-core.c            |  2 --
>  drivers/media/test-drivers/vim2m.c                           |  2 --
>  drivers/media/test-drivers/vimc/vimc-capture.c               |  6 ------
>  drivers/media/test-drivers/visl/visl-video.c                 |  2 --
>  drivers/media/test-drivers/vivid/vivid-meta-cap.c            |  2 --
>  drivers/media/test-drivers/vivid/vivid-meta-out.c            |  2 --
>  drivers/media/test-drivers/vivid/vivid-sdr-cap.c             |  2 --
>  drivers/media/test-drivers/vivid/vivid-touch-cap.c           |  2 --
>  drivers/media/test-drivers/vivid/vivid-vbi-cap.c             |  2 --
>  drivers/media/test-drivers/vivid/vivid-vbi-out.c             |  2 --
>  drivers/media/test-drivers/vivid/vivid-vid-cap.c             |  2 --
>  drivers/media/test-drivers/vivid/vivid-vid-out.c             |  2 --
>  drivers/media/usb/airspy/airspy.c                            |  2 --
>  drivers/media/usb/au0828/au0828-vbi.c                        |  2 --
>  drivers/media/usb/au0828/au0828-video.c                      |  2 --
>  drivers/media/usb/cx231xx/cx231xx-417.c                      |  2 --
>  drivers/media/usb/cx231xx/cx231xx-vbi.c                      |  2 --
>  drivers/media/usb/cx231xx/cx231xx-video.c                    |  2 --
>  drivers/media/usb/dvb-usb/cxusb-analog.c                     |  2 --
>  drivers/media/usb/em28xx/em28xx-vbi.c                        |  2 --
>  drivers/media/usb/em28xx/em28xx-video.c                      |  2 --
>  drivers/media/usb/go7007/go7007-v4l2.c                       |  2 --
>  drivers/media/usb/gspca/gspca.c                              |  2 --
>  drivers/media/usb/hackrf/hackrf.c                            |  2 --
>  drivers/media/usb/msi2500/msi2500.c                          |  2 --
>  drivers/media/usb/pwc/pwc-if.c                               |  2 --
>  drivers/media/usb/s2255/s2255drv.c                           |  2 --
>  drivers/media/usb/stk1160/stk1160-v4l.c                      |  2 --
>  drivers/media/usb/usbtv/usbtv-video.c                        |  2 --
>  drivers/media/usb/uvc/uvc_queue.c                            |  4 ----
>  drivers/staging/media/atomisp/pci/atomisp_fops.c             |  2 --
>  drivers/staging/media/deprecated/atmel/atmel-isc-base.c      |  2 --
>  drivers/staging/media/imx/imx-media-capture.c                |  2 --
>  drivers/staging/media/imx/imx-media-csc-scaler.c             |  2 --
>  drivers/staging/media/ipu3/ipu3-v4l2.c                       |  2 --
>  drivers/staging/media/meson/vdec/vdec.c                      |  2 --
>  drivers/staging/media/rkvdec/rkvdec.c                        |  2 --
>  drivers/staging/media/starfive/camss/stf-video.c             |  2 --
>  drivers/staging/media/sunxi/cedrus/cedrus_video.c            |  2 --
>  drivers/staging/media/sunxi/sun6i-isp/sun6i_isp_capture.c    |  2 --
>  drivers/staging/media/sunxi/sun6i-isp/sun6i_isp_params.c     |  2 --
>  drivers/staging/media/tegra-video/vi.c                       |  2 --
>  samples/v4l/v4l2-pci-skeleton.c                              |  6 +-----
>  153 files changed, 9 insertions(+), 327 deletions(-)
> ---
> base-commit: bcd4f091cf1ea7184d813afc115af82ac9326b25
> change-id: 20241014-vb2-wait-445a4ead0c4f
Shuah Oct. 15, 2024, 3:13 p.m. UTC | #3
On 10/14/24 09:06, Hans Verkuil wrote:
> This patch series makes one change to videobuf2-core.c in vb2_thread()
> where wait_prepare/finish was also called. That was missed in the
> previous commit 88785982a19d ("media: vb2: use lock if wait_prepare/finish
> are NULL"), but that is needed before we can start removing the
> vb2_ops_wait_prepare/finish callbacks from drivers.
> 
> The next 9 patches drop the vb2_ops_wait_prepare/finish callbacks
> from the various drivers in the media subsystem.
> 
> After this there are some V4L2 drivers in other subsystems (gadget,
> input, staging) that need this change as well, but I'll start on that
> when this series is merged.
> 
> There are also a few drivers that set the wait_prepare/finish callbacks
> to their own implementation. Those need work as well.
> 
> Since this series touches on almost all V4L2 drivers, it is sent to
> a lot of people.
> 
> Regards,
> 
> 	Hans
> 
> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
> ---
> Hans Verkuil (10):
>        media: videobuf2-core: update vb2_thread if wait_finish/prepare are NULL
>        media: test-drivers: drop vb2_ops_wait_prepare/finish
>        media: pci: drop vb2_ops_wait_prepare/finish
>        media: usb: drop vb2_ops_wait_prepare/finish
>        media: video-i2c: drop vb2_ops_wait_prepare/finish
>        media: rtl2832_sdr: drop vb2_ops_wait_prepare/finish
>        media: platform: drop vb2_ops_wait_prepare/finish
>        media: common: saa7146: drop vb2_ops_wait_prepare/finish
>        staging: media: drop vb2_ops_wait_prepare/finish
>        media: samples: v4l2-pci-skeleton.c: drop vb2_ops_wait_prepare/finish
> 
>   drivers/media/common/saa7146/saa7146_vbi.c                   |  2 --
>   drivers/media/common/saa7146/saa7146_video.c                 |  2 --
>   drivers/media/common/videobuf2/videobuf2-core.c              | 12 ++++++++----
>   drivers/media/dvb-frontends/rtl2832_sdr.c                    |  2 --
>   drivers/media/i2c/video-i2c.c                                |  2 --
>   drivers/media/pci/bt8xx/bttv-driver.c                        |  2 --
>   drivers/media/pci/bt8xx/bttv-vbi.c                           |  2 --
>   drivers/media/pci/cobalt/cobalt-v4l2.c                       |  2 --
>   drivers/media/pci/cx18/cx18-streams.c                        |  2 --
>   drivers/media/pci/cx23885/cx23885-417.c                      |  2 --
>   drivers/media/pci/cx23885/cx23885-dvb.c                      |  2 --
>   drivers/media/pci/cx23885/cx23885-vbi.c                      |  2 --
>   drivers/media/pci/cx23885/cx23885-video.c                    |  2 --
>   drivers/media/pci/cx25821/cx25821-video.c                    |  2 --
>   drivers/media/pci/cx88/cx88-blackbird.c                      |  2 --
>   drivers/media/pci/cx88/cx88-dvb.c                            |  2 --
>   drivers/media/pci/cx88/cx88-vbi.c                            |  2 --
>   drivers/media/pci/cx88/cx88-video.c                          |  2 --
>   drivers/media/pci/dt3155/dt3155.c                            |  2 --
>   drivers/media/pci/intel/ipu3/ipu3-cio2.c                     |  2 --
>   drivers/media/pci/intel/ipu6/ipu6-isys-queue.c               |  2 --
>   drivers/media/pci/mgb4/mgb4_vin.c                            |  2 --
>   drivers/media/pci/mgb4/mgb4_vout.c                           |  2 --
>   drivers/media/pci/saa7134/saa7134-empress.c                  |  2 --
>   drivers/media/pci/saa7134/saa7134-ts.c                       |  2 --
>   drivers/media/pci/saa7134/saa7134-vbi.c                      |  2 --
>   drivers/media/pci/saa7134/saa7134-video.c                    |  2 --
>   drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c               |  2 --
>   drivers/media/pci/solo6x10/solo6x10-v4l2.c                   |  2 --
>   drivers/media/pci/sta2x11/sta2x11_vip.c                      |  2 --
>   drivers/media/pci/tw5864/tw5864-video.c                      |  2 --
>   drivers/media/pci/tw68/tw68-video.c                          |  2 --
>   drivers/media/pci/tw686x/tw686x-video.c                      |  2 --
>   drivers/media/pci/zoran/zoran_driver.c                       |  2 --
>   drivers/media/platform/allegro-dvt/allegro-core.c            |  2 --
>   drivers/media/platform/amlogic/meson-ge2d/ge2d.c             |  2 --
>   drivers/media/platform/amphion/vpu_v4l2.c                    |  2 --
>   drivers/media/platform/aspeed/aspeed-video.c                 |  2 --
>   drivers/media/platform/atmel/atmel-isi.c                     |  2 --
>   drivers/media/platform/broadcom/bcm2835-unicam.c             |  2 --
>   drivers/media/platform/chips-media/coda/coda-common.c        |  2 --
>   drivers/media/platform/chips-media/wave5/wave5-vpu-dec.c     |  2 --
>   drivers/media/platform/chips-media/wave5/wave5-vpu-enc.c     |  2 --
>   drivers/media/platform/imagination/e5010-jpeg-enc.c          |  2 --
>   drivers/media/platform/intel/pxa_camera.c                    |  2 --
>   drivers/media/platform/m2m-deinterlace.c                     |  2 --
>   drivers/media/platform/marvell/mcam-core.c                   |  4 ----
>   drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c         |  4 ----
>   drivers/media/platform/mediatek/mdp/mtk_mdp_m2m.c            |  2 --
>   drivers/media/platform/mediatek/mdp3/mtk-mdp3-m2m.c          |  2 --
>   .../mediatek/vcodec/decoder/mtk_vcodec_dec_stateful.c        |  2 --
>   .../mediatek/vcodec/decoder/mtk_vcodec_dec_stateless.c       |  2 --
>   .../media/platform/mediatek/vcodec/encoder/mtk_vcodec_enc.c  |  2 --
>   drivers/media/platform/microchip/microchip-isc-base.c        |  2 --
>   drivers/media/platform/nuvoton/npcm-video.c                  |  2 --
>   drivers/media/platform/nvidia/tegra-vde/v4l2.c               |  2 --
>   drivers/media/platform/nxp/dw100/dw100.c                     |  2 --
>   drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c               |  2 --
>   drivers/media/platform/nxp/imx-pxp.c                         |  2 --
>   drivers/media/platform/nxp/imx7-media-csi.c                  |  2 --
>   drivers/media/platform/nxp/imx8-isi/imx8-isi-m2m.c           |  2 --
>   drivers/media/platform/nxp/imx8-isi/imx8-isi-video.c         |  2 --
>   drivers/media/platform/nxp/mx2_emmaprp.c                     |  2 --
>   drivers/media/platform/qcom/camss/camss-video.c              |  2 --
>   drivers/media/platform/qcom/venus/vdec.c                     |  2 --
>   drivers/media/platform/qcom/venus/venc.c                     |  2 --
>   drivers/media/platform/raspberrypi/pisp_be/pisp_be.c         |  2 --
>   drivers/media/platform/renesas/rcar-vin/rcar-dma.c           |  2 --
>   drivers/media/platform/renesas/rcar_drif.c                   |  2 --
>   drivers/media/platform/renesas/rcar_fdp1.c                   |  2 --
>   drivers/media/platform/renesas/rcar_jpu.c                    |  2 --
>   drivers/media/platform/renesas/renesas-ceu.c                 |  2 --
>   drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c       |  2 --
>   drivers/media/platform/renesas/sh_vou.c                      |  2 --
>   drivers/media/platform/renesas/vsp1/vsp1_histo.c             |  2 --
>   drivers/media/platform/renesas/vsp1/vsp1_video.c             |  2 --
>   drivers/media/platform/rockchip/rga/rga-buf.c                |  2 --
>   drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c      |  2 --
>   drivers/media/platform/rockchip/rkisp1/rkisp1-params.c       |  2 --
>   drivers/media/platform/rockchip/rkisp1/rkisp1-stats.c        |  2 --
>   drivers/media/platform/samsung/exynos-gsc/gsc-m2m.c          |  2 --
>   drivers/media/platform/samsung/exynos4-is/fimc-capture.c     |  2 --
>   drivers/media/platform/samsung/exynos4-is/fimc-isp-video.c   |  2 --
>   drivers/media/platform/samsung/exynos4-is/fimc-lite.c        |  2 --
>   drivers/media/platform/samsung/exynos4-is/fimc-m2m.c         |  2 --
>   drivers/media/platform/samsung/s3c-camif/camif-capture.c     |  2 --
>   drivers/media/platform/samsung/s5p-g2d/g2d.c                 |  2 --
>   drivers/media/platform/samsung/s5p-jpeg/jpeg-core.c          |  2 --
>   drivers/media/platform/samsung/s5p-mfc/s5p_mfc_dec.c         |  2 --
>   drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c         |  2 --
>   drivers/media/platform/st/sti/bdisp/bdisp-v4l2.c             |  2 --
>   drivers/media/platform/st/sti/delta/delta-v4l2.c             |  4 ----
>   drivers/media/platform/st/sti/hva/hva-v4l2.c                 |  2 --
>   drivers/media/platform/st/stm32/dma2d/dma2d.c                |  2 --
>   drivers/media/platform/st/stm32/stm32-dcmi.c                 |  2 --
>   .../media/platform/st/stm32/stm32-dcmipp/dcmipp-bytecap.c    |  6 ------
>   drivers/media/platform/sunxi/sun4i-csi/sun4i_dma.c           |  2 --
>   drivers/media/platform/sunxi/sun6i-csi/sun6i_csi_capture.c   |  2 --
>   drivers/media/platform/sunxi/sun8i-di/sun8i-di.c             |  2 --
>   drivers/media/platform/sunxi/sun8i-rotate/sun8i_rotate.c     |  2 --
>   drivers/media/platform/ti/am437x/am437x-vpfe.c               |  2 --
>   drivers/media/platform/ti/cal/cal-video.c                    |  2 --
>   drivers/media/platform/ti/davinci/vpif_capture.c             |  2 --
>   drivers/media/platform/ti/davinci/vpif_display.c             |  2 --
>   drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c        |  2 --
>   drivers/media/platform/ti/omap/omap_vout.c                   |  2 --
>   drivers/media/platform/ti/vpe/vpe.c                          |  2 --
>   drivers/media/platform/verisilicon/hantro_v4l2.c             |  2 --
>   drivers/media/platform/via/via-camera.c                      |  2 --
>   drivers/media/platform/xilinx/xilinx-dma.c                   |  2 --
>   drivers/media/test-drivers/vicodec/vicodec-core.c            |  2 --
>   drivers/media/test-drivers/vim2m.c                           |  2 --
>   drivers/media/test-drivers/vimc/vimc-capture.c               |  6 ------
>   drivers/media/test-drivers/visl/visl-video.c                 |  2 --
>   drivers/media/test-drivers/vivid/vivid-meta-cap.c            |  2 --
>   drivers/media/test-drivers/vivid/vivid-meta-out.c            |  2 --
>   drivers/media/test-drivers/vivid/vivid-sdr-cap.c             |  2 --
>   drivers/media/test-drivers/vivid/vivid-touch-cap.c           |  2 --
>   drivers/media/test-drivers/vivid/vivid-vbi-cap.c             |  2 --
>   drivers/media/test-drivers/vivid/vivid-vbi-out.c             |  2 --
>   drivers/media/test-drivers/vivid/vivid-vid-cap.c             |  2 --
>   drivers/media/test-drivers/vivid/vivid-vid-out.c             |  2 --
>   drivers/media/usb/airspy/airspy.c                            |  2 --
>   drivers/media/usb/au0828/au0828-vbi.c                        |  2 --
>   drivers/media/usb/au0828/au0828-video.c                      |  2 --
>   drivers/media/usb/cx231xx/cx231xx-417.c                      |  2 --
>   drivers/media/usb/cx231xx/cx231xx-vbi.c                      |  2 --
>   drivers/media/usb/cx231xx/cx231xx-video.c                    |  2 --
>   drivers/media/usb/dvb-usb/cxusb-analog.c                     |  2 --
>   drivers/media/usb/em28xx/em28xx-vbi.c                        |  2 --
>   drivers/media/usb/em28xx/em28xx-video.c                      |  2 --
>   drivers/media/usb/go7007/go7007-v4l2.c                       |  2 --
>   drivers/media/usb/gspca/gspca.c                              |  2 --
>   drivers/media/usb/hackrf/hackrf.c                            |  2 --
>   drivers/media/usb/msi2500/msi2500.c                          |  2 --
>   drivers/media/usb/pwc/pwc-if.c                               |  2 --
>   drivers/media/usb/s2255/s2255drv.c                           |  2 --
>   drivers/media/usb/stk1160/stk1160-v4l.c                      |  2 --
>   drivers/media/usb/usbtv/usbtv-video.c                        |  2 --
>   drivers/media/usb/uvc/uvc_queue.c                            |  4 ----
>   drivers/staging/media/atomisp/pci/atomisp_fops.c             |  2 --
>   drivers/staging/media/deprecated/atmel/atmel-isc-base.c      |  2 --
>   drivers/staging/media/imx/imx-media-capture.c                |  2 --
>   drivers/staging/media/imx/imx-media-csc-scaler.c             |  2 --
>   drivers/staging/media/ipu3/ipu3-v4l2.c                       |  2 --
>   drivers/staging/media/meson/vdec/vdec.c                      |  2 --
>   drivers/staging/media/rkvdec/rkvdec.c                        |  2 --
>   drivers/staging/media/starfive/camss/stf-video.c             |  2 --
>   drivers/staging/media/sunxi/cedrus/cedrus_video.c            |  2 --
>   drivers/staging/media/sunxi/sun6i-isp/sun6i_isp_capture.c    |  2 --
>   drivers/staging/media/sunxi/sun6i-isp/sun6i_isp_params.c     |  2 --
>   drivers/staging/media/tegra-video/vi.c                       |  2 --
>   samples/v4l/v4l2-pci-skeleton.c                              |  6 +-----
>   153 files changed, 9 insertions(+), 327 deletions(-)
> ---
> base-commit: bcd4f091cf1ea7184d813afc115af82ac9326b25
> change-id: 20241014-vb2-wait-445a4ead0c4f
> 
> Best regards,

That is a long list :)

I am seeing the following drivers that use .wait_prepare
and .wait_finish in Linux 6.12-rc3 - should they be included
in this series.

input drivers:
drivers/input/rmi4/rmi_f54.c
drivers/input/touchscreen/atmel_mxt_ts.c
drivers/input/touchscreen/sur40.c

staging drivers:
drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c

thanks,
-- Shuah
Hans Verkuil Oct. 15, 2024, 3:23 p.m. UTC | #4
On 15/10/2024 17:13, Shuah wrote:
> On 10/14/24 09:06, Hans Verkuil wrote:
>> This patch series makes one change to videobuf2-core.c in vb2_thread()
>> where wait_prepare/finish was also called. That was missed in the
>> previous commit 88785982a19d ("media: vb2: use lock if wait_prepare/finish
>> are NULL"), but that is needed before we can start removing the
>> vb2_ops_wait_prepare/finish callbacks from drivers.
>>
>> The next 9 patches drop the vb2_ops_wait_prepare/finish callbacks
>> from the various drivers in the media subsystem.
>>
>> After this there are some V4L2 drivers in other subsystems (gadget,
>> input, staging) that need this change as well, but I'll start on that
>> when this series is merged.
>>
>> There are also a few drivers that set the wait_prepare/finish callbacks
>> to their own implementation. Those need work as well.
>>
>> Since this series touches on almost all V4L2 drivers, it is sent to
>> a lot of people.
>>
>> Regards,
>>
>>     Hans
>>
>> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
>> ---
>> Hans Verkuil (10):
>>        media: videobuf2-core: update vb2_thread if wait_finish/prepare are NULL
>>        media: test-drivers: drop vb2_ops_wait_prepare/finish
>>        media: pci: drop vb2_ops_wait_prepare/finish
>>        media: usb: drop vb2_ops_wait_prepare/finish
>>        media: video-i2c: drop vb2_ops_wait_prepare/finish
>>        media: rtl2832_sdr: drop vb2_ops_wait_prepare/finish
>>        media: platform: drop vb2_ops_wait_prepare/finish
>>        media: common: saa7146: drop vb2_ops_wait_prepare/finish
>>        staging: media: drop vb2_ops_wait_prepare/finish
>>        media: samples: v4l2-pci-skeleton.c: drop vb2_ops_wait_prepare/finish
>>
>>   drivers/media/common/saa7146/saa7146_vbi.c                   |  2 --
>>   drivers/media/common/saa7146/saa7146_video.c                 |  2 --
>>   drivers/media/common/videobuf2/videobuf2-core.c              | 12 ++++++++----
>>   drivers/media/dvb-frontends/rtl2832_sdr.c                    |  2 --
>>   drivers/media/i2c/video-i2c.c                                |  2 --
>>   drivers/media/pci/bt8xx/bttv-driver.c                        |  2 --
>>   drivers/media/pci/bt8xx/bttv-vbi.c                           |  2 --
>>   drivers/media/pci/cobalt/cobalt-v4l2.c                       |  2 --
>>   drivers/media/pci/cx18/cx18-streams.c                        |  2 --
>>   drivers/media/pci/cx23885/cx23885-417.c                      |  2 --
>>   drivers/media/pci/cx23885/cx23885-dvb.c                      |  2 --
>>   drivers/media/pci/cx23885/cx23885-vbi.c                      |  2 --
>>   drivers/media/pci/cx23885/cx23885-video.c                    |  2 --
>>   drivers/media/pci/cx25821/cx25821-video.c                    |  2 --
>>   drivers/media/pci/cx88/cx88-blackbird.c                      |  2 --
>>   drivers/media/pci/cx88/cx88-dvb.c                            |  2 --
>>   drivers/media/pci/cx88/cx88-vbi.c                            |  2 --
>>   drivers/media/pci/cx88/cx88-video.c                          |  2 --
>>   drivers/media/pci/dt3155/dt3155.c                            |  2 --
>>   drivers/media/pci/intel/ipu3/ipu3-cio2.c                     |  2 --
>>   drivers/media/pci/intel/ipu6/ipu6-isys-queue.c               |  2 --
>>   drivers/media/pci/mgb4/mgb4_vin.c                            |  2 --
>>   drivers/media/pci/mgb4/mgb4_vout.c                           |  2 --
>>   drivers/media/pci/saa7134/saa7134-empress.c                  |  2 --
>>   drivers/media/pci/saa7134/saa7134-ts.c                       |  2 --
>>   drivers/media/pci/saa7134/saa7134-vbi.c                      |  2 --
>>   drivers/media/pci/saa7134/saa7134-video.c                    |  2 --
>>   drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c               |  2 --
>>   drivers/media/pci/solo6x10/solo6x10-v4l2.c                   |  2 --
>>   drivers/media/pci/sta2x11/sta2x11_vip.c                      |  2 --
>>   drivers/media/pci/tw5864/tw5864-video.c                      |  2 --
>>   drivers/media/pci/tw68/tw68-video.c                          |  2 --
>>   drivers/media/pci/tw686x/tw686x-video.c                      |  2 --
>>   drivers/media/pci/zoran/zoran_driver.c                       |  2 --
>>   drivers/media/platform/allegro-dvt/allegro-core.c            |  2 --
>>   drivers/media/platform/amlogic/meson-ge2d/ge2d.c             |  2 --
>>   drivers/media/platform/amphion/vpu_v4l2.c                    |  2 --
>>   drivers/media/platform/aspeed/aspeed-video.c                 |  2 --
>>   drivers/media/platform/atmel/atmel-isi.c                     |  2 --
>>   drivers/media/platform/broadcom/bcm2835-unicam.c             |  2 --
>>   drivers/media/platform/chips-media/coda/coda-common.c        |  2 --
>>   drivers/media/platform/chips-media/wave5/wave5-vpu-dec.c     |  2 --
>>   drivers/media/platform/chips-media/wave5/wave5-vpu-enc.c     |  2 --
>>   drivers/media/platform/imagination/e5010-jpeg-enc.c          |  2 --
>>   drivers/media/platform/intel/pxa_camera.c                    |  2 --
>>   drivers/media/platform/m2m-deinterlace.c                     |  2 --
>>   drivers/media/platform/marvell/mcam-core.c                   |  4 ----
>>   drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c         |  4 ----
>>   drivers/media/platform/mediatek/mdp/mtk_mdp_m2m.c            |  2 --
>>   drivers/media/platform/mediatek/mdp3/mtk-mdp3-m2m.c          |  2 --
>>   .../mediatek/vcodec/decoder/mtk_vcodec_dec_stateful.c        |  2 --
>>   .../mediatek/vcodec/decoder/mtk_vcodec_dec_stateless.c       |  2 --
>>   .../media/platform/mediatek/vcodec/encoder/mtk_vcodec_enc.c  |  2 --
>>   drivers/media/platform/microchip/microchip-isc-base.c        |  2 --
>>   drivers/media/platform/nuvoton/npcm-video.c                  |  2 --
>>   drivers/media/platform/nvidia/tegra-vde/v4l2.c               |  2 --
>>   drivers/media/platform/nxp/dw100/dw100.c                     |  2 --
>>   drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c               |  2 --
>>   drivers/media/platform/nxp/imx-pxp.c                         |  2 --
>>   drivers/media/platform/nxp/imx7-media-csi.c                  |  2 --
>>   drivers/media/platform/nxp/imx8-isi/imx8-isi-m2m.c           |  2 --
>>   drivers/media/platform/nxp/imx8-isi/imx8-isi-video.c         |  2 --
>>   drivers/media/platform/nxp/mx2_emmaprp.c                     |  2 --
>>   drivers/media/platform/qcom/camss/camss-video.c              |  2 --
>>   drivers/media/platform/qcom/venus/vdec.c                     |  2 --
>>   drivers/media/platform/qcom/venus/venc.c                     |  2 --
>>   drivers/media/platform/raspberrypi/pisp_be/pisp_be.c         |  2 --
>>   drivers/media/platform/renesas/rcar-vin/rcar-dma.c           |  2 --
>>   drivers/media/platform/renesas/rcar_drif.c                   |  2 --
>>   drivers/media/platform/renesas/rcar_fdp1.c                   |  2 --
>>   drivers/media/platform/renesas/rcar_jpu.c                    |  2 --
>>   drivers/media/platform/renesas/renesas-ceu.c                 |  2 --
>>   drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c       |  2 --
>>   drivers/media/platform/renesas/sh_vou.c                      |  2 --
>>   drivers/media/platform/renesas/vsp1/vsp1_histo.c             |  2 --
>>   drivers/media/platform/renesas/vsp1/vsp1_video.c             |  2 --
>>   drivers/media/platform/rockchip/rga/rga-buf.c                |  2 --
>>   drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c      |  2 --
>>   drivers/media/platform/rockchip/rkisp1/rkisp1-params.c       |  2 --
>>   drivers/media/platform/rockchip/rkisp1/rkisp1-stats.c        |  2 --
>>   drivers/media/platform/samsung/exynos-gsc/gsc-m2m.c          |  2 --
>>   drivers/media/platform/samsung/exynos4-is/fimc-capture.c     |  2 --
>>   drivers/media/platform/samsung/exynos4-is/fimc-isp-video.c   |  2 --
>>   drivers/media/platform/samsung/exynos4-is/fimc-lite.c        |  2 --
>>   drivers/media/platform/samsung/exynos4-is/fimc-m2m.c         |  2 --
>>   drivers/media/platform/samsung/s3c-camif/camif-capture.c     |  2 --
>>   drivers/media/platform/samsung/s5p-g2d/g2d.c                 |  2 --
>>   drivers/media/platform/samsung/s5p-jpeg/jpeg-core.c          |  2 --
>>   drivers/media/platform/samsung/s5p-mfc/s5p_mfc_dec.c         |  2 --
>>   drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c         |  2 --
>>   drivers/media/platform/st/sti/bdisp/bdisp-v4l2.c             |  2 --
>>   drivers/media/platform/st/sti/delta/delta-v4l2.c             |  4 ----
>>   drivers/media/platform/st/sti/hva/hva-v4l2.c                 |  2 --
>>   drivers/media/platform/st/stm32/dma2d/dma2d.c                |  2 --
>>   drivers/media/platform/st/stm32/stm32-dcmi.c                 |  2 --
>>   .../media/platform/st/stm32/stm32-dcmipp/dcmipp-bytecap.c    |  6 ------
>>   drivers/media/platform/sunxi/sun4i-csi/sun4i_dma.c           |  2 --
>>   drivers/media/platform/sunxi/sun6i-csi/sun6i_csi_capture.c   |  2 --
>>   drivers/media/platform/sunxi/sun8i-di/sun8i-di.c             |  2 --
>>   drivers/media/platform/sunxi/sun8i-rotate/sun8i_rotate.c     |  2 --
>>   drivers/media/platform/ti/am437x/am437x-vpfe.c               |  2 --
>>   drivers/media/platform/ti/cal/cal-video.c                    |  2 --
>>   drivers/media/platform/ti/davinci/vpif_capture.c             |  2 --
>>   drivers/media/platform/ti/davinci/vpif_display.c             |  2 --
>>   drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c        |  2 --
>>   drivers/media/platform/ti/omap/omap_vout.c                   |  2 --
>>   drivers/media/platform/ti/vpe/vpe.c                          |  2 --
>>   drivers/media/platform/verisilicon/hantro_v4l2.c             |  2 --
>>   drivers/media/platform/via/via-camera.c                      |  2 --
>>   drivers/media/platform/xilinx/xilinx-dma.c                   |  2 --
>>   drivers/media/test-drivers/vicodec/vicodec-core.c            |  2 --
>>   drivers/media/test-drivers/vim2m.c                           |  2 --
>>   drivers/media/test-drivers/vimc/vimc-capture.c               |  6 ------
>>   drivers/media/test-drivers/visl/visl-video.c                 |  2 --
>>   drivers/media/test-drivers/vivid/vivid-meta-cap.c            |  2 --
>>   drivers/media/test-drivers/vivid/vivid-meta-out.c            |  2 --
>>   drivers/media/test-drivers/vivid/vivid-sdr-cap.c             |  2 --
>>   drivers/media/test-drivers/vivid/vivid-touch-cap.c           |  2 --
>>   drivers/media/test-drivers/vivid/vivid-vbi-cap.c             |  2 --
>>   drivers/media/test-drivers/vivid/vivid-vbi-out.c             |  2 --
>>   drivers/media/test-drivers/vivid/vivid-vid-cap.c             |  2 --
>>   drivers/media/test-drivers/vivid/vivid-vid-out.c             |  2 --
>>   drivers/media/usb/airspy/airspy.c                            |  2 --
>>   drivers/media/usb/au0828/au0828-vbi.c                        |  2 --
>>   drivers/media/usb/au0828/au0828-video.c                      |  2 --
>>   drivers/media/usb/cx231xx/cx231xx-417.c                      |  2 --
>>   drivers/media/usb/cx231xx/cx231xx-vbi.c                      |  2 --
>>   drivers/media/usb/cx231xx/cx231xx-video.c                    |  2 --
>>   drivers/media/usb/dvb-usb/cxusb-analog.c                     |  2 --
>>   drivers/media/usb/em28xx/em28xx-vbi.c                        |  2 --
>>   drivers/media/usb/em28xx/em28xx-video.c                      |  2 --
>>   drivers/media/usb/go7007/go7007-v4l2.c                       |  2 --
>>   drivers/media/usb/gspca/gspca.c                              |  2 --
>>   drivers/media/usb/hackrf/hackrf.c                            |  2 --
>>   drivers/media/usb/msi2500/msi2500.c                          |  2 --
>>   drivers/media/usb/pwc/pwc-if.c                               |  2 --
>>   drivers/media/usb/s2255/s2255drv.c                           |  2 --
>>   drivers/media/usb/stk1160/stk1160-v4l.c                      |  2 --
>>   drivers/media/usb/usbtv/usbtv-video.c                        |  2 --
>>   drivers/media/usb/uvc/uvc_queue.c                            |  4 ----
>>   drivers/staging/media/atomisp/pci/atomisp_fops.c             |  2 --
>>   drivers/staging/media/deprecated/atmel/atmel-isc-base.c      |  2 --
>>   drivers/staging/media/imx/imx-media-capture.c                |  2 --
>>   drivers/staging/media/imx/imx-media-csc-scaler.c             |  2 --
>>   drivers/staging/media/ipu3/ipu3-v4l2.c                       |  2 --
>>   drivers/staging/media/meson/vdec/vdec.c                      |  2 --
>>   drivers/staging/media/rkvdec/rkvdec.c                        |  2 --
>>   drivers/staging/media/starfive/camss/stf-video.c             |  2 --
>>   drivers/staging/media/sunxi/cedrus/cedrus_video.c            |  2 --
>>   drivers/staging/media/sunxi/sun6i-isp/sun6i_isp_capture.c    |  2 --
>>   drivers/staging/media/sunxi/sun6i-isp/sun6i_isp_params.c     |  2 --
>>   drivers/staging/media/tegra-video/vi.c                       |  2 --
>>   samples/v4l/v4l2-pci-skeleton.c                              |  6 +-----
>>   153 files changed, 9 insertions(+), 327 deletions(-)
>> ---
>> base-commit: bcd4f091cf1ea7184d813afc115af82ac9326b25
>> change-id: 20241014-vb2-wait-445a4ead0c4f
>>
>> Best regards,
> 
> That is a long list :)
> 
> I am seeing the following drivers that use .wait_prepare
> and .wait_finish in Linux 6.12-rc3 - should they be included
> in this series.
> 
> input drivers:
> drivers/input/rmi4/rmi_f54.c
> drivers/input/touchscreen/atmel_mxt_ts.c
> drivers/input/touchscreen/sur40.c
> 
> staging drivers:
> drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c

I'll do those separately, let's start with the main bulk in the media
subsystem :-)

If you're curious, the remainder is here:

https://git.linuxtv.org/hverkuil/media_tree.git/log/?h=vb2_wait

But it needs a bit more work, since there are some complications around
a DVB driver that I don't fully understand yet.

Regards,

	Hans

> 
> thanks,
> -- Shuah
Shuah Oct. 16, 2024, 3 p.m. UTC | #5
On 10/15/24 09:23, Hans Verkuil wrote:
> On 15/10/2024 17:13, Shuah wrote:
>> On 10/14/24 09:06, Hans Verkuil wrote:
>>> This patch series makes one change to videobuf2-core.c in vb2_thread()
>>> where wait_prepare/finish was also called. That was missed in the
>>> previous commit 88785982a19d ("media: vb2: use lock if wait_prepare/finish
>>> are NULL"), but that is needed before we can start removing the
>>> vb2_ops_wait_prepare/finish callbacks from drivers.
>>>
>>> The next 9 patches drop the vb2_ops_wait_prepare/finish callbacks
>>> from the various drivers in the media subsystem.
>>>
>>> After this there are some V4L2 drivers in other subsystems (gadget,
>>> input, staging) that need this change as well, but I'll start on that
>>> when this series is merged.
>>>
>>> There are also a few drivers that set the wait_prepare/finish callbacks
>>> to their own implementation. Those need work as well.
>>>
>>> Since this series touches on almost all V4L2 drivers, it is sent to
>>> a lot of people.
>>>
>>> Regards,
>>>
>>>      Hans
>>>
>>> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
>>> ---
>>> Hans Verkuil (10):
>>>         media: videobuf2-core: update vb2_thread if wait_finish/prepare are NULL
>>>         media: test-drivers: drop vb2_ops_wait_prepare/finish
>>>         media: pci: drop vb2_ops_wait_prepare/finish
>>>         media: usb: drop vb2_ops_wait_prepare/finish
>>>         media: video-i2c: drop vb2_ops_wait_prepare/finish
>>>         media: rtl2832_sdr: drop vb2_ops_wait_prepare/finish
>>>         media: platform: drop vb2_ops_wait_prepare/finish
>>>         media: common: saa7146: drop vb2_ops_wait_prepare/finish
>>>         staging: media: drop vb2_ops_wait_prepare/finish
>>>         media: samples: v4l2-pci-skeleton.c: drop vb2_ops_wait_prepare/finish
>>>
>>>    drivers/media/common/saa7146/saa7146_vbi.c                   |  2 --
>>>    drivers/media/common/saa7146/saa7146_video.c                 |  2 --
>>>    drivers/media/common/videobuf2/videobuf2-core.c              | 12 ++++++++----
>>>    drivers/media/dvb-frontends/rtl2832_sdr.c                    |  2 --
>>>    drivers/media/i2c/video-i2c.c                                |  2 --
>>>    drivers/media/pci/bt8xx/bttv-driver.c                        |  2 --
>>>    drivers/media/pci/bt8xx/bttv-vbi.c                           |  2 --
>>>    drivers/media/pci/cobalt/cobalt-v4l2.c                       |  2 --
>>>    drivers/media/pci/cx18/cx18-streams.c                        |  2 --
>>>    drivers/media/pci/cx23885/cx23885-417.c                      |  2 --
>>>    drivers/media/pci/cx23885/cx23885-dvb.c                      |  2 --
>>>    drivers/media/pci/cx23885/cx23885-vbi.c                      |  2 --
>>>    drivers/media/pci/cx23885/cx23885-video.c                    |  2 --
>>>    drivers/media/pci/cx25821/cx25821-video.c                    |  2 --
>>>    drivers/media/pci/cx88/cx88-blackbird.c                      |  2 --
>>>    drivers/media/pci/cx88/cx88-dvb.c                            |  2 --
>>>    drivers/media/pci/cx88/cx88-vbi.c                            |  2 --
>>>    drivers/media/pci/cx88/cx88-video.c                          |  2 --
>>>    drivers/media/pci/dt3155/dt3155.c                            |  2 --
>>>    drivers/media/pci/intel/ipu3/ipu3-cio2.c                     |  2 --
>>>    drivers/media/pci/intel/ipu6/ipu6-isys-queue.c               |  2 --
>>>    drivers/media/pci/mgb4/mgb4_vin.c                            |  2 --
>>>    drivers/media/pci/mgb4/mgb4_vout.c                           |  2 --
>>>    drivers/media/pci/saa7134/saa7134-empress.c                  |  2 --
>>>    drivers/media/pci/saa7134/saa7134-ts.c                       |  2 --
>>>    drivers/media/pci/saa7134/saa7134-vbi.c                      |  2 --
>>>    drivers/media/pci/saa7134/saa7134-video.c                    |  2 --
>>>    drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c               |  2 --
>>>    drivers/media/pci/solo6x10/solo6x10-v4l2.c                   |  2 --
>>>    drivers/media/pci/sta2x11/sta2x11_vip.c                      |  2 --
>>>    drivers/media/pci/tw5864/tw5864-video.c                      |  2 --
>>>    drivers/media/pci/tw68/tw68-video.c                          |  2 --
>>>    drivers/media/pci/tw686x/tw686x-video.c                      |  2 --
>>>    drivers/media/pci/zoran/zoran_driver.c                       |  2 --
>>>    drivers/media/platform/allegro-dvt/allegro-core.c            |  2 --
>>>    drivers/media/platform/amlogic/meson-ge2d/ge2d.c             |  2 --
>>>    drivers/media/platform/amphion/vpu_v4l2.c                    |  2 --
>>>    drivers/media/platform/aspeed/aspeed-video.c                 |  2 --
>>>    drivers/media/platform/atmel/atmel-isi.c                     |  2 --
>>>    drivers/media/platform/broadcom/bcm2835-unicam.c             |  2 --
>>>    drivers/media/platform/chips-media/coda/coda-common.c        |  2 --
>>>    drivers/media/platform/chips-media/wave5/wave5-vpu-dec.c     |  2 --
>>>    drivers/media/platform/chips-media/wave5/wave5-vpu-enc.c     |  2 --
>>>    drivers/media/platform/imagination/e5010-jpeg-enc.c          |  2 --
>>>    drivers/media/platform/intel/pxa_camera.c                    |  2 --
>>>    drivers/media/platform/m2m-deinterlace.c                     |  2 --
>>>    drivers/media/platform/marvell/mcam-core.c                   |  4 ----
>>>    drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c         |  4 ----
>>>    drivers/media/platform/mediatek/mdp/mtk_mdp_m2m.c            |  2 --
>>>    drivers/media/platform/mediatek/mdp3/mtk-mdp3-m2m.c          |  2 --
>>>    .../mediatek/vcodec/decoder/mtk_vcodec_dec_stateful.c        |  2 --
>>>    .../mediatek/vcodec/decoder/mtk_vcodec_dec_stateless.c       |  2 --
>>>    .../media/platform/mediatek/vcodec/encoder/mtk_vcodec_enc.c  |  2 --
>>>    drivers/media/platform/microchip/microchip-isc-base.c        |  2 --
>>>    drivers/media/platform/nuvoton/npcm-video.c                  |  2 --
>>>    drivers/media/platform/nvidia/tegra-vde/v4l2.c               |  2 --
>>>    drivers/media/platform/nxp/dw100/dw100.c                     |  2 --
>>>    drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c               |  2 --
>>>    drivers/media/platform/nxp/imx-pxp.c                         |  2 --
>>>    drivers/media/platform/nxp/imx7-media-csi.c                  |  2 --
>>>    drivers/media/platform/nxp/imx8-isi/imx8-isi-m2m.c           |  2 --
>>>    drivers/media/platform/nxp/imx8-isi/imx8-isi-video.c         |  2 --
>>>    drivers/media/platform/nxp/mx2_emmaprp.c                     |  2 --
>>>    drivers/media/platform/qcom/camss/camss-video.c              |  2 --
>>>    drivers/media/platform/qcom/venus/vdec.c                     |  2 --
>>>    drivers/media/platform/qcom/venus/venc.c                     |  2 --
>>>    drivers/media/platform/raspberrypi/pisp_be/pisp_be.c         |  2 --
>>>    drivers/media/platform/renesas/rcar-vin/rcar-dma.c           |  2 --
>>>    drivers/media/platform/renesas/rcar_drif.c                   |  2 --
>>>    drivers/media/platform/renesas/rcar_fdp1.c                   |  2 --
>>>    drivers/media/platform/renesas/rcar_jpu.c                    |  2 --
>>>    drivers/media/platform/renesas/renesas-ceu.c                 |  2 --
>>>    drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c       |  2 --
>>>    drivers/media/platform/renesas/sh_vou.c                      |  2 --
>>>    drivers/media/platform/renesas/vsp1/vsp1_histo.c             |  2 --
>>>    drivers/media/platform/renesas/vsp1/vsp1_video.c             |  2 --
>>>    drivers/media/platform/rockchip/rga/rga-buf.c                |  2 --
>>>    drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c      |  2 --
>>>    drivers/media/platform/rockchip/rkisp1/rkisp1-params.c       |  2 --
>>>    drivers/media/platform/rockchip/rkisp1/rkisp1-stats.c        |  2 --
>>>    drivers/media/platform/samsung/exynos-gsc/gsc-m2m.c          |  2 --
>>>    drivers/media/platform/samsung/exynos4-is/fimc-capture.c     |  2 --
>>>    drivers/media/platform/samsung/exynos4-is/fimc-isp-video.c   |  2 --
>>>    drivers/media/platform/samsung/exynos4-is/fimc-lite.c        |  2 --
>>>    drivers/media/platform/samsung/exynos4-is/fimc-m2m.c         |  2 --
>>>    drivers/media/platform/samsung/s3c-camif/camif-capture.c     |  2 --
>>>    drivers/media/platform/samsung/s5p-g2d/g2d.c                 |  2 --
>>>    drivers/media/platform/samsung/s5p-jpeg/jpeg-core.c          |  2 --
>>>    drivers/media/platform/samsung/s5p-mfc/s5p_mfc_dec.c         |  2 --
>>>    drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c         |  2 --
>>>    drivers/media/platform/st/sti/bdisp/bdisp-v4l2.c             |  2 --
>>>    drivers/media/platform/st/sti/delta/delta-v4l2.c             |  4 ----
>>>    drivers/media/platform/st/sti/hva/hva-v4l2.c                 |  2 --
>>>    drivers/media/platform/st/stm32/dma2d/dma2d.c                |  2 --
>>>    drivers/media/platform/st/stm32/stm32-dcmi.c                 |  2 --
>>>    .../media/platform/st/stm32/stm32-dcmipp/dcmipp-bytecap.c    |  6 ------
>>>    drivers/media/platform/sunxi/sun4i-csi/sun4i_dma.c           |  2 --
>>>    drivers/media/platform/sunxi/sun6i-csi/sun6i_csi_capture.c   |  2 --
>>>    drivers/media/platform/sunxi/sun8i-di/sun8i-di.c             |  2 --
>>>    drivers/media/platform/sunxi/sun8i-rotate/sun8i_rotate.c     |  2 --
>>>    drivers/media/platform/ti/am437x/am437x-vpfe.c               |  2 --
>>>    drivers/media/platform/ti/cal/cal-video.c                    |  2 --
>>>    drivers/media/platform/ti/davinci/vpif_capture.c             |  2 --
>>>    drivers/media/platform/ti/davinci/vpif_display.c             |  2 --
>>>    drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c        |  2 --
>>>    drivers/media/platform/ti/omap/omap_vout.c                   |  2 --
>>>    drivers/media/platform/ti/vpe/vpe.c                          |  2 --
>>>    drivers/media/platform/verisilicon/hantro_v4l2.c             |  2 --
>>>    drivers/media/platform/via/via-camera.c                      |  2 --
>>>    drivers/media/platform/xilinx/xilinx-dma.c                   |  2 --
>>>    drivers/media/test-drivers/vicodec/vicodec-core.c            |  2 --
>>>    drivers/media/test-drivers/vim2m.c                           |  2 --
>>>    drivers/media/test-drivers/vimc/vimc-capture.c               |  6 ------
>>>    drivers/media/test-drivers/visl/visl-video.c                 |  2 --
>>>    drivers/media/test-drivers/vivid/vivid-meta-cap.c            |  2 --
>>>    drivers/media/test-drivers/vivid/vivid-meta-out.c            |  2 --
>>>    drivers/media/test-drivers/vivid/vivid-sdr-cap.c             |  2 --
>>>    drivers/media/test-drivers/vivid/vivid-touch-cap.c           |  2 --
>>>    drivers/media/test-drivers/vivid/vivid-vbi-cap.c             |  2 --
>>>    drivers/media/test-drivers/vivid/vivid-vbi-out.c             |  2 --
>>>    drivers/media/test-drivers/vivid/vivid-vid-cap.c             |  2 --
>>>    drivers/media/test-drivers/vivid/vivid-vid-out.c             |  2 --
>>>    drivers/media/usb/airspy/airspy.c                            |  2 --
>>>    drivers/media/usb/au0828/au0828-vbi.c                        |  2 --
>>>    drivers/media/usb/au0828/au0828-video.c                      |  2 --
>>>    drivers/media/usb/cx231xx/cx231xx-417.c                      |  2 --
>>>    drivers/media/usb/cx231xx/cx231xx-vbi.c                      |  2 --
>>>    drivers/media/usb/cx231xx/cx231xx-video.c                    |  2 --
>>>    drivers/media/usb/dvb-usb/cxusb-analog.c                     |  2 --
>>>    drivers/media/usb/em28xx/em28xx-vbi.c                        |  2 --
>>>    drivers/media/usb/em28xx/em28xx-video.c                      |  2 --
>>>    drivers/media/usb/go7007/go7007-v4l2.c                       |  2 --
>>>    drivers/media/usb/gspca/gspca.c                              |  2 --
>>>    drivers/media/usb/hackrf/hackrf.c                            |  2 --
>>>    drivers/media/usb/msi2500/msi2500.c                          |  2 --
>>>    drivers/media/usb/pwc/pwc-if.c                               |  2 --
>>>    drivers/media/usb/s2255/s2255drv.c                           |  2 --
>>>    drivers/media/usb/stk1160/stk1160-v4l.c                      |  2 --
>>>    drivers/media/usb/usbtv/usbtv-video.c                        |  2 --
>>>    drivers/media/usb/uvc/uvc_queue.c                            |  4 ----
>>>    drivers/staging/media/atomisp/pci/atomisp_fops.c             |  2 --
>>>    drivers/staging/media/deprecated/atmel/atmel-isc-base.c      |  2 --
>>>    drivers/staging/media/imx/imx-media-capture.c                |  2 --
>>>    drivers/staging/media/imx/imx-media-csc-scaler.c             |  2 --
>>>    drivers/staging/media/ipu3/ipu3-v4l2.c                       |  2 --
>>>    drivers/staging/media/meson/vdec/vdec.c                      |  2 --
>>>    drivers/staging/media/rkvdec/rkvdec.c                        |  2 --
>>>    drivers/staging/media/starfive/camss/stf-video.c             |  2 --
>>>    drivers/staging/media/sunxi/cedrus/cedrus_video.c            |  2 --
>>>    drivers/staging/media/sunxi/sun6i-isp/sun6i_isp_capture.c    |  2 --
>>>    drivers/staging/media/sunxi/sun6i-isp/sun6i_isp_params.c     |  2 --
>>>    drivers/staging/media/tegra-video/vi.c                       |  2 --
>>>    samples/v4l/v4l2-pci-skeleton.c                              |  6 +-----
>>>    153 files changed, 9 insertions(+), 327 deletions(-)
>>> ---
>>> base-commit: bcd4f091cf1ea7184d813afc115af82ac9326b25
>>> change-id: 20241014-vb2-wait-445a4ead0c4f
>>>
>>> Best regards,
>>
>> That is a long list :)
>>
>> I am seeing the following drivers that use .wait_prepare
>> and .wait_finish in Linux 6.12-rc3 - should they be included
>> in this series.
>>
>> input drivers:
>> drivers/input/rmi4/rmi_f54.c
>> drivers/input/touchscreen/atmel_mxt_ts.c
>> drivers/input/touchscreen/sur40.c
>>
>> staging drivers:
>> drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c
> 
> I'll do those separately, let's start with the main bulk in the media
> subsystem :-)
> 

Sounds good to me.

> If you're curious, the remainder is here:
> 
> https://git.linuxtv.org/hverkuil/media_tree.git/log/?h=vb2_wait
> 
> But it needs a bit more work, since there are some complications around
> a DVB driver that I don't fully understand yet.
> 

Makes sense.

thanks,
-- Shuah
Laurent Pinchart Oct. 16, 2024, 3:11 p.m. UTC | #6
On Tue, Oct 15, 2024 at 05:23:41PM +0200, Hans Verkuil wrote:
> On 15/10/2024 17:13, Shuah wrote:
> > On 10/14/24 09:06, Hans Verkuil wrote:
> >> This patch series makes one change to videobuf2-core.c in vb2_thread()
> >> where wait_prepare/finish was also called. That was missed in the
> >> previous commit 88785982a19d ("media: vb2: use lock if wait_prepare/finish
> >> are NULL"), but that is needed before we can start removing the
> >> vb2_ops_wait_prepare/finish callbacks from drivers.
> >>
> >> The next 9 patches drop the vb2_ops_wait_prepare/finish callbacks
> >> from the various drivers in the media subsystem.
> >>
> >> After this there are some V4L2 drivers in other subsystems (gadget,
> >> input, staging) that need this change as well, but I'll start on that
> >> when this series is merged.
> >>
> >> There are also a few drivers that set the wait_prepare/finish callbacks
> >> to their own implementation. Those need work as well.
> >>
> >> Since this series touches on almost all V4L2 drivers, it is sent to
> >> a lot of people.
> >>
> >> Regards,
> >>
> >>     Hans
> >>
> >> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
> >> ---
> >> Hans Verkuil (10):
> >>        media: videobuf2-core: update vb2_thread if wait_finish/prepare are NULL
> >>        media: test-drivers: drop vb2_ops_wait_prepare/finish
> >>        media: pci: drop vb2_ops_wait_prepare/finish
> >>        media: usb: drop vb2_ops_wait_prepare/finish
> >>        media: video-i2c: drop vb2_ops_wait_prepare/finish
> >>        media: rtl2832_sdr: drop vb2_ops_wait_prepare/finish
> >>        media: platform: drop vb2_ops_wait_prepare/finish
> >>        media: common: saa7146: drop vb2_ops_wait_prepare/finish
> >>        staging: media: drop vb2_ops_wait_prepare/finish
> >>        media: samples: v4l2-pci-skeleton.c: drop vb2_ops_wait_prepare/finish
> >>
> >>   drivers/media/common/saa7146/saa7146_vbi.c                   |  2 --
> >>   drivers/media/common/saa7146/saa7146_video.c                 |  2 --
> >>   drivers/media/common/videobuf2/videobuf2-core.c              | 12 ++++++++----
> >>   drivers/media/dvb-frontends/rtl2832_sdr.c                    |  2 --
> >>   drivers/media/i2c/video-i2c.c                                |  2 --
> >>   drivers/media/pci/bt8xx/bttv-driver.c                        |  2 --
> >>   drivers/media/pci/bt8xx/bttv-vbi.c                           |  2 --
> >>   drivers/media/pci/cobalt/cobalt-v4l2.c                       |  2 --
> >>   drivers/media/pci/cx18/cx18-streams.c                        |  2 --
> >>   drivers/media/pci/cx23885/cx23885-417.c                      |  2 --
> >>   drivers/media/pci/cx23885/cx23885-dvb.c                      |  2 --
> >>   drivers/media/pci/cx23885/cx23885-vbi.c                      |  2 --
> >>   drivers/media/pci/cx23885/cx23885-video.c                    |  2 --
> >>   drivers/media/pci/cx25821/cx25821-video.c                    |  2 --
> >>   drivers/media/pci/cx88/cx88-blackbird.c                      |  2 --
> >>   drivers/media/pci/cx88/cx88-dvb.c                            |  2 --
> >>   drivers/media/pci/cx88/cx88-vbi.c                            |  2 --
> >>   drivers/media/pci/cx88/cx88-video.c                          |  2 --
> >>   drivers/media/pci/dt3155/dt3155.c                            |  2 --
> >>   drivers/media/pci/intel/ipu3/ipu3-cio2.c                     |  2 --
> >>   drivers/media/pci/intel/ipu6/ipu6-isys-queue.c               |  2 --
> >>   drivers/media/pci/mgb4/mgb4_vin.c                            |  2 --
> >>   drivers/media/pci/mgb4/mgb4_vout.c                           |  2 --
> >>   drivers/media/pci/saa7134/saa7134-empress.c                  |  2 --
> >>   drivers/media/pci/saa7134/saa7134-ts.c                       |  2 --
> >>   drivers/media/pci/saa7134/saa7134-vbi.c                      |  2 --
> >>   drivers/media/pci/saa7134/saa7134-video.c                    |  2 --
> >>   drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c               |  2 --
> >>   drivers/media/pci/solo6x10/solo6x10-v4l2.c                   |  2 --
> >>   drivers/media/pci/sta2x11/sta2x11_vip.c                      |  2 --
> >>   drivers/media/pci/tw5864/tw5864-video.c                      |  2 --
> >>   drivers/media/pci/tw68/tw68-video.c                          |  2 --
> >>   drivers/media/pci/tw686x/tw686x-video.c                      |  2 --
> >>   drivers/media/pci/zoran/zoran_driver.c                       |  2 --
> >>   drivers/media/platform/allegro-dvt/allegro-core.c            |  2 --
> >>   drivers/media/platform/amlogic/meson-ge2d/ge2d.c             |  2 --
> >>   drivers/media/platform/amphion/vpu_v4l2.c                    |  2 --
> >>   drivers/media/platform/aspeed/aspeed-video.c                 |  2 --
> >>   drivers/media/platform/atmel/atmel-isi.c                     |  2 --
> >>   drivers/media/platform/broadcom/bcm2835-unicam.c             |  2 --
> >>   drivers/media/platform/chips-media/coda/coda-common.c        |  2 --
> >>   drivers/media/platform/chips-media/wave5/wave5-vpu-dec.c     |  2 --
> >>   drivers/media/platform/chips-media/wave5/wave5-vpu-enc.c     |  2 --
> >>   drivers/media/platform/imagination/e5010-jpeg-enc.c          |  2 --
> >>   drivers/media/platform/intel/pxa_camera.c                    |  2 --
> >>   drivers/media/platform/m2m-deinterlace.c                     |  2 --
> >>   drivers/media/platform/marvell/mcam-core.c                   |  4 ----
> >>   drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c         |  4 ----
> >>   drivers/media/platform/mediatek/mdp/mtk_mdp_m2m.c            |  2 --
> >>   drivers/media/platform/mediatek/mdp3/mtk-mdp3-m2m.c          |  2 --
> >>   .../mediatek/vcodec/decoder/mtk_vcodec_dec_stateful.c        |  2 --
> >>   .../mediatek/vcodec/decoder/mtk_vcodec_dec_stateless.c       |  2 --
> >>   .../media/platform/mediatek/vcodec/encoder/mtk_vcodec_enc.c  |  2 --
> >>   drivers/media/platform/microchip/microchip-isc-base.c        |  2 --
> >>   drivers/media/platform/nuvoton/npcm-video.c                  |  2 --
> >>   drivers/media/platform/nvidia/tegra-vde/v4l2.c               |  2 --
> >>   drivers/media/platform/nxp/dw100/dw100.c                     |  2 --
> >>   drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c               |  2 --
> >>   drivers/media/platform/nxp/imx-pxp.c                         |  2 --
> >>   drivers/media/platform/nxp/imx7-media-csi.c                  |  2 --
> >>   drivers/media/platform/nxp/imx8-isi/imx8-isi-m2m.c           |  2 --
> >>   drivers/media/platform/nxp/imx8-isi/imx8-isi-video.c         |  2 --
> >>   drivers/media/platform/nxp/mx2_emmaprp.c                     |  2 --
> >>   drivers/media/platform/qcom/camss/camss-video.c              |  2 --
> >>   drivers/media/platform/qcom/venus/vdec.c                     |  2 --
> >>   drivers/media/platform/qcom/venus/venc.c                     |  2 --
> >>   drivers/media/platform/raspberrypi/pisp_be/pisp_be.c         |  2 --
> >>   drivers/media/platform/renesas/rcar-vin/rcar-dma.c           |  2 --
> >>   drivers/media/platform/renesas/rcar_drif.c                   |  2 --
> >>   drivers/media/platform/renesas/rcar_fdp1.c                   |  2 --
> >>   drivers/media/platform/renesas/rcar_jpu.c                    |  2 --
> >>   drivers/media/platform/renesas/renesas-ceu.c                 |  2 --
> >>   drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c       |  2 --
> >>   drivers/media/platform/renesas/sh_vou.c                      |  2 --
> >>   drivers/media/platform/renesas/vsp1/vsp1_histo.c             |  2 --
> >>   drivers/media/platform/renesas/vsp1/vsp1_video.c             |  2 --
> >>   drivers/media/platform/rockchip/rga/rga-buf.c                |  2 --
> >>   drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c      |  2 --
> >>   drivers/media/platform/rockchip/rkisp1/rkisp1-params.c       |  2 --
> >>   drivers/media/platform/rockchip/rkisp1/rkisp1-stats.c        |  2 --
> >>   drivers/media/platform/samsung/exynos-gsc/gsc-m2m.c          |  2 --
> >>   drivers/media/platform/samsung/exynos4-is/fimc-capture.c     |  2 --
> >>   drivers/media/platform/samsung/exynos4-is/fimc-isp-video.c   |  2 --
> >>   drivers/media/platform/samsung/exynos4-is/fimc-lite.c        |  2 --
> >>   drivers/media/platform/samsung/exynos4-is/fimc-m2m.c         |  2 --
> >>   drivers/media/platform/samsung/s3c-camif/camif-capture.c     |  2 --
> >>   drivers/media/platform/samsung/s5p-g2d/g2d.c                 |  2 --
> >>   drivers/media/platform/samsung/s5p-jpeg/jpeg-core.c          |  2 --
> >>   drivers/media/platform/samsung/s5p-mfc/s5p_mfc_dec.c         |  2 --
> >>   drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c         |  2 --
> >>   drivers/media/platform/st/sti/bdisp/bdisp-v4l2.c             |  2 --
> >>   drivers/media/platform/st/sti/delta/delta-v4l2.c             |  4 ----
> >>   drivers/media/platform/st/sti/hva/hva-v4l2.c                 |  2 --
> >>   drivers/media/platform/st/stm32/dma2d/dma2d.c                |  2 --
> >>   drivers/media/platform/st/stm32/stm32-dcmi.c                 |  2 --
> >>   .../media/platform/st/stm32/stm32-dcmipp/dcmipp-bytecap.c    |  6 ------
> >>   drivers/media/platform/sunxi/sun4i-csi/sun4i_dma.c           |  2 --
> >>   drivers/media/platform/sunxi/sun6i-csi/sun6i_csi_capture.c   |  2 --
> >>   drivers/media/platform/sunxi/sun8i-di/sun8i-di.c             |  2 --
> >>   drivers/media/platform/sunxi/sun8i-rotate/sun8i_rotate.c     |  2 --
> >>   drivers/media/platform/ti/am437x/am437x-vpfe.c               |  2 --
> >>   drivers/media/platform/ti/cal/cal-video.c                    |  2 --
> >>   drivers/media/platform/ti/davinci/vpif_capture.c             |  2 --
> >>   drivers/media/platform/ti/davinci/vpif_display.c             |  2 --
> >>   drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c        |  2 --
> >>   drivers/media/platform/ti/omap/omap_vout.c                   |  2 --
> >>   drivers/media/platform/ti/vpe/vpe.c                          |  2 --
> >>   drivers/media/platform/verisilicon/hantro_v4l2.c             |  2 --
> >>   drivers/media/platform/via/via-camera.c                      |  2 --
> >>   drivers/media/platform/xilinx/xilinx-dma.c                   |  2 --
> >>   drivers/media/test-drivers/vicodec/vicodec-core.c            |  2 --
> >>   drivers/media/test-drivers/vim2m.c                           |  2 --
> >>   drivers/media/test-drivers/vimc/vimc-capture.c               |  6 ------
> >>   drivers/media/test-drivers/visl/visl-video.c                 |  2 --
> >>   drivers/media/test-drivers/vivid/vivid-meta-cap.c            |  2 --
> >>   drivers/media/test-drivers/vivid/vivid-meta-out.c            |  2 --
> >>   drivers/media/test-drivers/vivid/vivid-sdr-cap.c             |  2 --
> >>   drivers/media/test-drivers/vivid/vivid-touch-cap.c           |  2 --
> >>   drivers/media/test-drivers/vivid/vivid-vbi-cap.c             |  2 --
> >>   drivers/media/test-drivers/vivid/vivid-vbi-out.c             |  2 --
> >>   drivers/media/test-drivers/vivid/vivid-vid-cap.c             |  2 --
> >>   drivers/media/test-drivers/vivid/vivid-vid-out.c             |  2 --
> >>   drivers/media/usb/airspy/airspy.c                            |  2 --
> >>   drivers/media/usb/au0828/au0828-vbi.c                        |  2 --
> >>   drivers/media/usb/au0828/au0828-video.c                      |  2 --
> >>   drivers/media/usb/cx231xx/cx231xx-417.c                      |  2 --
> >>   drivers/media/usb/cx231xx/cx231xx-vbi.c                      |  2 --
> >>   drivers/media/usb/cx231xx/cx231xx-video.c                    |  2 --
> >>   drivers/media/usb/dvb-usb/cxusb-analog.c                     |  2 --
> >>   drivers/media/usb/em28xx/em28xx-vbi.c                        |  2 --
> >>   drivers/media/usb/em28xx/em28xx-video.c                      |  2 --
> >>   drivers/media/usb/go7007/go7007-v4l2.c                       |  2 --
> >>   drivers/media/usb/gspca/gspca.c                              |  2 --
> >>   drivers/media/usb/hackrf/hackrf.c                            |  2 --
> >>   drivers/media/usb/msi2500/msi2500.c                          |  2 --
> >>   drivers/media/usb/pwc/pwc-if.c                               |  2 --
> >>   drivers/media/usb/s2255/s2255drv.c                           |  2 --
> >>   drivers/media/usb/stk1160/stk1160-v4l.c                      |  2 --
> >>   drivers/media/usb/usbtv/usbtv-video.c                        |  2 --
> >>   drivers/media/usb/uvc/uvc_queue.c                            |  4 ----
> >>   drivers/staging/media/atomisp/pci/atomisp_fops.c             |  2 --
> >>   drivers/staging/media/deprecated/atmel/atmel-isc-base.c      |  2 --
> >>   drivers/staging/media/imx/imx-media-capture.c                |  2 --
> >>   drivers/staging/media/imx/imx-media-csc-scaler.c             |  2 --
> >>   drivers/staging/media/ipu3/ipu3-v4l2.c                       |  2 --
> >>   drivers/staging/media/meson/vdec/vdec.c                      |  2 --
> >>   drivers/staging/media/rkvdec/rkvdec.c                        |  2 --
> >>   drivers/staging/media/starfive/camss/stf-video.c             |  2 --
> >>   drivers/staging/media/sunxi/cedrus/cedrus_video.c            |  2 --
> >>   drivers/staging/media/sunxi/sun6i-isp/sun6i_isp_capture.c    |  2 --
> >>   drivers/staging/media/sunxi/sun6i-isp/sun6i_isp_params.c     |  2 --
> >>   drivers/staging/media/tegra-video/vi.c                       |  2 --
> >>   samples/v4l/v4l2-pci-skeleton.c                              |  6 +-----
> >>   153 files changed, 9 insertions(+), 327 deletions(-)
> >> ---
> >> base-commit: bcd4f091cf1ea7184d813afc115af82ac9326b25
> >> change-id: 20241014-vb2-wait-445a4ead0c4f
> >>
> >> Best regards,
> > 
> > That is a long list :)
> > 
> > I am seeing the following drivers that use .wait_prepare
> > and .wait_finish in Linux 6.12-rc3 - should they be included
> > in this series.
> > 
> > input drivers:
> > drivers/input/rmi4/rmi_f54.c
> > drivers/input/touchscreen/atmel_mxt_ts.c
> > drivers/input/touchscreen/sur40.c
> > 
> > staging drivers:
> > drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c

Now that the unicam driver is upstream, bcm2835-camera is getting
really deprecated. Should we consider its removal ?

> I'll do those separately, let's start with the main bulk in the media
> subsystem :-)
> 
> If you're curious, the remainder is here:
> 
> https://git.linuxtv.org/hverkuil/media_tree.git/log/?h=vb2_wait
> 
> But it needs a bit more work, since there are some complications around
> a DVB driver that I don't fully understand yet.