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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@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,

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




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux