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@xxxxxxxxxxxxxxxx> > 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 -- Regards, Laurent Pinchart