media: start work to remove wait_prepare/finish callbacks 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 To: Tomasz Figa <tfiga@chromium.org> To: Marek Szyprowski <m.szyprowski@samsung.com> To: Mauro Carvalho Chehab <mchehab@kernel.org> To: Shuah Khan <skhan@linuxfoundation.org> To: Kieran Bingham <kieran.bingham@ideasonboard.com> To: Daniel Almeida <daniel.almeida@collabora.com> To: Andy Walls <awalls@md.metrocast.net> To: Yong Zhi <yong.zhi@intel.com> To: Sakari Ailus <sakari.ailus@linux.intel.com> To: Bingbu Cao <bingbu.cao@intel.com> To: Dan Scally <djrscally@gmail.com> To: Tianshu Qiu <tian.shu.qiu@intel.com> To: Martin Tuma <martin.tuma@digiteqautomotive.com> To: Bluecherry Maintainers <maintainers@bluecherrydvr.com> To: Andrey Utkin <andrey_utkin@fastmail.com> To: Ismael Luceno <ismael@iodev.co.uk> To: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar> To: Corentin Labbe <clabbe@baylibre.com> To: Michael Krufky <mkrufky@linuxtv.org> To: Laurent Pinchart <laurent.pinchart@ideasonboard.com> To: Matt Ranostay <matt@ranostay.sg> To: Michael Tretter <m.tretter@pengutronix.de> To: Pengutronix Kernel Team <kernel@pengutronix.de> To: Neil Armstrong <neil.armstrong@linaro.org> To: Kevin Hilman <khilman@baylibre.com> To: Jerome Brunet <jbrunet@baylibre.com> To: Martin Blumenstingl <martin.blumenstingl@googlemail.com> To: Ming Qian <ming.qian@nxp.com> To: Zhou Peng <eagle.zhou@nxp.com> To: Eddie James <eajames@linux.ibm.com> To: Joel Stanley <joel@jms.id.au> To: Andrew Jeffery <andrew@codeconstruct.com.au> To: Eugen Hristev <eugen.hristev@collabora.com> To: Nicolas Ferre <nicolas.ferre@microchip.com> To: Alexandre Belloni <alexandre.belloni@bootlin.com> To: Claudiu Beznea <claudiu.beznea@tuxon.dev> To: Raspberry Pi Kernel Maintenance <kernel-list@raspberrypi.com> To: Florian Fainelli <florian.fainelli@broadcom.com> To: Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com> To: Ray Jui <rjui@broadcom.com> To: Scott Branden <sbranden@broadcom.com> To: Philipp Zabel <p.zabel@pengutronix.de> To: Nas Chung <nas.chung@chipsnmedia.com> To: Jackson Lee <jackson.lee@chipsnmedia.com> To: Devarsh Thakkar <devarsht@ti.com> To: Bin Liu <bin.liu@mediatek.com> To: Matthias Brugger <matthias.bgg@gmail.com> To: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> To: Minghsiu Tsai <minghsiu.tsai@mediatek.com> To: Houlong Wei <houlong.wei@mediatek.com> To: Andrew-CT Chen <andrew-ct.chen@mediatek.com> To: Tiffany Lin <tiffany.lin@mediatek.com> To: Yunfei Dong <yunfei.dong@mediatek.com> To: Joseph Liu <kwliu@nuvoton.com> To: Marvin Lin <kflin@nuvoton.com> To: Dmitry Osipenko <digetx@gmail.com> To: Thierry Reding <thierry.reding@gmail.com> To: Jonathan Hunter <jonathanh@nvidia.com> To: Xavier Roumegue <xavier.roumegue@oss.nxp.com> To: Mirela Rabulea <mirela.rabulea@nxp.com> To: Shawn Guo <shawnguo@kernel.org> To: Sascha Hauer <s.hauer@pengutronix.de> To: Fabio Estevam <festevam@gmail.com> To: Rui Miguel Silva <rmfrfs@gmail.com> To: Martin Kepplinger <martink@posteo.de> To: Purism Kernel Team <kernel@puri.sm> To: Robert Foss <rfoss@kernel.org> To: Todor Tomov <todor.too@gmail.com> To: Bryan O'Donoghue <bryan.odonoghue@linaro.org> To: Stanimir Varbanov <stanimir.k.varbanov@gmail.com> To: Vikash Garodia <quic_vgarodia@quicinc.com> To: Jacopo Mondi <jacopo.mondi@ideasonboard.com> To: Niklas Söderlund <niklas.soderlund@ragnatech.se> To: Fabrizio Castro <fabrizio.castro.jz@renesas.com> To: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> To: Mikhail Ulyanov <mikhail.ulyanov@cogentembedded.com> To: Jacob Chen <jacob-chen@iotwrt.com> To: Heiko Stuebner <heiko@sntech.de> To: Dafna Hirschfeld <dafna@fastmail.com> To: Krzysztof Kozlowski <krzk@kernel.org> To: Alim Akhtar <alim.akhtar@samsung.com> To: Sylwester Nawrocki <s.nawrocki@samsung.com> To: Łukasz Stelmach <l.stelmach@samsung.com> To: Andrzej Pietrasiewicz <andrzejtp2010@gmail.com> To: Jacek Anaszewski <jacek.anaszewski@gmail.com> To: Andrzej Hajda <andrzej.hajda@intel.com> To: Fabien Dessenne <fabien.dessenne@foss.st.com> To: Hugues Fruchet <hugues.fruchet@foss.st.com> To: Jean-Christophe Trotin <jean-christophe.trotin@foss.st.com> To: Maxime Coquelin <mcoquelin.stm32@gmail.com> To: Alexandre Torgue <alexandre.torgue@foss.st.com> To: Alain Volmat <alain.volmat@foss.st.com> To: Maxime Ripard <mripard@kernel.org> To: Chen-Yu Tsai <wens@csie.org> To: Jernej Skrabec <jernej.skrabec@gmail.com> To: Samuel Holland <samuel@sholland.org> To: Yong Deng <yong.deng@magewell.com> To: Paul Kocialkowski <paul.kocialkowski@bootlin.com> To: Lad, Prabhakar <prabhakar.csengg@gmail.com> To: Benoit Parrot <bparrot@ti.com> To: Jai Luthra <jai.luthra@linux.dev> To: Michal Simek <michal.simek@amd.com> To: Andy Shevchenko <andy@kernel.org> To: Hans de Goede <hdegoede@redhat.com> To: Greg Kroah-Hartman <gregkh@linuxfoundation.org> To: Steve Longerbeam <slongerbeam@gmail.com> To: Jack Zhu <jack.zhu@starfivetech.com> To: Changhuang Liang <changhuang.liang@starfivetech.com> To: Sowjanya Komatineni <skomatineni@nvidia.com> To: Luca Ceresoli <luca.ceresoli@bootlin.com> Cc: linux-media@vger.kernel.org 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,