Skip to content
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,