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@xxxxxxxxx> --- 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, -- Hans Verkuil <hverkuil@xxxxxxxxx>