You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
(151) |
Apr
(278) |
May
(221) |
Jun
(161) |
Jul
(158) |
Aug
(204) |
Sep
(111) |
Oct
(344) |
Nov
(246) |
Dec
(348) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(393) |
Feb
(317) |
Mar
(225) |
Apr
(338) |
May
(328) |
Jun
(226) |
Jul
(195) |
Aug
(191) |
Sep
(211) |
Oct
(212) |
Nov
(304) |
Dec
(280) |
2003 |
Jan
(332) |
Feb
(401) |
Mar
(355) |
Apr
(240) |
May
(277) |
Jun
(299) |
Jul
(97) |
Aug
(280) |
Sep
(300) |
Oct
(200) |
Nov
(272) |
Dec
(281) |
2004 |
Jan
(384) |
Feb
(155) |
Mar
(155) |
Apr
(98) |
May
(191) |
Jun
(117) |
Jul
(119) |
Aug
(242) |
Sep
(146) |
Oct
(166) |
Nov
(101) |
Dec
(133) |
2005 |
Jan
(196) |
Feb
(133) |
Mar
(190) |
Apr
(100) |
May
(124) |
Jun
(78) |
Jul
(73) |
Aug
(110) |
Sep
(87) |
Oct
(102) |
Nov
(67) |
Dec
(77) |
2006 |
Jan
(75) |
Feb
(35) |
Mar
(51) |
Apr
(144) |
May
(40) |
Jun
(70) |
Jul
(53) |
Aug
(34) |
Sep
(31) |
Oct
(49) |
Nov
(80) |
Dec
(53) |
2007 |
Jan
(72) |
Feb
(21) |
Mar
(67) |
Apr
(56) |
May
(45) |
Jun
(23) |
Jul
(15) |
Aug
(27) |
Sep
(41) |
Oct
(20) |
Nov
(60) |
Dec
(52) |
2008 |
Jan
(40) |
Feb
(53) |
Mar
(41) |
Apr
(12) |
May
(25) |
Jun
(20) |
Jul
(19) |
Aug
(23) |
Sep
(29) |
Oct
(15) |
Nov
(10) |
Dec
(18) |
2009 |
Jan
(24) |
Feb
(19) |
Mar
(5) |
Apr
(17) |
May
(11) |
Jun
(43) |
Jul
(4) |
Aug
(2) |
Sep
(17) |
Oct
(15) |
Nov
(15) |
Dec
(4) |
2010 |
Jan
(8) |
Feb
(5) |
Mar
(4) |
Apr
(23) |
May
(16) |
Jun
|
Jul
(5) |
Aug
(1) |
Sep
(7) |
Oct
(31) |
Nov
(11) |
Dec
(6) |
2011 |
Jan
(10) |
Feb
(3) |
Mar
|
Apr
|
May
(4) |
Jun
(2) |
Jul
(5) |
Aug
(1) |
Sep
(25) |
Oct
(1) |
Nov
(13) |
Dec
|
2012 |
Jan
(2) |
Feb
|
Mar
(1) |
Apr
(1) |
May
|
Jun
(5) |
Jul
|
Aug
|
Sep
(5) |
Oct
|
Nov
(9) |
Dec
(3) |
2013 |
Jan
(3) |
Feb
(1) |
Mar
(9) |
Apr
(3) |
May
|
Jun
|
Jul
|
Aug
|
Sep
(2) |
Oct
(1) |
Nov
(2) |
Dec
|
2014 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(6) |
Jul
(4) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
(1) |
2015 |
Jan
|
Feb
|
Mar
(1) |
Apr
(4) |
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
(2) |
Dec
|
2016 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
(4) |
Jul
|
Aug
(2) |
Sep
|
Oct
(2) |
Nov
(4) |
Dec
(5) |
2017 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
(6) |
Jun
|
Jul
|
Aug
(2) |
Sep
(2) |
Oct
(3) |
Nov
|
Dec
|
2018 |
Jan
|
Feb
|
Mar
(1) |
Apr
(10) |
May
(4) |
Jun
(2) |
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2019 |
Jan
|
Feb
(2) |
Mar
|
Apr
(7) |
May
(2) |
Jun
|
Jul
|
Aug
|
Sep
(7) |
Oct
(5) |
Nov
|
Dec
|
2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(12) |
Nov
|
Dec
|
2021 |
Jan
(9) |
Feb
(4) |
Mar
(4) |
Apr
(2) |
May
(45) |
Jun
(1) |
Jul
|
Aug
|
Sep
(23) |
Oct
(39) |
Nov
(8) |
Dec
(19) |
2022 |
Jan
|
Feb
|
Mar
(10) |
Apr
(26) |
May
(8) |
Jun
(2) |
Jul
(10) |
Aug
(2) |
Sep
(3) |
Oct
(21) |
Nov
(3) |
Dec
|
2023 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
(1) |
2024 |
Jan
(14) |
Feb
(3) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2025 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Jacopo M. <ja...@jm...> - 2022-03-14 15:26:21
|
Hi Mauro On Sun, Mar 13, 2022 at 08:12:05AM +0100, Mauro Carvalho Chehab wrote: > media Kconfig has two entries associated to V4L API: > VIDEO_DEV and VIDEO_V4L2. > > On Kernel 2.6.x, there were two V4L APIs, each one with its own flag. > VIDEO_DEV were meant to: > 1) enable Video4Linux and make its Kconfig options to appear; > 2) it makes the Kernel build the V4L core. > > while VIDEO_V4L2 where used to distinguish between drivers that > implement the newer API and drivers that implemented the former one. > > With time, such meaning changed, specially after the removal of > all V4L version 1 drivers. > > At the current implementation, VIDEO_DEV only does (1): it enables > the media options related to V4L, that now has: > > menu "Video4Linux options" > visible if VIDEO_DEV > > source "drivers/media/v4l2-core/Kconfig" > endmenu > > but it doesn't affect anymore the V4L core drivers. > > The rationale is that the V4L2 core has a "soft" dependency > at the I2C bus, and now requires to select a number of other > Kconfig options: > > config VIDEO_V4L2 > tristate > depends on (I2C || I2C=n) && VIDEO_DEV > select RATIONAL > select VIDEOBUF2_V4L2 if VIDEOBUF2_CORE > default (I2C || I2C=n) && VIDEO_DEV > > In the past, merging them would be tricky, but it seems that it is now > possible to merge those symbols, in order to simplify V4L dependencies. > > Let's keep VIDEO_DEV, as this one is used on some make *defconfig > configurations. > > Suggested-by: Laurent Pinchart <lau...@id...> > Signed-off-by: Mauro Carvalho Chehab <mc...@ke...> > --- > drivers/input/rmi4/Kconfig | 2 +- > drivers/input/touchscreen/Kconfig | 4 +- > drivers/media/Kconfig | 3 + > drivers/media/common/saa7146/Kconfig | 2 +- > drivers/media/dvb-core/Kconfig | 2 +- > drivers/media/dvb-frontends/Kconfig | 4 +- > drivers/media/i2c/Kconfig | 250 +++++++++--------- > drivers/media/i2c/ccs/Kconfig | 2 +- > drivers/media/i2c/cx25840/Kconfig | 2 +- > drivers/media/i2c/et8ek8/Kconfig | 2 +- > drivers/media/i2c/m5mols/Kconfig | 2 +- > drivers/media/pci/Kconfig | 2 +- > drivers/media/pci/bt8xx/Kconfig | 2 +- > drivers/media/pci/cobalt/Kconfig | 2 +- > drivers/media/pci/cx18/Kconfig | 2 +- > drivers/media/pci/dt3155/Kconfig | 2 +- > drivers/media/pci/intel/ipu3/Kconfig | 2 +- > drivers/media/pci/ivtv/Kconfig | 2 +- > drivers/media/pci/meye/Kconfig | 2 +- > drivers/media/pci/saa7146/Kconfig | 6 +- > drivers/media/pci/sta2x11/Kconfig | 2 +- > drivers/media/pci/tw5864/Kconfig | 2 +- > drivers/media/pci/tw68/Kconfig | 2 +- > drivers/media/pci/tw686x/Kconfig | 2 +- > drivers/media/platform/Kconfig | 6 +- > drivers/media/platform/allegro-dvt/Kconfig | 2 +- > drivers/media/platform/am437x/Kconfig | 2 +- > drivers/media/platform/amphion/Kconfig | 2 +- > drivers/media/platform/aspeed/Kconfig | 2 +- > drivers/media/platform/atmel/Kconfig | 8 +- > drivers/media/platform/cadence/Kconfig | 4 +- > drivers/media/platform/coda/Kconfig | 2 +- > drivers/media/platform/davinci/Kconfig | 12 +- > drivers/media/platform/exynos-gsc/Kconfig | 2 +- > drivers/media/platform/exynos4-is/Kconfig | 2 +- > drivers/media/platform/intel/Kconfig | 2 +- > drivers/media/platform/marvell-ccic/Kconfig | 4 +- > drivers/media/platform/meson/ge2d/Kconfig | 2 +- > drivers/media/platform/mtk-jpeg/Kconfig | 2 +- > drivers/media/platform/mtk-mdp/Kconfig | 2 +- > drivers/media/platform/mtk-vcodec/Kconfig | 2 +- > drivers/media/platform/mtk-vpu/Kconfig | 2 +- > drivers/media/platform/nxp/Kconfig | 8 +- > drivers/media/platform/nxp/imx-jpeg/Kconfig | 2 +- > drivers/media/platform/omap/Kconfig | 2 +- > drivers/media/platform/omap3isp/Kconfig | 2 +- > drivers/media/platform/qcom/camss/Kconfig | 2 +- > drivers/media/platform/qcom/venus/Kconfig | 2 +- > drivers/media/platform/renesas/Kconfig | 12 +- > .../media/platform/renesas/rcar-vin/Kconfig | 4 +- > drivers/media/platform/rockchip/rga/Kconfig | 2 +- > .../media/platform/rockchip/rkisp1/Kconfig | 2 +- > drivers/media/platform/s3c-camif/Kconfig | 2 +- > drivers/media/platform/s5p-g2d/Kconfig | 2 +- > drivers/media/platform/s5p-jpeg/Kconfig | 2 +- > drivers/media/platform/s5p-mfc/Kconfig | 2 +- > drivers/media/platform/sti/bdisp/Kconfig | 2 +- > drivers/media/platform/sti/delta/Kconfig | 2 +- > drivers/media/platform/sti/hva/Kconfig | 2 +- > drivers/media/platform/stm32/Kconfig | 4 +- > .../media/platform/sunxi/sun4i-csi/Kconfig | 2 +- > .../media/platform/sunxi/sun6i-csi/Kconfig | 2 +- > drivers/media/platform/sunxi/sun8i-di/Kconfig | 2 +- > .../media/platform/sunxi/sun8i-rotate/Kconfig | 2 +- > drivers/media/platform/tegra/vde/Kconfig | 2 +- > drivers/media/platform/ti-vpe/Kconfig | 4 +- > drivers/media/platform/via/Kconfig | 2 +- > drivers/media/platform/xilinx/Kconfig | 2 +- > drivers/media/radio/Kconfig | 54 ++-- > drivers/media/radio/si470x/Kconfig | 2 +- > drivers/media/radio/wl128x/Kconfig | 2 +- > drivers/media/spi/Kconfig | 4 +- > drivers/media/test-drivers/Kconfig | 2 +- > drivers/media/test-drivers/vicodec/Kconfig | 2 +- > drivers/media/test-drivers/vimc/Kconfig | 2 +- > drivers/media/test-drivers/vivid/Kconfig | 2 +- > drivers/media/tuners/Kconfig | 6 +- > drivers/media/tuners/e4000.c | 6 +- > drivers/media/tuners/fc2580.c | 6 +- > drivers/media/usb/airspy/Kconfig | 2 +- > drivers/media/usb/au0828/Kconfig | 6 +- > drivers/media/usb/cpia2/Kconfig | 2 +- > drivers/media/usb/dvb-usb-v2/Kconfig | 8 +- > drivers/media/usb/dvb-usb/Kconfig | 4 +- > drivers/media/usb/gspca/Kconfig | 96 +++---- > drivers/media/usb/gspca/gl860/Kconfig | 2 +- > drivers/media/usb/gspca/m5602/Kconfig | 2 +- > drivers/media/usb/hackrf/Kconfig | 2 +- > drivers/media/usb/hdpvr/Kconfig | 2 +- > drivers/media/usb/msi2500/Kconfig | 2 +- > drivers/media/usb/pvrusb2/Kconfig | 2 +- > drivers/media/usb/pwc/Kconfig | 2 +- > drivers/media/usb/s2255/Kconfig | 2 +- > drivers/media/usb/stkwebcam/Kconfig | 2 +- > drivers/media/usb/usbtv/Kconfig | 2 +- > drivers/media/usb/uvc/Kconfig | 2 +- > drivers/media/usb/zr364xx/Kconfig | 2 +- > drivers/media/v4l2-core/Kconfig | 12 +- > drivers/media/v4l2-core/Makefile | 2 +- > drivers/staging/media/atomisp/Kconfig | 2 +- > drivers/staging/media/atomisp/i2c/Kconfig | 14 +- > drivers/staging/media/hantro/Kconfig | 2 +- > drivers/staging/media/imx/Kconfig | 2 +- > drivers/staging/media/ipu3/Kconfig | 2 +- > drivers/staging/media/max96712/Kconfig | 2 +- > drivers/staging/media/meson/vdec/Kconfig | 2 +- > drivers/staging/media/omap4iss/Kconfig | 2 +- > drivers/staging/media/rkvdec/Kconfig | 2 +- > drivers/staging/media/sunxi/cedrus/Kconfig | 2 +- > drivers/staging/media/tegra-video/Kconfig | 2 +- > drivers/staging/media/zoran/Kconfig | 2 +- > drivers/staging/most/video/Kconfig | 2 +- > .../vc04_services/bcm2835-camera/Kconfig | 2 +- > drivers/usb/gadget/Kconfig | 2 +- > drivers/usb/gadget/legacy/Kconfig | 2 +- > sound/pci/Kconfig | 4 +- > 116 files changed, 363 insertions(+), 368 deletions(-) > > diff --git a/drivers/input/rmi4/Kconfig b/drivers/input/rmi4/Kconfig > index 16119f760d11..c0163b983ce6 100644 > --- a/drivers/input/rmi4/Kconfig > +++ b/drivers/input/rmi4/Kconfig > @@ -110,7 +110,7 @@ config RMI4_F3A > > config RMI4_F54 > bool "RMI4 Function 54 (Analog diagnostics)" > - depends on VIDEO_V4L2=y || (RMI4_CORE=m && VIDEO_V4L2=m) > + depends on VIDEO_DEV=y || (RMI4_CORE=m && VIDEO_DEV=m) > select VIDEOBUF2_VMALLOC > select RMI4_F55 > help > diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig > index 2f6adfb7b938..ff7794cecf69 100644 > --- a/drivers/input/touchscreen/Kconfig > +++ b/drivers/input/touchscreen/Kconfig > @@ -131,7 +131,7 @@ config TOUCHSCREEN_ATMEL_MXT > config TOUCHSCREEN_ATMEL_MXT_T37 > bool "Support T37 Diagnostic Data" > depends on TOUCHSCREEN_ATMEL_MXT > - depends on VIDEO_V4L2=y || (TOUCHSCREEN_ATMEL_MXT=m && VIDEO_V4L2=m) > + depends on VIDEO_DEV=y || (TOUCHSCREEN_ATMEL_MXT=m && VIDEO_DEV=m) > select VIDEOBUF2_VMALLOC > help > Say Y here if you want support to output data from the T37 > @@ -1252,7 +1252,7 @@ config TOUCHSCREEN_SUN4I > config TOUCHSCREEN_SUR40 > tristate "Samsung SUR40 (Surface 2.0/PixelSense) touchscreen" > depends on USB && MEDIA_USB_SUPPORT && HAS_DMA > - depends on VIDEO_V4L2 > + depends on VIDEO_DEV > select VIDEOBUF2_DMA_SG > help > Say Y here if you want support for the Samsung SUR40 touchscreen > diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig > index 01b536863657..2d02d9a44b94 100644 > --- a/drivers/media/Kconfig > +++ b/drivers/media/Kconfig > @@ -160,6 +160,9 @@ menu "Media core support" > config VIDEO_DEV > tristate "Video4Linux core" > default MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT || MEDIA_PLATFORM_SUPPORT || MEDIA_TEST_SUPPORT > + depends on (I2C || I2C=n) Is this I2C || I2C=n intentional ? > + select RATIONAL > + select VIDEOBUF2_V4L2 if VIDEOBUF2_CORE > help > Enables the V4L2 API, used by cameras, analog TV, video grabbers, > radio devices and by some input devices. > diff --git a/drivers/media/common/saa7146/Kconfig b/drivers/media/common/saa7146/Kconfig > index 3e85c0c3fd9a..a0aa155e5d85 100644 > --- a/drivers/media/common/saa7146/Kconfig > +++ b/drivers/media/common/saa7146/Kconfig > @@ -5,6 +5,6 @@ config VIDEO_SAA7146 > > config VIDEO_SAA7146_VV > tristate > - depends on VIDEO_V4L2 > + depends on VIDEO_DEV > select VIDEOBUF_DMA_SG > select VIDEO_SAA7146 > diff --git a/drivers/media/dvb-core/Kconfig b/drivers/media/dvb-core/Kconfig > index 6ffac618417b..8b3f2d53cd62 100644 > --- a/drivers/media/dvb-core/Kconfig > +++ b/drivers/media/dvb-core/Kconfig > @@ -6,7 +6,7 @@ > config DVB_MMAP > bool "Enable DVB memory-mapped API (EXPERIMENTAL)" > depends on DVB_CORE > - depends on VIDEO_V4L2=y || VIDEO_V4L2=DVB_CORE > + depends on VIDEO_DEV=y || VIDEO_DEV=DVB_CORE > select VIDEOBUF2_VMALLOC > help > This option enables DVB experimental memory-mapped API, which > diff --git a/drivers/media/dvb-frontends/Kconfig b/drivers/media/dvb-frontends/Kconfig > index 2c1ed98d43c5..4101f9b1e731 100644 > --- a/drivers/media/dvb-frontends/Kconfig > +++ b/drivers/media/dvb-frontends/Kconfig > @@ -510,7 +510,7 @@ config DVB_RTL2832 > > config DVB_RTL2832_SDR > tristate "Realtek RTL2832 SDR" > - depends on DVB_CORE && I2C && I2C_MUX && VIDEO_V4L2 && MEDIA_SDR_SUPPORT && USB > + depends on DVB_CORE && I2C && I2C_MUX && VIDEO_DEV && MEDIA_SDR_SUPPORT && USB > select DVB_RTL2832 > select VIDEOBUF2_VMALLOC > default m if !MEDIA_SUBDRV_AUTOSELECT > @@ -681,7 +681,7 @@ config DVB_AU8522_DTV > > config DVB_AU8522_V4L > tristate "Auvitek AU8522 based ATV demod" > - depends on VIDEO_V4L2 && DVB_CORE && I2C > + depends on VIDEO_DEV && DVB_CORE && I2C > select DVB_AU8522 > default m if !MEDIA_SUBDRV_AUTOSELECT > help > diff --git a/drivers/media/i2c/Kconfig b/drivers/media/i2c/Kconfig > index e7194c1be4d2..5abc169f0a5c 100644 > --- a/drivers/media/i2c/Kconfig > +++ b/drivers/media/i2c/Kconfig > @@ -3,7 +3,7 @@ > # Multimedia Video device configuration > # > > -if VIDEO_V4L2 > +if VIDEO_DEV > > comment "IR I2C driver auto-selected by 'Autoselect ancillary drivers'" > depends on MEDIA_SUBDRV_AUTOSELECT && I2C && RC_CORE > @@ -36,7 +36,7 @@ menu "Audio decoders, processors and mixers" > > config VIDEO_TVAUDIO > tristate "Simple audio decoder chips" > - depends on VIDEO_V4L2 && I2C > + depends on VIDEO_DEV && I2C Are there symbols in drivers/media/i2c that do not depend on I2C ? Could we make the menu conditional on I2C presence ? > help > Support for several audio decoder chips found on some bt8xx boards: > Philips: tda9840, tda9873h, tda9874h/a, tda9850, tda985x, tea6300, > @@ -48,7 +48,7 @@ config VIDEO_TVAUDIO [snip] > @@ -1,7 +1,7 @@ > # SPDX-License-Identifier: GPL-2.0-only > config VIDEO_TW5864 > tristate "Techwell TW5864 video/audio grabber and encoder" > - depends on VIDEO_DEV && PCI && VIDEO_V4L2 > + depends on VIDEO_DEV && PCI && VIDEO_DEV Double VIDEO_DEV > select VIDEOBUF2_DMA_CONTIG > help > Support for boards based on Techwell TW5864 chip which provides > diff --git a/drivers/media/pci/tw68/Kconfig b/drivers/media/pci/tw68/Kconfig > index af0cb60337bb..ef29be7db493 100644 > --- a/drivers/media/pci/tw68/Kconfig > +++ b/drivers/media/pci/tw68/Kconfig > @@ -1,7 +1,7 @@ > # SPDX-License-Identifier: GPL-2.0-only > config VIDEO_TW68 > tristate "Techwell tw68x Video For Linux" > - depends on VIDEO_DEV && PCI && VIDEO_V4L2 > + depends on VIDEO_DEV && PCI && VIDEO_DEV Same here > select VIDEOBUF2_DMA_SG > help > Support for Techwell tw68xx based frame grabber boards. [snip] > diff --git a/drivers/media/platform/amphion/Kconfig b/drivers/media/platform/amphion/Kconfig > index 13899649f766..e9ddca7a9e4a 100644 > --- a/drivers/media/platform/amphion/Kconfig > +++ b/drivers/media/platform/amphion/Kconfig > @@ -5,7 +5,7 @@ config VIDEO_AMPHION_VPU > depends on ARCH_MXC || COMPILE_TEST > depends on MEDIA_SUPPORT > depends on VIDEO_DEV > - depends on VIDEO_V4L2 > + depends on VIDEO_DEV VIDEO_DEV already listed > select MEDIA_CONTROLLER > select V4L2_MEM2MEM_DEV > select VIDEOBUF2_DMA_CONTIG [snip] > > -if RADIO_ADAPTERS && VIDEO_V4L2 > +if RADIO_ADAPTERS && VIDEO_DEV > > config RADIO_TEA575X > tristate > @@ -20,13 +20,13 @@ source "drivers/media/radio/si470x/Kconfig" > > config RADIO_SI4713 > tristate "Silicon Labs Si4713 FM Radio with RDS Transmitter support" > - depends on VIDEO_V4L2 > + depends on VIDEO_DEV Isn't this menu section already conditional to VIDEO_DEV [snip] With the above minors fixed Reviewed-by: Jacopo Mondi <ja...@jm...> Thanks j |
From: Neil A. <nar...@ba...> - 2022-03-14 08:32:42
|
On 14/03/2022 08:55, Mauro Carvalho Chehab wrote: > media Kconfig has two entries associated to V4L API: > VIDEO_DEV and VIDEO_V4L2. > > On Kernel 2.6.x, there were two V4L APIs, each one with its own flag. > VIDEO_DEV were meant to: > 1) enable Video4Linux and make its Kconfig options to appear; > 2) it makes the Kernel build the V4L core. > > while VIDEO_V4L2 where used to distinguish between drivers that > implement the newer API and drivers that implemented the former one. > > With time, such meaning changed, specially after the removal of > all V4L version 1 drivers. > > At the current implementation, VIDEO_DEV only does (1): it enables > the media options related to V4L, that now has: > > menu "Video4Linux options" > visible if VIDEO_DEV > > source "drivers/media/v4l2-core/Kconfig" > endmenu > > but it doesn't affect anymore the V4L core drivers. > > The rationale is that the V4L2 core has a "soft" dependency > at the I2C bus, and now requires to select a number of other > Kconfig options: > > config VIDEO_V4L2 > tristate > depends on (I2C || I2C=n) && VIDEO_DEV > select RATIONAL > select VIDEOBUF2_V4L2 if VIDEOBUF2_CORE > default (I2C || I2C=n) && VIDEO_DEV > > In the past, merging them would be tricky, but it seems that it is now > possible to merge those symbols, in order to simplify V4L dependencies. > > Let's keep VIDEO_DEV, as this one is used on some make *defconfig > configurations. > > Suggested-by: Laurent Pinchart <lau...@id...> > Reviewed-by: Laurent Pinchart <lau...@id...> > Signed-off-by: Mauro Carvalho Chehab <mc...@ke...> > --- > > To avoid mailbombing on a large number of people, only mailing lists were C/C on the cover. > See [PATCH 00/64] at: https://lore.kernel.org/all/cov...@ke.../ > > drivers/input/rmi4/Kconfig | 2 +- > drivers/input/touchscreen/Kconfig | 4 +- > drivers/media/Kconfig | 3 + > drivers/media/common/saa7146/Kconfig | 2 +- > drivers/media/dvb-core/Kconfig | 2 +- > drivers/media/dvb-frontends/Kconfig | 4 +- > drivers/media/i2c/Kconfig | 250 +++++++++--------- > drivers/media/i2c/ccs/Kconfig | 2 +- > drivers/media/i2c/cx25840/Kconfig | 2 +- > drivers/media/i2c/et8ek8/Kconfig | 2 +- > drivers/media/i2c/m5mols/Kconfig | 2 +- > drivers/media/pci/Kconfig | 2 +- > drivers/media/pci/bt8xx/Kconfig | 2 +- > drivers/media/pci/cobalt/Kconfig | 2 +- > drivers/media/pci/cx18/Kconfig | 2 +- > drivers/media/pci/dt3155/Kconfig | 2 +- > drivers/media/pci/intel/ipu3/Kconfig | 2 +- > drivers/media/pci/ivtv/Kconfig | 2 +- > drivers/media/pci/meye/Kconfig | 2 +- > drivers/media/pci/saa7146/Kconfig | 6 +- > drivers/media/pci/sta2x11/Kconfig | 2 +- > drivers/media/pci/tw5864/Kconfig | 2 +- > drivers/media/pci/tw68/Kconfig | 2 +- > drivers/media/pci/tw686x/Kconfig | 2 +- > drivers/media/platform/Kconfig | 6 +- > drivers/media/platform/allegro-dvt/Kconfig | 2 +- > .../platform/allwinner/sun4i-csi/Kconfig | 2 +- > .../platform/allwinner/sun6i-csi/Kconfig | 2 +- > .../media/platform/allwinner/sun8i-di/Kconfig | 2 +- > .../platform/allwinner/sun8i-rotate/Kconfig | 2 +- > .../media/platform/amlogic/meson-ge2d/Kconfig | 2 +- > drivers/media/platform/aspeed/Kconfig | 2 +- > drivers/media/platform/atmel/Kconfig | 8 +- > drivers/media/platform/cadence/Kconfig | 4 +- > drivers/media/platform/chips-media/Kconfig | 2 +- > drivers/media/platform/intel/Kconfig | 2 +- > drivers/media/platform/marvell/Kconfig | 4 +- > .../media/platform/mediatek/mtk-jpeg/Kconfig | 2 +- > .../media/platform/mediatek/mtk-mdp/Kconfig | 2 +- > .../platform/mediatek/mtk-vcodec/Kconfig | 2 +- > .../media/platform/mediatek/mtk-vpu/Kconfig | 2 +- > .../media/platform/nvidia/tegra-vde/Kconfig | 2 +- > drivers/media/platform/nxp/Kconfig | 6 +- > drivers/media/platform/nxp/amphion/Kconfig | 2 +- > drivers/media/platform/nxp/imx-jpeg/Kconfig | 2 +- > drivers/media/platform/qcom/camss/Kconfig | 2 +- > drivers/media/platform/qcom/venus/Kconfig | 2 +- > drivers/media/platform/renesas/Kconfig | 30 +-- > .../media/platform/renesas/rcar-vin/Kconfig | 4 +- > drivers/media/platform/rockchip/rga/Kconfig | 2 +- > .../media/platform/rockchip/rkisp1/Kconfig | 2 +- > .../media/platform/samsung/exynos-gsc/Kconfig | 2 +- > .../media/platform/samsung/exynos4-is/Kconfig | 2 +- > .../media/platform/samsung/s3c-camif/Kconfig | 2 +- > .../media/platform/samsung/s5p-g2d/Kconfig | 2 +- > .../media/platform/samsung/s5p-jpeg/Kconfig | 2 +- > .../media/platform/samsung/s5p-mfc/Kconfig | 2 +- > drivers/media/platform/sti/bdisp/Kconfig | 2 +- > drivers/media/platform/sti/delta/Kconfig | 2 +- > drivers/media/platform/sti/hva/Kconfig | 2 +- > drivers/media/platform/sti/stm32/Kconfig | 4 +- > drivers/media/platform/ti/am437x/Kconfig | 2 +- > drivers/media/platform/ti/davinci/Kconfig | 12 +- > drivers/media/platform/ti/omap/Kconfig | 2 +- > drivers/media/platform/ti/omap3isp/Kconfig | 2 +- > drivers/media/platform/ti/vpe/Kconfig | 4 +- > drivers/media/platform/via/Kconfig | 2 +- > drivers/media/platform/xilinx/Kconfig | 2 +- > drivers/media/radio/Kconfig | 54 ++-- > drivers/media/radio/si470x/Kconfig | 2 +- > drivers/media/radio/wl128x/Kconfig | 2 +- > drivers/media/spi/Kconfig | 4 +- > drivers/media/test-drivers/Kconfig | 2 +- > drivers/media/test-drivers/vicodec/Kconfig | 2 +- > drivers/media/test-drivers/vimc/Kconfig | 2 +- > drivers/media/test-drivers/vivid/Kconfig | 2 +- > drivers/media/tuners/Kconfig | 6 +- > drivers/media/tuners/e4000.c | 6 +- > drivers/media/tuners/fc2580.c | 6 +- > drivers/media/usb/airspy/Kconfig | 2 +- > drivers/media/usb/au0828/Kconfig | 6 +- > drivers/media/usb/cpia2/Kconfig | 2 +- > drivers/media/usb/dvb-usb-v2/Kconfig | 8 +- > drivers/media/usb/dvb-usb/Kconfig | 4 +- > drivers/media/usb/gspca/Kconfig | 96 +++---- > drivers/media/usb/gspca/gl860/Kconfig | 2 +- > drivers/media/usb/gspca/m5602/Kconfig | 2 +- > drivers/media/usb/hackrf/Kconfig | 2 +- > drivers/media/usb/hdpvr/Kconfig | 2 +- > drivers/media/usb/msi2500/Kconfig | 2 +- > drivers/media/usb/pvrusb2/Kconfig | 2 +- > drivers/media/usb/pwc/Kconfig | 2 +- > drivers/media/usb/s2255/Kconfig | 2 +- > drivers/media/usb/stkwebcam/Kconfig | 2 +- > drivers/media/usb/usbtv/Kconfig | 2 +- > drivers/media/usb/uvc/Kconfig | 2 +- > drivers/media/usb/zr364xx/Kconfig | 2 +- > drivers/media/v4l2-core/Kconfig | 12 +- > drivers/media/v4l2-core/Makefile | 2 +- > drivers/staging/media/atomisp/Kconfig | 2 +- > drivers/staging/media/atomisp/i2c/Kconfig | 14 +- > drivers/staging/media/hantro/Kconfig | 2 +- > drivers/staging/media/imx/Kconfig | 2 +- > drivers/staging/media/ipu3/Kconfig | 2 +- > drivers/staging/media/max96712/Kconfig | 2 +- > drivers/staging/media/meson/vdec/Kconfig | 2 +- > drivers/staging/media/omap4iss/Kconfig | 2 +- > drivers/staging/media/rkvdec/Kconfig | 2 +- > drivers/staging/media/sunxi/cedrus/Kconfig | 2 +- > drivers/staging/media/tegra-video/Kconfig | 2 +- > drivers/staging/media/zoran/Kconfig | 2 +- > drivers/staging/most/video/Kconfig | 2 +- > .../vc04_services/bcm2835-camera/Kconfig | 2 +- > drivers/usb/gadget/Kconfig | 2 +- > drivers/usb/gadget/legacy/Kconfig | 2 +- > sound/pci/Kconfig | 4 +- > 116 files changed, 371 insertions(+), 376 deletions(-) Reviewed-by: Neil Armstrong <nar...@ba...> # for meson-vdec & meson-ge2d |
From: Mauro C. C. <mc...@ke...> - 2022-03-14 07:56:21
|
I opted to join two series and one separate patch on a single series, as they're related and one depends on the others: - Sort Makefiles and platform/Kconfig https://lore.kernel.org/linux-media/cov...@ke.../T/#t - Organize media platform drivers per manufacturer https://lore.kernel.org/linux-media/202...@co...n/T/#t - https://lore.kernel.org/linux-media/Yi3...@pe.../#r It basically sorts the main media Makefiles and reorganizes drivers/media/platform building system. Now, the entries there are organized per-vendor, and each per-vendor directory under drivers/media/platform contains its own Kconfig/Makefile. It should be noticed that I opted to not sort the manufacturer's Kconfig files on this series by purpose. After this series, the per-vendor Kconfig menus have only a few drivers (up to ~10 config symbols). That makes it a lot more manageable than what we had before when almost every platform driver config entry were on a single file. My current understaning is that the driver maintainers knows best how to better organize their Kconfig files, considering that: - the per-vendor driver order may not be in alphabetical order, as it may make sense to group drivers per type, platform and/or by its dependency chain; - It is now easy to sort the per-vendor entries alphabetically, either per config title or per Kconfig symbol; - Now that the main sort criteria is per-vendor, IMO it makes sense to define a per-vendor config space, like: config VIDEO_VNDR_bar ... config VIDEO_VNDR_foo ... config VIDEO_VNDR_foobar ... Regards, Mauro Mauro Carvalho Chehab (64): media: xc2028: rename the driver from tuner-xc2028 media: Makefiles: remove extra spaces media: Makefiles: sort entries where it fits media: platform: Makefile: reorganize its contents media: platform: move platform menu dependencies to drivers media: platform: place Aspeed driver on a separate dir media: platform: place NXP drivers on a separate dir media: platform: place Intel drivers on a separate dir media: platform: place Via drivers on a separate dir media: platform: place Renesas drivers on a separate dir media: platform: allegro-dvt: move config to its own file media: platform: amphion: move config to its own file media: platform: coda: move config to its own file media: platform: exynos-gsc: move config to its own file media: platform: ge2d: move config to its own file media: platform: mtk-jpeg: move config to its own file media: platform: mtk-mdp: move config to its own file media: platform: mtk-vcodec: move config to its own file media: platform: mtk-vpu: move config to its own file media: platform: omap3isp: move config to its own file media: platform: camss: move config to its own file media: platform: venus: move config to its own file media: platform: rga: move config to its own file media: platform: s3c-camif: move config to its own file media: platform: s5p-g2d: move config to its own file media: platform: hva: move config to its own file media: platform: stm32: move config to its own file media: platform: sun8i-di: move config to its own file media: platform: sun8i-rotate: move config to its own file media: platform: vde: move config to its own file media: platform: ti-vpe: move config to its own file media: platform: rkisp1: move config to its own file media: platform: delta: move config to its own file media: platform: bdisp: move config to its own file media: platform: s5p-mfc: move config to its own file media: platform: s5p-jpeg: move config to its own file media: platform: Kconfig: sort entries media: platform: move some manufacturer entries media: platform: Kconfig: place platform drivers on a submenu media: platform: rename coda/ to chips-media/ media: platform: rename marvell-ccic/ to marvell/ media: platform: rename meson/ge2d/ to amlogic/meson-ge2d/ media: platform: rename mtk-jpeg/ to mediatek/mtk-jpeg/ media: platform: rename mtk-mdp/ to mediatek/mtk-mdp/ media: platform: rename mtk-vcodec/ to mediatek/mtk-vcodec/ media: platform: rename mtk-vpu/ to mediatek/mtk-vpu/ media: platform: rename sunxi/ to allwinner/ media: platform: rename tegra/vde/ to nvidia/tegra-vde/ media: platform: rename amphion/ to nxp/amphion/ media: platform: rename exynos4-is/ to samsung/exynos4-is/ media: platform: rename exynos-gsc/ to samsung/exynos-gsc/ media: platform: rename s3c-camif/ to samsung/s3c-camif/ media: platform: rename s5p-g2d/ to samsung/s5p-g2d/ media: platform: rename s5p-jpeg/ to samsung/s5p-jpeg/ media: platform: rename s5p-mfc/ to samsung/s5p-mfc/ media: platform: rename stm32/ to sti/stm32/ media: platform: rename am437x/ to ti/am437x/ media: platform: rename davinci/ to ti/davinci/ media: platform: rename omap3isp/ to ti/omap3isp/ media: platform: rename omap/ to ti/omap/ media: platform: rename ti-vpe/ to ti/vpe/ media: platform: Create vendor/{Makefile,Kconfig} files media: platform/*/Kconfig: make manufacturer menus more uniform media: Kconfig: cleanup VIDEO_DEV dependencies Documentation/admin-guide/media/fimc.rst | 2 +- .../admin-guide/media/i2c-cardlist.rst | 2 +- Documentation/admin-guide/media/omap3isp.rst | 2 +- .../admin-guide/media/omap4_camera.rst | 2 +- .../media/drivers/davinci-vpbe-devel.rst | 20 +- .../driver-api/media/drivers/fimc-devel.rst | 14 +- Documentation/driver-api/media/v4l2-event.rst | 2 +- MAINTAINERS | 72 +- drivers/input/rmi4/Kconfig | 2 +- drivers/input/touchscreen/Kconfig | 4 +- drivers/media/Kconfig | 11 +- drivers/media/Makefile | 4 +- drivers/media/cec/platform/Makefile | 16 +- drivers/media/common/Makefile | 7 +- drivers/media/common/saa7146/Kconfig | 2 +- drivers/media/common/videobuf2/Makefile | 8 +- drivers/media/dvb-core/Kconfig | 2 +- drivers/media/dvb-frontends/Kconfig | 4 +- drivers/media/dvb-frontends/Makefile | 193 ++--- drivers/media/firewire/Makefile | 2 +- drivers/media/i2c/Kconfig | 250 +++--- drivers/media/i2c/Makefile | 92 +-- drivers/media/i2c/ccs/Kconfig | 2 +- drivers/media/i2c/cx25840/Kconfig | 2 +- drivers/media/i2c/et8ek8/Kconfig | 2 +- drivers/media/i2c/m5mols/Kconfig | 2 +- drivers/media/pci/Kconfig | 2 +- drivers/media/pci/Makefile | 22 +- drivers/media/pci/bt8xx/Kconfig | 2 +- drivers/media/pci/cobalt/Kconfig | 2 +- drivers/media/pci/cx18/Kconfig | 2 +- drivers/media/pci/cx18/cx18-driver.c | 2 +- drivers/media/pci/cx18/cx18-dvb.c | 2 +- drivers/media/pci/cx18/cx18-gpio.c | 2 +- drivers/media/pci/cx23885/cx23885-cards.c | 2 +- drivers/media/pci/cx23885/cx23885-dvb.c | 2 +- drivers/media/pci/cx23885/cx23885-video.c | 2 +- drivers/media/pci/cx88/cx88.h | 2 +- drivers/media/pci/dt3155/Kconfig | 2 +- drivers/media/pci/intel/ipu3/Kconfig | 2 +- drivers/media/pci/ivtv/Kconfig | 2 +- drivers/media/pci/ivtv/ivtv-driver.c | 2 +- drivers/media/pci/ivtv/ivtv-gpio.c | 2 +- drivers/media/pci/meye/Kconfig | 2 +- drivers/media/pci/saa7134/saa7134-cards.c | 2 +- drivers/media/pci/saa7134/saa7134-dvb.c | 2 +- drivers/media/pci/saa7146/Kconfig | 6 +- drivers/media/pci/sta2x11/Kconfig | 2 +- drivers/media/pci/tw5864/Kconfig | 2 +- drivers/media/pci/tw68/Kconfig | 2 +- drivers/media/pci/tw686x/Kconfig | 2 +- drivers/media/platform/Kconfig | 740 ++---------------- drivers/media/platform/Makefile | 113 +-- drivers/media/platform/allegro-dvt/Kconfig | 19 + drivers/media/platform/allwinner/Kconfig | 6 + .../platform/{sunxi => allwinner}/Makefile | 0 .../{sunxi => allwinner}/sun4i-csi/Kconfig | 3 +- .../{sunxi => allwinner}/sun4i-csi/Makefile | 0 .../sun4i-csi/sun4i_csi.c | 0 .../sun4i-csi/sun4i_csi.h | 0 .../sun4i-csi/sun4i_dma.c | 0 .../sun4i-csi/sun4i_v4l2.c | 0 .../{sunxi => allwinner}/sun6i-csi/Kconfig | 3 +- .../{sunxi => allwinner}/sun6i-csi/Makefile | 0 .../sun6i-csi/sun6i_csi.c | 0 .../sun6i-csi/sun6i_csi.h | 0 .../sun6i-csi/sun6i_csi_reg.h | 0 .../sun6i-csi/sun6i_video.c | 0 .../sun6i-csi/sun6i_video.h | 0 .../media/platform/allwinner/sun8i-di/Kconfig | 14 + .../{sunxi => allwinner}/sun8i-di/Makefile | 0 .../{sunxi => allwinner}/sun8i-di/sun8i-di.c | 0 .../{sunxi => allwinner}/sun8i-di/sun8i-di.h | 0 .../platform/allwinner/sun8i-rotate/Kconfig | 14 + .../sun8i-rotate/Makefile | 0 .../sun8i-rotate/sun8i-formats.h | 0 .../sun8i-rotate/sun8i-rotate.h | 0 .../sun8i-rotate/sun8i_formats.c | 0 .../sun8i-rotate/sun8i_rotate.c | 0 drivers/media/platform/amlogic/Kconfig | 5 + drivers/media/platform/amlogic/Makefile | 2 + .../media/platform/amlogic/meson-ge2d/Kconfig | 14 + .../ge2d => amlogic/meson-ge2d}/Makefile | 0 .../ge2d => amlogic/meson-ge2d}/ge2d-regs.h | 0 .../{meson/ge2d => amlogic/meson-ge2d}/ge2d.c | 0 drivers/media/platform/aspeed/Kconfig | 13 + drivers/media/platform/aspeed/Makefile | 2 + .../platform/{ => aspeed}/aspeed-video.c | 0 drivers/media/platform/atmel/Kconfig | 15 +- drivers/media/platform/cadence/Kconfig | 16 +- drivers/media/platform/chips-media/Kconfig | 20 + .../platform/{coda => chips-media}/Makefile | 0 .../platform/{coda => chips-media}/coda-bit.c | 0 .../{coda => chips-media}/coda-common.c | 0 .../platform/{coda => chips-media}/coda-gdi.c | 0 .../{coda => chips-media}/coda-h264.c | 0 .../{coda => chips-media}/coda-jpeg.c | 0 .../{coda => chips-media}/coda-mpeg2.c | 0 .../{coda => chips-media}/coda-mpeg4.c | 0 .../platform/{coda => chips-media}/coda.h | 0 .../{coda => chips-media}/coda_regs.h | 2 +- .../platform/{coda => chips-media}/imx-vdoa.c | 0 .../platform/{coda => chips-media}/imx-vdoa.h | 0 .../platform/{coda => chips-media}/trace.h | 2 +- drivers/media/platform/imx/Kconfig | 24 - drivers/media/platform/imx/Makefile | 1 - drivers/media/platform/intel/Kconfig | 14 + drivers/media/platform/intel/Makefile | 2 + .../media/platform/{ => intel}/pxa_camera.c | 0 .../{marvell-ccic => marvell}/Kconfig | 9 +- .../{marvell-ccic => marvell}/Makefile | 0 .../{marvell-ccic => marvell}/cafe-driver.c | 0 .../{marvell-ccic => marvell}/mcam-core.c | 0 .../{marvell-ccic => marvell}/mcam-core.h | 0 .../{marvell-ccic => marvell}/mmp-driver.c | 0 drivers/media/platform/mediatek/Kconfig | 8 + drivers/media/platform/mediatek/Makefile | 5 + .../media/platform/mediatek/mtk-jpeg/Kconfig | 16 + .../platform/{ => mediatek}/mtk-jpeg/Makefile | 0 .../{ => mediatek}/mtk-jpeg/mtk_jpeg_core.c | 0 .../{ => mediatek}/mtk-jpeg/mtk_jpeg_core.h | 0 .../{ => mediatek}/mtk-jpeg/mtk_jpeg_dec_hw.c | 0 .../{ => mediatek}/mtk-jpeg/mtk_jpeg_dec_hw.h | 0 .../mtk-jpeg/mtk_jpeg_dec_parse.c | 0 .../mtk-jpeg/mtk_jpeg_dec_parse.h | 0 .../mtk-jpeg/mtk_jpeg_dec_reg.h | 0 .../{ => mediatek}/mtk-jpeg/mtk_jpeg_enc_hw.c | 0 .../{ => mediatek}/mtk-jpeg/mtk_jpeg_enc_hw.h | 0 .../media/platform/mediatek/mtk-mdp/Kconfig | 17 + .../platform/{ => mediatek}/mtk-mdp/Makefile | 2 +- .../{ => mediatek}/mtk-mdp/mtk_mdp_comp.c | 0 .../{ => mediatek}/mtk-mdp/mtk_mdp_comp.h | 0 .../{ => mediatek}/mtk-mdp/mtk_mdp_core.c | 0 .../{ => mediatek}/mtk-mdp/mtk_mdp_core.h | 0 .../{ => mediatek}/mtk-mdp/mtk_mdp_ipi.h | 0 .../{ => mediatek}/mtk-mdp/mtk_mdp_m2m.c | 0 .../{ => mediatek}/mtk-mdp/mtk_mdp_m2m.h | 0 .../{ => mediatek}/mtk-mdp/mtk_mdp_regs.c | 0 .../{ => mediatek}/mtk-mdp/mtk_mdp_regs.h | 0 .../{ => mediatek}/mtk-mdp/mtk_mdp_vpu.c | 0 .../{ => mediatek}/mtk-mdp/mtk_mdp_vpu.h | 0 .../platform/mediatek/mtk-vcodec/Kconfig | 36 + .../{ => mediatek}/mtk-vcodec/Makefile | 0 .../mtk-vcodec/mtk_vcodec_dec.c | 0 .../mtk-vcodec/mtk_vcodec_dec.h | 0 .../mtk-vcodec/mtk_vcodec_dec_drv.c | 0 .../mtk-vcodec/mtk_vcodec_dec_hw.c | 0 .../mtk-vcodec/mtk_vcodec_dec_hw.h | 0 .../mtk-vcodec/mtk_vcodec_dec_pm.c | 0 .../mtk-vcodec/mtk_vcodec_dec_pm.h | 0 .../mtk-vcodec/mtk_vcodec_dec_stateful.c | 0 .../mtk-vcodec/mtk_vcodec_dec_stateless.c | 0 .../mtk-vcodec/mtk_vcodec_drv.h | 0 .../mtk-vcodec/mtk_vcodec_enc.c | 0 .../mtk-vcodec/mtk_vcodec_enc.h | 0 .../mtk-vcodec/mtk_vcodec_enc_drv.c | 0 .../mtk-vcodec/mtk_vcodec_enc_pm.c | 0 .../mtk-vcodec/mtk_vcodec_enc_pm.h | 0 .../{ => mediatek}/mtk-vcodec/mtk_vcodec_fw.c | 0 .../{ => mediatek}/mtk-vcodec/mtk_vcodec_fw.h | 0 .../mtk-vcodec/mtk_vcodec_fw_priv.h | 0 .../mtk-vcodec/mtk_vcodec_fw_scp.c | 0 .../mtk-vcodec/mtk_vcodec_fw_vpu.c | 0 .../mtk-vcodec/mtk_vcodec_intr.c | 0 .../mtk-vcodec/mtk_vcodec_intr.h | 0 .../mtk-vcodec/mtk_vcodec_util.c | 0 .../mtk-vcodec/mtk_vcodec_util.h | 0 .../mtk-vcodec/vdec/vdec_h264_if.c | 0 .../mtk-vcodec/vdec/vdec_h264_req_if.c | 0 .../mtk-vcodec/vdec/vdec_vp8_if.c | 0 .../mtk-vcodec/vdec/vdec_vp9_if.c | 0 .../{ => mediatek}/mtk-vcodec/vdec_drv_base.h | 0 .../{ => mediatek}/mtk-vcodec/vdec_drv_if.c | 0 .../{ => mediatek}/mtk-vcodec/vdec_drv_if.h | 0 .../{ => mediatek}/mtk-vcodec/vdec_ipi_msg.h | 0 .../mtk-vcodec/vdec_msg_queue.c | 0 .../mtk-vcodec/vdec_msg_queue.h | 0 .../{ => mediatek}/mtk-vcodec/vdec_vpu_if.c | 0 .../{ => mediatek}/mtk-vcodec/vdec_vpu_if.h | 0 .../mtk-vcodec/venc/venc_h264_if.c | 0 .../mtk-vcodec/venc/venc_vp8_if.c | 0 .../{ => mediatek}/mtk-vcodec/venc_drv_base.h | 0 .../{ => mediatek}/mtk-vcodec/venc_drv_if.c | 0 .../{ => mediatek}/mtk-vcodec/venc_drv_if.h | 0 .../{ => mediatek}/mtk-vcodec/venc_ipi_msg.h | 0 .../{ => mediatek}/mtk-vcodec/venc_vpu_if.c | 0 .../{ => mediatek}/mtk-vcodec/venc_vpu_if.h | 0 .../media/platform/mediatek/mtk-vpu/Kconfig | 15 + .../platform/{ => mediatek}/mtk-vpu/Makefile | 0 .../platform/{ => mediatek}/mtk-vpu/mtk_vpu.c | 0 .../platform/{ => mediatek}/mtk-vpu/mtk_vpu.h | 0 drivers/media/platform/nvidia/Kconfig | 5 + .../media/platform/nvidia/tegra-vde/Kconfig | 17 + .../{tegra/vde => nvidia/tegra-vde}/Makefile | 0 .../vde => nvidia/tegra-vde}/dmabuf-cache.c | 0 .../{tegra/vde => nvidia/tegra-vde}/h264.c | 0 .../{tegra/vde => nvidia/tegra-vde}/iommu.c | 0 .../{tegra/vde => nvidia/tegra-vde}/trace.h | 2 +- .../{tegra/vde => nvidia/tegra-vde}/v4l2.c | 0 .../{tegra/vde => nvidia/tegra-vde}/vde.c | 0 .../{tegra/vde => nvidia/tegra-vde}/vde.h | 0 drivers/media/platform/nxp/Kconfig | 55 ++ drivers/media/platform/nxp/Makefile | 9 + drivers/media/platform/nxp/amphion/Kconfig | 21 + .../media/platform/{ => nxp}/amphion/Makefile | 0 .../media/platform/{ => nxp}/amphion/vdec.c | 0 .../media/platform/{ => nxp}/amphion/venc.c | 0 .../media/platform/{ => nxp}/amphion/vpu.h | 0 .../platform/{ => nxp}/amphion/vpu_cmds.c | 0 .../platform/{ => nxp}/amphion/vpu_cmds.h | 0 .../platform/{ => nxp}/amphion/vpu_codec.h | 0 .../platform/{ => nxp}/amphion/vpu_color.c | 0 .../platform/{ => nxp}/amphion/vpu_core.c | 0 .../platform/{ => nxp}/amphion/vpu_core.h | 0 .../platform/{ => nxp}/amphion/vpu_dbg.c | 0 .../platform/{ => nxp}/amphion/vpu_defs.h | 0 .../platform/{ => nxp}/amphion/vpu_drv.c | 0 .../platform/{ => nxp}/amphion/vpu_helpers.c | 0 .../platform/{ => nxp}/amphion/vpu_helpers.h | 0 .../platform/{ => nxp}/amphion/vpu_imx8q.c | 0 .../platform/{ => nxp}/amphion/vpu_imx8q.h | 0 .../platform/{ => nxp}/amphion/vpu_malone.c | 0 .../platform/{ => nxp}/amphion/vpu_malone.h | 0 .../platform/{ => nxp}/amphion/vpu_mbox.c | 0 .../platform/{ => nxp}/amphion/vpu_mbox.h | 0 .../platform/{ => nxp}/amphion/vpu_msgs.c | 0 .../platform/{ => nxp}/amphion/vpu_msgs.h | 0 .../platform/{ => nxp}/amphion/vpu_rpc.c | 0 .../platform/{ => nxp}/amphion/vpu_rpc.h | 0 .../platform/{ => nxp}/amphion/vpu_v4l2.c | 0 .../platform/{ => nxp}/amphion/vpu_v4l2.h | 0 .../platform/{ => nxp}/amphion/vpu_windsor.c | 0 .../platform/{ => nxp}/amphion/vpu_windsor.h | 0 drivers/media/platform/{ => nxp}/fsl-viu.c | 0 .../media/platform/{ => nxp}/imx-jpeg/Kconfig | 3 +- .../platform/{ => nxp}/imx-jpeg/Makefile | 0 .../platform/{ => nxp}/imx-jpeg/mxc-jpeg-hw.c | 0 .../platform/{ => nxp}/imx-jpeg/mxc-jpeg-hw.h | 0 .../platform/{ => nxp}/imx-jpeg/mxc-jpeg.c | 2 +- .../platform/{ => nxp}/imx-jpeg/mxc-jpeg.h | 0 .../platform/{imx => nxp}/imx-mipi-csis.c | 0 drivers/media/platform/{ => nxp}/imx-pxp.c | 0 drivers/media/platform/{ => nxp}/imx-pxp.h | 0 .../media/platform/{ => nxp}/mx2_emmaprp.c | 0 drivers/media/platform/qcom/Kconfig | 6 + drivers/media/platform/qcom/Makefile | 3 + drivers/media/platform/qcom/camss/Kconfig | 9 + drivers/media/platform/qcom/venus/Kconfig | 14 + drivers/media/platform/renesas/Kconfig | 121 +++ drivers/media/platform/renesas/Makefile | 15 + .../media/platform/{ => renesas}/rcar-fcp.c | 0 .../media/platform/{ => renesas}/rcar-isp.c | 0 .../platform/{ => renesas}/rcar-vin/Kconfig | 6 +- .../platform/{ => renesas}/rcar-vin/Makefile | 0 .../{ => renesas}/rcar-vin/rcar-core.c | 0 .../{ => renesas}/rcar-vin/rcar-csi2.c | 0 .../{ => renesas}/rcar-vin/rcar-dma.c | 0 .../{ => renesas}/rcar-vin/rcar-v4l2.c | 0 .../{ => renesas}/rcar-vin/rcar-vin.h | 0 .../media/platform/{ => renesas}/rcar_drif.c | 0 .../media/platform/{ => renesas}/rcar_fdp1.c | 0 .../media/platform/{ => renesas}/rcar_jpu.c | 2 +- .../platform/{ => renesas}/renesas-ceu.c | 0 drivers/media/platform/{ => renesas}/sh_vou.c | 0 .../platform/{ => renesas}/vsp1/Makefile | 0 .../media/platform/{ => renesas}/vsp1/vsp1.h | 0 .../platform/{ => renesas}/vsp1/vsp1_brx.c | 0 .../platform/{ => renesas}/vsp1/vsp1_brx.h | 0 .../platform/{ => renesas}/vsp1/vsp1_clu.c | 0 .../platform/{ => renesas}/vsp1/vsp1_clu.h | 0 .../platform/{ => renesas}/vsp1/vsp1_dl.c | 0 .../platform/{ => renesas}/vsp1/vsp1_dl.h | 0 .../platform/{ => renesas}/vsp1/vsp1_drm.c | 0 .../platform/{ => renesas}/vsp1/vsp1_drm.h | 0 .../platform/{ => renesas}/vsp1/vsp1_drv.c | 0 .../platform/{ => renesas}/vsp1/vsp1_entity.c | 0 .../platform/{ => renesas}/vsp1/vsp1_entity.h | 0 .../platform/{ => renesas}/vsp1/vsp1_hgo.c | 0 .../platform/{ => renesas}/vsp1/vsp1_hgo.h | 0 .../platform/{ => renesas}/vsp1/vsp1_hgt.c | 0 .../platform/{ => renesas}/vsp1/vsp1_hgt.h | 0 .../platform/{ => renesas}/vsp1/vsp1_histo.c | 0 .../platform/{ => renesas}/vsp1/vsp1_histo.h | 0 .../platform/{ => renesas}/vsp1/vsp1_hsit.c | 0 .../platform/{ => renesas}/vsp1/vsp1_hsit.h | 0 .../platform/{ => renesas}/vsp1/vsp1_lif.c | 0 .../platform/{ => renesas}/vsp1/vsp1_lif.h | 0 .../platform/{ => renesas}/vsp1/vsp1_lut.c | 0 .../platform/{ => renesas}/vsp1/vsp1_lut.h | 0 .../platform/{ => renesas}/vsp1/vsp1_pipe.c | 0 .../platform/{ => renesas}/vsp1/vsp1_pipe.h | 0 .../platform/{ => renesas}/vsp1/vsp1_regs.h | 0 .../platform/{ => renesas}/vsp1/vsp1_rpf.c | 0 .../platform/{ => renesas}/vsp1/vsp1_rwpf.c | 0 .../platform/{ => renesas}/vsp1/vsp1_rwpf.h | 0 .../platform/{ => renesas}/vsp1/vsp1_sru.c | 0 .../platform/{ => renesas}/vsp1/vsp1_sru.h | 0 .../platform/{ => renesas}/vsp1/vsp1_uds.c | 0 .../platform/{ => renesas}/vsp1/vsp1_uds.h | 0 .../platform/{ => renesas}/vsp1/vsp1_uif.c | 0 .../platform/{ => renesas}/vsp1/vsp1_uif.h | 0 .../platform/{ => renesas}/vsp1/vsp1_video.c | 0 .../platform/{ => renesas}/vsp1/vsp1_video.h | 0 .../platform/{ => renesas}/vsp1/vsp1_wpf.c | 0 drivers/media/platform/rockchip/Kconfig | 6 + drivers/media/platform/rockchip/Makefile | 3 + drivers/media/platform/rockchip/rga/Kconfig | 14 + .../media/platform/rockchip/rkisp1/Kconfig | 19 + drivers/media/platform/samsung/Kconfig | 10 + drivers/media/platform/samsung/Makefile | 7 + .../media/platform/samsung/exynos-gsc/Kconfig | 10 + .../{ => samsung}/exynos-gsc/Makefile | 0 .../{ => samsung}/exynos-gsc/gsc-core.c | 0 .../{ => samsung}/exynos-gsc/gsc-core.h | 0 .../{ => samsung}/exynos-gsc/gsc-m2m.c | 0 .../{ => samsung}/exynos-gsc/gsc-regs.c | 0 .../{ => samsung}/exynos-gsc/gsc-regs.h | 0 .../platform/{ => samsung}/exynos4-is/Kconfig | 3 +- .../{ => samsung}/exynos4-is/Makefile | 0 .../{ => samsung}/exynos4-is/common.c | 0 .../{ => samsung}/exynos4-is/common.h | 0 .../{ => samsung}/exynos4-is/fimc-capture.c | 0 .../{ => samsung}/exynos4-is/fimc-core.c | 0 .../{ => samsung}/exynos4-is/fimc-core.h | 0 .../exynos4-is/fimc-is-command.h | 0 .../{ => samsung}/exynos4-is/fimc-is-errno.c | 0 .../{ => samsung}/exynos4-is/fimc-is-errno.h | 0 .../{ => samsung}/exynos4-is/fimc-is-i2c.c | 0 .../{ => samsung}/exynos4-is/fimc-is-i2c.h | 0 .../{ => samsung}/exynos4-is/fimc-is-param.c | 0 .../{ => samsung}/exynos4-is/fimc-is-param.h | 0 .../{ => samsung}/exynos4-is/fimc-is-regs.c | 0 .../{ => samsung}/exynos4-is/fimc-is-regs.h | 0 .../{ => samsung}/exynos4-is/fimc-is-sensor.c | 0 .../{ => samsung}/exynos4-is/fimc-is-sensor.h | 0 .../{ => samsung}/exynos4-is/fimc-is.c | 0 .../{ => samsung}/exynos4-is/fimc-is.h | 0 .../{ => samsung}/exynos4-is/fimc-isp-video.c | 0 .../{ => samsung}/exynos4-is/fimc-isp-video.h | 0 .../{ => samsung}/exynos4-is/fimc-isp.c | 0 .../{ => samsung}/exynos4-is/fimc-isp.h | 0 .../{ => samsung}/exynos4-is/fimc-lite-reg.c | 0 .../{ => samsung}/exynos4-is/fimc-lite-reg.h | 0 .../{ => samsung}/exynos4-is/fimc-lite.c | 0 .../{ => samsung}/exynos4-is/fimc-lite.h | 0 .../{ => samsung}/exynos4-is/fimc-m2m.c | 0 .../{ => samsung}/exynos4-is/fimc-reg.c | 0 .../{ => samsung}/exynos4-is/fimc-reg.h | 0 .../{ => samsung}/exynos4-is/media-dev.c | 0 .../{ => samsung}/exynos4-is/media-dev.h | 0 .../{ => samsung}/exynos4-is/mipi-csis.c | 0 .../{ => samsung}/exynos4-is/mipi-csis.h | 0 .../media/platform/samsung/s3c-camif/Kconfig | 15 + .../platform/{ => samsung}/s3c-camif/Makefile | 0 .../{ => samsung}/s3c-camif/camif-capture.c | 0 .../{ => samsung}/s3c-camif/camif-core.c | 0 .../{ => samsung}/s3c-camif/camif-core.h | 0 .../{ => samsung}/s3c-camif/camif-regs.c | 0 .../{ => samsung}/s3c-camif/camif-regs.h | 0 .../media/platform/samsung/s5p-g2d/Kconfig | 11 + .../platform/{ => samsung}/s5p-g2d/Makefile | 0 .../platform/{ => samsung}/s5p-g2d/g2d-hw.c | 0 .../platform/{ => samsung}/s5p-g2d/g2d-regs.h | 0 .../platform/{ => samsung}/s5p-g2d/g2d.c | 0 .../platform/{ => samsung}/s5p-g2d/g2d.h | 0 .../media/platform/samsung/s5p-jpeg/Kconfig | 12 + .../platform/{ => samsung}/s5p-jpeg/Makefile | 0 .../{ => samsung}/s5p-jpeg/jpeg-core.c | 2 +- .../{ => samsung}/s5p-jpeg/jpeg-core.h | 2 +- .../s5p-jpeg/jpeg-hw-exynos3250.c | 0 .../s5p-jpeg/jpeg-hw-exynos3250.h | 2 +- .../{ => samsung}/s5p-jpeg/jpeg-hw-exynos4.c | 0 .../{ => samsung}/s5p-jpeg/jpeg-hw-exynos4.h | 0 .../{ => samsung}/s5p-jpeg/jpeg-hw-s5p.c | 2 +- .../{ => samsung}/s5p-jpeg/jpeg-hw-s5p.h | 2 +- .../{ => samsung}/s5p-jpeg/jpeg-regs.h | 2 +- .../media/platform/samsung/s5p-mfc/Kconfig | 9 + .../platform/{ => samsung}/s5p-mfc/Makefile | 0 .../{ => samsung}/s5p-mfc/regs-mfc-v10.h | 0 .../{ => samsung}/s5p-mfc/regs-mfc-v6.h | 0 .../{ => samsung}/s5p-mfc/regs-mfc-v7.h | 0 .../{ => samsung}/s5p-mfc/regs-mfc-v8.h | 0 .../platform/{ => samsung}/s5p-mfc/regs-mfc.h | 0 .../platform/{ => samsung}/s5p-mfc/s5p_mfc.c | 0 .../{ => samsung}/s5p-mfc/s5p_mfc_cmd.c | 2 +- .../{ => samsung}/s5p-mfc/s5p_mfc_cmd.h | 2 +- .../{ => samsung}/s5p-mfc/s5p_mfc_cmd_v5.c | 2 +- .../{ => samsung}/s5p-mfc/s5p_mfc_cmd_v5.h | 2 +- .../{ => samsung}/s5p-mfc/s5p_mfc_cmd_v6.c | 2 +- .../{ => samsung}/s5p-mfc/s5p_mfc_cmd_v6.h | 2 +- .../{ => samsung}/s5p-mfc/s5p_mfc_common.h | 0 .../{ => samsung}/s5p-mfc/s5p_mfc_ctrl.c | 2 +- .../{ => samsung}/s5p-mfc/s5p_mfc_ctrl.h | 2 +- .../{ => samsung}/s5p-mfc/s5p_mfc_debug.h | 2 +- .../{ => samsung}/s5p-mfc/s5p_mfc_dec.c | 2 +- .../{ => samsung}/s5p-mfc/s5p_mfc_dec.h | 2 +- .../{ => samsung}/s5p-mfc/s5p_mfc_enc.c | 2 +- .../{ => samsung}/s5p-mfc/s5p_mfc_enc.h | 2 +- .../{ => samsung}/s5p-mfc/s5p_mfc_intr.c | 0 .../{ => samsung}/s5p-mfc/s5p_mfc_intr.h | 0 .../{ => samsung}/s5p-mfc/s5p_mfc_iommu.h | 0 .../{ => samsung}/s5p-mfc/s5p_mfc_opr.c | 2 +- .../{ => samsung}/s5p-mfc/s5p_mfc_opr.h | 2 +- .../{ => samsung}/s5p-mfc/s5p_mfc_opr_v5.c | 0 .../{ => samsung}/s5p-mfc/s5p_mfc_opr_v5.h | 0 .../{ => samsung}/s5p-mfc/s5p_mfc_opr_v6.c | 2 +- .../{ => samsung}/s5p-mfc/s5p_mfc_opr_v6.h | 2 +- .../{ => samsung}/s5p-mfc/s5p_mfc_pm.c | 2 +- .../{ => samsung}/s5p-mfc/s5p_mfc_pm.h | 2 +- drivers/media/platform/sti/Kconfig | 9 + drivers/media/platform/sti/Makefile | 6 + drivers/media/platform/sti/bdisp/Kconfig | 10 + drivers/media/platform/sti/c8sectpfe/Kconfig | 1 + drivers/media/platform/sti/delta/Kconfig | 36 + drivers/media/platform/sti/hva/Kconfig | 26 + drivers/media/platform/sti/stm32/Kconfig | 31 + .../media/platform/{ => sti}/stm32/Makefile | 0 .../platform/{ => sti}/stm32/dma2d/dma2d-hw.c | 0 .../{ => sti}/stm32/dma2d/dma2d-regs.h | 0 .../platform/{ => sti}/stm32/dma2d/dma2d.c | 0 .../platform/{ => sti}/stm32/dma2d/dma2d.h | 0 .../platform/{ => sti}/stm32/stm32-dcmi.c | 0 drivers/media/platform/sunxi/Kconfig | 4 - drivers/media/platform/ti/Kconfig | 9 + drivers/media/platform/ti/Makefile | 6 + .../media/platform/{ => ti}/am437x/Kconfig | 3 +- .../media/platform/{ => ti}/am437x/Makefile | 0 .../platform/{ => ti}/am437x/am437x-vpfe.c | 0 .../platform/{ => ti}/am437x/am437x-vpfe.h | 0 .../{ => ti}/am437x/am437x-vpfe_regs.h | 0 .../media/platform/{ => ti}/davinci/Kconfig | 18 +- .../media/platform/{ => ti}/davinci/Makefile | 0 .../{ => ti}/davinci/ccdc_hw_device.h | 0 .../platform/{ => ti}/davinci/dm355_ccdc.c | 0 .../{ => ti}/davinci/dm355_ccdc_regs.h | 0 .../platform/{ => ti}/davinci/dm644x_ccdc.c | 0 .../{ => ti}/davinci/dm644x_ccdc_regs.h | 0 .../media/platform/{ => ti}/davinci/isif.c | 0 .../platform/{ => ti}/davinci/isif_regs.h | 0 .../media/platform/{ => ti}/davinci/vpbe.c | 0 .../platform/{ => ti}/davinci/vpbe_display.c | 0 .../platform/{ => ti}/davinci/vpbe_osd.c | 0 .../platform/{ => ti}/davinci/vpbe_osd_regs.h | 0 .../platform/{ => ti}/davinci/vpbe_venc.c | 0 .../{ => ti}/davinci/vpbe_venc_regs.h | 0 .../platform/{ => ti}/davinci/vpfe_capture.c | 0 .../media/platform/{ => ti}/davinci/vpif.c | 0 .../media/platform/{ => ti}/davinci/vpif.h | 0 .../platform/{ => ti}/davinci/vpif_capture.c | 0 .../platform/{ => ti}/davinci/vpif_capture.h | 0 .../platform/{ => ti}/davinci/vpif_display.c | 0 .../platform/{ => ti}/davinci/vpif_display.h | 0 .../media/platform/{ => ti}/davinci/vpss.c | 0 drivers/media/platform/{ => ti}/omap/Kconfig | 3 +- drivers/media/platform/{ => ti}/omap/Makefile | 0 .../media/platform/{ => ti}/omap/omap_vout.c | 0 .../platform/{ => ti}/omap/omap_vout_vrfb.c | 0 .../platform/{ => ti}/omap/omap_vout_vrfb.h | 0 .../platform/{ => ti}/omap/omap_voutdef.h | 0 .../platform/{ => ti}/omap/omap_voutlib.c | 0 .../platform/{ => ti}/omap/omap_voutlib.h | 0 drivers/media/platform/ti/omap3isp/Kconfig | 21 + .../media/platform/{ => ti}/omap3isp/Makefile | 0 .../{ => ti}/omap3isp/cfa_coef_table.h | 0 .../platform/{ => ti}/omap3isp/gamma_table.h | 0 .../media/platform/{ => ti}/omap3isp/isp.c | 0 .../media/platform/{ => ti}/omap3isp/isp.h | 0 .../platform/{ => ti}/omap3isp/ispccdc.c | 0 .../platform/{ => ti}/omap3isp/ispccdc.h | 0 .../platform/{ => ti}/omap3isp/ispccp2.c | 0 .../platform/{ => ti}/omap3isp/ispccp2.h | 0 .../platform/{ => ti}/omap3isp/ispcsi2.c | 0 .../platform/{ => ti}/omap3isp/ispcsi2.h | 0 .../platform/{ => ti}/omap3isp/ispcsiphy.c | 0 .../platform/{ => ti}/omap3isp/ispcsiphy.h | 0 .../media/platform/{ => ti}/omap3isp/isph3a.h | 0 .../platform/{ => ti}/omap3isp/isph3a_aewb.c | 0 .../platform/{ => ti}/omap3isp/isph3a_af.c | 0 .../platform/{ => ti}/omap3isp/isphist.c | 0 .../platform/{ => ti}/omap3isp/isphist.h | 0 .../platform/{ => ti}/omap3isp/isppreview.c | 0 .../platform/{ => ti}/omap3isp/isppreview.h | 0 .../media/platform/{ => ti}/omap3isp/ispreg.h | 0 .../platform/{ => ti}/omap3isp/ispresizer.c | 0 .../platform/{ => ti}/omap3isp/ispresizer.h | 0 .../platform/{ => ti}/omap3isp/ispstat.c | 0 .../platform/{ => ti}/omap3isp/ispstat.h | 0 .../platform/{ => ti}/omap3isp/ispvideo.c | 0 .../platform/{ => ti}/omap3isp/ispvideo.h | 0 .../{ => ti}/omap3isp/luma_enhance_table.h | 0 .../{ => ti}/omap3isp/noise_filter_table.h | 0 .../platform/{ => ti}/omap3isp/omap3isp.h | 0 drivers/media/platform/ti/vpe/Kconfig | 62 ++ .../platform/{ti-vpe => ti/vpe}/Makefile | 0 .../{ti-vpe => ti/vpe}/cal-camerarx.c | 0 .../platform/{ti-vpe => ti/vpe}/cal-video.c | 0 .../media/platform/{ti-vpe => ti/vpe}/cal.c | 0 .../media/platform/{ti-vpe => ti/vpe}/cal.h | 0 .../platform/{ti-vpe => ti/vpe}/cal_regs.h | 0 .../media/platform/{ti-vpe => ti/vpe}/csc.c | 0 .../media/platform/{ti-vpe => ti/vpe}/csc.h | 0 .../media/platform/{ti-vpe => ti/vpe}/sc.c | 0 .../media/platform/{ti-vpe => ti/vpe}/sc.h | 0 .../platform/{ti-vpe => ti/vpe}/sc_coeff.h | 0 .../media/platform/{ti-vpe => ti/vpe}/vpdma.c | 0 .../media/platform/{ti-vpe => ti/vpe}/vpdma.h | 0 .../platform/{ti-vpe => ti/vpe}/vpdma_priv.h | 0 .../media/platform/{ti-vpe => ti/vpe}/vpe.c | 0 .../platform/{ti-vpe => ti/vpe}/vpe_regs.h | 0 drivers/media/platform/via/Kconfig | 14 + drivers/media/platform/via/Makefile | 2 + drivers/media/platform/{ => via}/via-camera.c | 0 drivers/media/platform/{ => via}/via-camera.h | 0 drivers/media/platform/xilinx/Kconfig | 10 +- drivers/media/radio/Kconfig | 54 +- drivers/media/radio/Makefile | 43 +- drivers/media/radio/si470x/Kconfig | 2 +- drivers/media/radio/wl128x/Kconfig | 2 +- drivers/media/rc/Makefile | 47 +- drivers/media/rc/keymaps/Makefile | 34 +- drivers/media/spi/Kconfig | 4 +- drivers/media/spi/Makefile | 7 +- drivers/media/test-drivers/Kconfig | 2 +- drivers/media/test-drivers/Makefile | 14 +- drivers/media/test-drivers/vicodec/Kconfig | 2 +- drivers/media/test-drivers/vimc/Kconfig | 2 +- drivers/media/test-drivers/vivid/Kconfig | 2 +- drivers/media/tuners/Kconfig | 6 +- drivers/media/tuners/Makefile | 66 +- drivers/media/tuners/e4000.c | 6 +- drivers/media/tuners/fc2580.c | 6 +- drivers/media/tuners/tuner-types.c | 2 +- .../{tuner-xc2028-types.h => xc2028-types.h} | 6 +- .../media/tuners/{tuner-xc2028.c => xc2028.c} | 6 +- .../media/tuners/{tuner-xc2028.h => xc2028.h} | 2 +- drivers/media/tuners/xc4000.c | 2 +- drivers/media/usb/Makefile | 40 +- drivers/media/usb/airspy/Kconfig | 2 +- drivers/media/usb/au0828/Kconfig | 6 +- drivers/media/usb/cpia2/Kconfig | 2 +- drivers/media/usb/dvb-usb-v2/Kconfig | 8 +- drivers/media/usb/dvb-usb/Kconfig | 4 +- drivers/media/usb/dvb-usb/cxusb.c | 2 +- drivers/media/usb/dvb-usb/dib0700_devices.c | 2 +- drivers/media/usb/em28xx/em28xx-i2c.c | 2 +- drivers/media/usb/em28xx/em28xx.h | 2 +- drivers/media/usb/gspca/Kconfig | 96 +-- drivers/media/usb/gspca/Makefile | 88 +-- drivers/media/usb/gspca/gl860/Kconfig | 2 +- drivers/media/usb/gspca/m5602/Kconfig | 2 +- drivers/media/usb/hackrf/Kconfig | 2 +- drivers/media/usb/hdpvr/Kconfig | 2 +- drivers/media/usb/msi2500/Kconfig | 2 +- drivers/media/usb/pvrusb2/Kconfig | 2 +- drivers/media/usb/pwc/Kconfig | 2 +- drivers/media/usb/s2255/Kconfig | 2 +- drivers/media/usb/stkwebcam/Kconfig | 2 +- drivers/media/usb/tm6000/tm6000-cards.c | 2 +- drivers/media/usb/tm6000/tm6000-dvb.c | 2 +- drivers/media/usb/tm6000/tm6000-i2c.c | 2 +- drivers/media/usb/usbtv/Kconfig | 2 +- drivers/media/usb/uvc/Kconfig | 2 +- drivers/media/usb/zr364xx/Kconfig | 2 +- drivers/media/v4l2-core/Kconfig | 12 +- drivers/media/v4l2-core/Makefile | 34 +- drivers/media/v4l2-core/tuner-core.c | 2 +- drivers/staging/media/atomisp/Kconfig | 2 +- drivers/staging/media/atomisp/i2c/Kconfig | 14 +- drivers/staging/media/hantro/Kconfig | 2 +- drivers/staging/media/imx/Kconfig | 2 +- drivers/staging/media/ipu3/Kconfig | 2 +- drivers/staging/media/max96712/Kconfig | 2 +- drivers/staging/media/meson/vdec/Kconfig | 2 +- drivers/staging/media/omap4iss/Kconfig | 2 +- drivers/staging/media/rkvdec/Kconfig | 2 +- drivers/staging/media/sunxi/cedrus/Kconfig | 2 +- drivers/staging/media/tegra-video/Kconfig | 2 +- drivers/staging/media/zoran/Kconfig | 2 +- drivers/staging/most/video/Kconfig | 2 +- .../vc04_services/bcm2835-camera/Kconfig | 2 +- drivers/usb/gadget/Kconfig | 2 +- drivers/usb/gadget/legacy/Kconfig | 2 +- sound/pci/Kconfig | 4 +- 583 files changed, 1778 insertions(+), 1596 deletions(-) create mode 100644 drivers/media/platform/allegro-dvt/Kconfig create mode 100644 drivers/media/platform/allwinner/Kconfig rename drivers/media/platform/{sunxi => allwinner}/Makefile (100%) rename drivers/media/platform/{sunxi => allwinner}/sun4i-csi/Kconfig (83%) rename drivers/media/platform/{sunxi => allwinner}/sun4i-csi/Makefile (100%) rename drivers/media/platform/{sunxi => allwinner}/sun4i-csi/sun4i_csi.c (100%) rename drivers/media/platform/{sunxi => allwinner}/sun4i-csi/sun4i_csi.h (100%) rename drivers/media/platform/{sunxi => allwinner}/sun4i-csi/sun4i_dma.c (100%) rename drivers/media/platform/{sunxi => allwinner}/sun4i-csi/sun4i_v4l2.c (100%) rename drivers/media/platform/{sunxi => allwinner}/sun6i-csi/Kconfig (81%) rename drivers/media/platform/{sunxi => allwinner}/sun6i-csi/Makefile (100%) rename drivers/media/platform/{sunxi => allwinner}/sun6i-csi/sun6i_csi.c (100%) rename drivers/media/platform/{sunxi => allwinner}/sun6i-csi/sun6i_csi.h (100%) rename drivers/media/platform/{sunxi => allwinner}/sun6i-csi/sun6i_csi_reg.h (100%) rename drivers/media/platform/{sunxi => allwinner}/sun6i-csi/sun6i_video.c (100%) rename drivers/media/platform/{sunxi => allwinner}/sun6i-csi/sun6i_video.h (100%) create mode 100644 drivers/media/platform/allwinner/sun8i-di/Kconfig rename drivers/media/platform/{sunxi => allwinner}/sun8i-di/Makefile (100%) rename drivers/media/platform/{sunxi => allwinner}/sun8i-di/sun8i-di.c (100%) rename drivers/media/platform/{sunxi => allwinner}/sun8i-di/sun8i-di.h (100%) create mode 100644 drivers/media/platform/allwinner/sun8i-rotate/Kconfig rename drivers/media/platform/{sunxi => allwinner}/sun8i-rotate/Makefile (100%) rename drivers/media/platform/{sunxi => allwinner}/sun8i-rotate/sun8i-formats.h (100%) rename drivers/media/platform/{sunxi => allwinner}/sun8i-rotate/sun8i-rotate.h (100%) rename drivers/media/platform/{sunxi => allwinner}/sun8i-rotate/sun8i_formats.c (100%) rename drivers/media/platform/{sunxi => allwinner}/sun8i-rotate/sun8i_rotate.c (100%) create mode 100644 drivers/media/platform/amlogic/Kconfig create mode 100644 drivers/media/platform/amlogic/Makefile create mode 100644 drivers/media/platform/amlogic/meson-ge2d/Kconfig rename drivers/media/platform/{meson/ge2d => amlogic/meson-ge2d}/Makefile (100%) rename drivers/media/platform/{meson/ge2d => amlogic/meson-ge2d}/ge2d-regs.h (100%) rename drivers/media/platform/{meson/ge2d => amlogic/meson-ge2d}/ge2d.c (100%) create mode 100644 drivers/media/platform/aspeed/Kconfig create mode 100644 drivers/media/platform/aspeed/Makefile rename drivers/media/platform/{ => aspeed}/aspeed-video.c (100%) create mode 100644 drivers/media/platform/chips-media/Kconfig rename drivers/media/platform/{coda => chips-media}/Makefile (100%) rename drivers/media/platform/{coda => chips-media}/coda-bit.c (100%) rename drivers/media/platform/{coda => chips-media}/coda-common.c (100%) rename drivers/media/platform/{coda => chips-media}/coda-gdi.c (100%) rename drivers/media/platform/{coda => chips-media}/coda-h264.c (100%) rename drivers/media/platform/{coda => chips-media}/coda-jpeg.c (100%) rename drivers/media/platform/{coda => chips-media}/coda-mpeg2.c (100%) rename drivers/media/platform/{coda => chips-media}/coda-mpeg4.c (100%) rename drivers/media/platform/{coda => chips-media}/coda.h (100%) rename drivers/media/platform/{coda => chips-media}/coda_regs.h (99%) rename drivers/media/platform/{coda => chips-media}/imx-vdoa.c (100%) rename drivers/media/platform/{coda => chips-media}/imx-vdoa.h (100%) rename drivers/media/platform/{coda => chips-media}/trace.h (98%) delete mode 100644 drivers/media/platform/imx/Kconfig delete mode 100644 drivers/media/platform/imx/Makefile create mode 100644 drivers/media/platform/intel/Kconfig create mode 100644 drivers/media/platform/intel/Makefile rename drivers/media/platform/{ => intel}/pxa_camera.c (100%) rename drivers/media/platform/{marvell-ccic => marvell}/Kconfig (85%) rename drivers/media/platform/{marvell-ccic => marvell}/Makefile (100%) rename drivers/media/platform/{marvell-ccic => marvell}/cafe-driver.c (100%) rename drivers/media/platform/{marvell-ccic => marvell}/mcam-core.c (100%) rename drivers/media/platform/{marvell-ccic => marvell}/mcam-core.h (100%) rename drivers/media/platform/{marvell-ccic => marvell}/mmp-driver.c (100%) create mode 100644 drivers/media/platform/mediatek/Kconfig create mode 100644 drivers/media/platform/mediatek/Makefile create mode 100644 drivers/media/platform/mediatek/mtk-jpeg/Kconfig rename drivers/media/platform/{ => mediatek}/mtk-jpeg/Makefile (100%) rename drivers/media/platform/{ => mediatek}/mtk-jpeg/mtk_jpeg_core.c (100%) rename drivers/media/platform/{ => mediatek}/mtk-jpeg/mtk_jpeg_core.h (100%) rename drivers/media/platform/{ => mediatek}/mtk-jpeg/mtk_jpeg_dec_hw.c (100%) rename drivers/media/platform/{ => mediatek}/mtk-jpeg/mtk_jpeg_dec_hw.h (100%) rename drivers/media/platform/{ => mediatek}/mtk-jpeg/mtk_jpeg_dec_parse.c (100%) rename drivers/media/platform/{ => mediatek}/mtk-jpeg/mtk_jpeg_dec_parse.h (100%) rename drivers/media/platform/{ => mediatek}/mtk-jpeg/mtk_jpeg_dec_reg.h (100%) rename drivers/media/platform/{ => mediatek}/mtk-jpeg/mtk_jpeg_enc_hw.c (100%) rename drivers/media/platform/{ => mediatek}/mtk-jpeg/mtk_jpeg_enc_hw.h (100%) create mode 100644 drivers/media/platform/mediatek/mtk-mdp/Kconfig rename drivers/media/platform/{ => mediatek}/mtk-mdp/Makefile (77%) rename drivers/media/platform/{ => mediatek}/mtk-mdp/mtk_mdp_comp.c (100%) rename drivers/media/platform/{ => mediatek}/mtk-mdp/mtk_mdp_comp.h (100%) rename drivers/media/platform/{ => mediatek}/mtk-mdp/mtk_mdp_core.c (100%) rename drivers/media/platform/{ => mediatek}/mtk-mdp/mtk_mdp_core.h (100%) rename drivers/media/platform/{ => mediatek}/mtk-mdp/mtk_mdp_ipi.h (100%) rename drivers/media/platform/{ => mediatek}/mtk-mdp/mtk_mdp_m2m.c (100%) rename drivers/media/platform/{ => mediatek}/mtk-mdp/mtk_mdp_m2m.h (100%) rename drivers/media/platform/{ => mediatek}/mtk-mdp/mtk_mdp_regs.c (100%) rename drivers/media/platform/{ => mediatek}/mtk-mdp/mtk_mdp_regs.h (100%) rename drivers/media/platform/{ => mediatek}/mtk-mdp/mtk_mdp_vpu.c (100%) rename drivers/media/platform/{ => mediatek}/mtk-mdp/mtk_mdp_vpu.h (100%) create mode 100644 drivers/media/platform/mediatek/mtk-vcodec/Kconfig rename drivers/media/platform/{ => mediatek}/mtk-vcodec/Makefile (100%) rename drivers/media/platform/{ => mediatek}/mtk-vcodec/mtk_vcodec_dec.c (100%) rename drivers/media/platform/{ => mediatek}/mtk-vcodec/mtk_vcodec_dec.h (100%) rename drivers/media/platform/{ => mediatek}/mtk-vcodec/mtk_vcodec_dec_drv.c (100%) rename drivers/media/platform/{ => mediatek}/mtk-vcodec/mtk_vcodec_dec_hw.c (100%) rename drivers/media/platform/{ => mediatek}/mtk-vcodec/mtk_vcodec_dec_hw.h (100%) rename drivers/media/platform/{ => mediatek}/mtk-vcodec/mtk_vcodec_dec_pm.c (100%) rename drivers/media/platform/{ => mediatek}/mtk-vcodec/mtk_vcodec_dec_pm.h (100%) rename drivers/media/platform/{ => mediatek}/mtk-vcodec/mtk_vcodec_dec_stateful.c (100%) rename drivers/media/platform/{ => mediatek}/mtk-vcodec/mtk_vcodec_dec_stateless.c (100%) rename drivers/media/platform/{ => mediatek}/mtk-vcodec/mtk_vcodec_drv.h (100%) rename drivers/media/platform/{ => mediatek}/mtk-vcodec/mtk_vcodec_enc.c (100%) rename drivers/media/platform/{ => mediatek}/mtk-vcodec/mtk_vcodec_enc.h (100%) rename drivers/media/platform/{ => mediatek}/mtk-vcodec/mtk_vcodec_enc_drv.c (100%) rename drivers/media/platform/{ => mediatek}/mtk-vcodec/mtk_vcodec_enc_pm.c (100%) rename drivers/media/platform/{ => mediatek}/mtk-vcodec/mtk_vcodec_enc_pm.h (100%) rename drivers/media/platform/{ => mediatek}/mtk-vcodec/mtk_vcodec_fw.c (100%) rename drivers/media/platform/{ => mediatek}/mtk-vcodec/mtk_vcodec_fw.h (100%) rename drivers/media/platform/{ => mediatek}/mtk-vcodec/mtk_vcodec_fw_priv.h (100%) rename drivers/media/platform/{ => mediatek}/mtk-vcodec/mtk_vcodec_fw_scp.c (100%) rename drivers/media/platform/{ => mediatek}/mtk-vcodec/mtk_vcodec_fw_vpu.c (100%) rename drivers/media/platform/{ => mediatek}/mtk-vcodec/mtk_vcodec_intr.c (100%) rename drivers/media/platform/{ => mediatek}/mtk-vcodec/mtk_vcodec_intr.h (100%) rename drivers/media/platform/{ => mediatek}/mtk-vcodec/mtk_vcodec_util.c (100%) rename drivers/media/platform/{ => mediatek}/mtk-vcodec/mtk_vcodec_util.h (100%) rename drivers/media/platform/{ => mediatek}/mtk-vcodec/vdec/vdec_h264_if.c (100%) rename drivers/media/platform/{ => mediatek}/mtk-vcodec/vdec/vdec_h264_req_if.c (100%) rename drivers/media/platform/{ => mediatek}/mtk-vcodec/vdec/vdec_vp8_if.c (100%) rename drivers/media/platform/{ => mediatek}/mtk-vcodec/vdec/vdec_vp9_if.c (100%) rename drivers/media/platform/{ => mediatek}/mtk-vcodec/vdec_drv_base.h (100%) rename drivers/media/platform/{ => mediatek}/mtk-vcodec/vdec_drv_if.c (100%) rename drivers/media/platform/{ => mediatek}/mtk-vcodec/vdec_drv_if.h (100%) rename drivers/media/platform/{ => mediatek}/mtk-vcodec/vdec_ipi_msg.h (100%) rename drivers/media/platform/{ => mediatek}/mtk-vcodec/vdec_msg_queue.c (100%) rename drivers/media/platform/{ => mediatek}/mtk-vcodec/vdec_msg_queue.h (100%) rename drivers/media/platform/{ => mediatek}/mtk-vcodec/vdec_vpu_if.c (100%) rename drivers/media/platform/{ => mediatek}/mtk-vcodec/vdec_vpu_if.h (100%) rename drivers/media/platform/{ => mediatek}/mtk-vcodec/venc/venc_h264_if.c (100%) rename drivers/media/platform/{ => mediatek}/mtk-vcodec/venc/venc_vp8_if.c (100%) rename drivers/media/platform/{ => mediatek}/mtk-vcodec/venc_drv_base.h (100%) rename drivers/media/platform/{ => mediatek}/mtk-vcodec/venc_drv_if.c (100%) rename drivers/media/platform/{ => mediatek}/mtk-vcodec/venc_drv_if.h (100%) rename drivers/media/platform/{ => mediatek}/mtk-vcodec/venc_ipi_msg.h (100%) rename drivers/media/platform/{ => mediatek}/mtk-vcodec/venc_vpu_if.c (100%) rename drivers/media/platform/{ => mediatek}/mtk-vcodec/venc_vpu_if.h (100%) create mode 100644 drivers/media/platform/mediatek/mtk-vpu/Kconfig rename drivers/media/platform/{ => mediatek}/mtk-vpu/Makefile (100%) rename drivers/media/platform/{ => mediatek}/mtk-vpu/mtk_vpu.c (100%) rename drivers/media/platform/{ => mediatek}/mtk-vpu/mtk_vpu.h (100%) create mode 100644 drivers/media/platform/nvidia/Kconfig create mode 100644 drivers/media/platform/nvidia/tegra-vde/Kconfig rename drivers/media/platform/{tegra/vde => nvidia/tegra-vde}/Makefile (100%) rename drivers/media/platform/{tegra/vde => nvidia/tegra-vde}/dmabuf-cache.c (100%) rename drivers/media/platform/{tegra/vde => nvidia/tegra-vde}/h264.c (100%) rename drivers/media/platform/{tegra/vde => nvidia/tegra-vde}/iommu.c (100%) rename drivers/media/platform/{tegra/vde => nvidia/tegra-vde}/trace.h (97%) rename drivers/media/platform/{tegra/vde => nvidia/tegra-vde}/v4l2.c (100%) rename drivers/media/platform/{tegra/vde => nvidia/tegra-vde}/vde.c (100%) rename drivers/media/platform/{tegra/vde => nvidia/tegra-vde}/vde.h (100%) create mode 100644 drivers/media/platform/nxp/Kconfig create mode 100644 drivers/media/platform/nxp/Makefile create mode 100644 drivers/media/platform/nxp/amphion/Kconfig rename drivers/media/platform/{ => nxp}/amphion/Makefile (100%) rename drivers/media/platform/{ => nxp}/amphion/vdec.c (100%) rename drivers/media/platform/{ => nxp}/amphion/venc.c (100%) rename drivers/media/platform/{ => nxp}/amphion/vpu.h (100%) rename drivers/media/platform/{ => nxp}/amphion/vpu_cmds.c (100%) rename drivers/media/platform/{ => nxp}/amphion/vpu_cmds.h (100%) rename drivers/media/platform/{ => nxp}/amphion/vpu_codec.h (100%) rename drivers/media/platform/{ => nxp}/amphion/vpu_color.c (100%) rename drivers/media/platform/{ => nxp}/amphion/vpu_core.c (100%) rename drivers/media/platform/{ => nxp}/amphion/vpu_core.h (100%) rename drivers/media/platform/{ => nxp}/amphion/vpu_dbg.c (100%) rename drivers/media/platform/{ => nxp}/amphion/vpu_defs.h (100%) rename drivers/media/platform/{ => nxp}/amphion/vpu_drv.c (100%) rename drivers/media/platform/{ => nxp}/amphion/vpu_helpers.c (100%) rename drivers/media/platform/{ => nxp}/amphion/vpu_helpers.h (100%) rename drivers/media/platform/{ => nxp}/amphion/vpu_imx8q.c (100%) rename drivers/media/platform/{ => nxp}/amphion/vpu_imx8q.h (100%) rename drivers/media/platform/{ => nxp}/amphion/vpu_malone.c (100%) rename drivers/media/platform/{ => nxp}/amphion/vpu_malone.h (100%) rename drivers/media/platform/{ => nxp}/amphion/vpu_mbox.c (100%) rename drivers/media/platform/{ => nxp}/amphion/vpu_mbox.h (100%) rename drivers/media/platform/{ => nxp}/amphion/vpu_msgs.c (100%) rename drivers/media/platform/{ => nxp}/amphion/vpu_msgs.h (100%) rename drivers/media/platform/{ => nxp}/amphion/vpu_rpc.c (100%) rename drivers/media/platform/{ => nxp}/amphion/vpu_rpc.h (100%) rename drivers/media/platform/{ => nxp}/amphion/vpu_v4l2.c (100%) rename drivers/media/platform/{ => nxp}/amphion/vpu_v4l2.h (100%) rename drivers/media/platform/{ => nxp}/amphion/vpu_windsor.c (100%) rename drivers/media/platform/{ => nxp}/amphion/vpu_windsor.h (100%) rename drivers/media/platform/{ => nxp}/fsl-viu.c (100%) rename drivers/media/platform/{ => nxp}/imx-jpeg/Kconfig (85%) rename drivers/media/platform/{ => nxp}/imx-jpeg/Makefile (100%) rename drivers/media/platform/{ => nxp}/imx-jpeg/mxc-jpeg-hw.c (100%) rename drivers/media/platform/{ => nxp}/imx-jpeg/mxc-jpeg-hw.h (100%) rename drivers/media/platform/{ => nxp}/imx-jpeg/mxc-jpeg.c (99%) rename drivers/media/platform/{ => nxp}/imx-jpeg/mxc-jpeg.h (100%) rename drivers/media/platform/{imx => nxp}/imx-mipi-csis.c (100%) rename drivers/media/platform/{ => nxp}/imx-pxp.c (100%) rename drivers/media/platform/{ => nxp}/imx-pxp.h (100%) rename drivers/media/platform/{ => nxp}/mx2_emmaprp.c (100%) create mode 100644 drivers/media/platform/qcom/Kconfig create mode 100644 drivers/media/platform/qcom/Makefile create mode 100644 drivers/media/platform/qcom/camss/Kconfig create mode 100644 drivers/media/platform/qcom/venus/Kconfig create mode 100644 drivers/media/platform/renesas/Kconfig create mode 100644 drivers/media/platform/renesas/Makefile rename drivers/media/platform/{ => renesas}/rcar-fcp.c (100%) rename drivers/media/platform/{ => renesas}/rcar-isp.c (100%) rename drivers/media/platform/{ => renesas}/rcar-vin/Kconfig (87%) rename drivers/media/platform/{ => renesas}/rcar-vin/Makefile (100%) rename drivers/media/platform/{ => renesas}/rcar-vin/rcar-core.c (100%) rename drivers/media/platform/{ => renesas}/rcar-vin/rcar-csi2.c (100%) rename drivers/media/platform/{ => renesas}/rcar-vin/rcar-dma.c (100%) rename drivers/media/platform/{ => renesas}/rcar-vin/rcar-v4l2.c (100%) rename drivers/media/platform/{ => renesas}/rcar-vin/rcar-vin.h (100%) rename drivers/media/platform/{ => renesas}/rcar_drif.c (100%) rename drivers/media/platform/{ => renesas}/rcar_fdp1.c (100%) rename drivers/media/platform/{ => renesas}/rcar_jpu.c (99%) rename drivers/media/platform/{ => renesas}/renesas-ceu.c (100%) rename drivers/media/platform/{ => renesas}/sh_vou.c (100%) rename drivers/media/platform/{ => renesas}/vsp1/Makefile (100%) rename drivers/media/platform/{ => renesas}/vsp1/vsp1.h (100%) rename drivers/media/platform/{ => renesas}/vsp1/vsp1_brx.c (100%) rename drivers/media/platform/{ => renesas}/vsp1/vsp1_brx.h (100%) rename drivers/media/platform/{ => renesas}/vsp1/vsp1_clu.c (100%) rename drivers/media/platform/{ => renesas}/vsp1/vsp1_clu.h (100%) rename drivers/media/platform/{ => renesas}/vsp1/vsp1_dl.c (100%) rename drivers/media/platform/{ => renesas}/vsp1/vsp1_dl.h (100%) rename drivers/media/platform/{ => renesas}/vsp1/vsp1_drm.c (100%) rename drivers/media/platform/{ => renesas}/vsp1/vsp1_drm.h (100%) rename drivers/media/platform/{ => renesas}/vsp1/vsp1_drv.c (100%) rename drivers/media/platform/{ => renesas}/vsp1/vsp1_entity.c (100%) rename drivers/media/platform/{ => renesas}/vsp1/vsp1_entity.h (100%) rename drivers/media/platform/{ => renesas}/vsp1/vsp1_hgo.c (100%) rename drivers/media/platform/{ => renesas}/vsp1/vsp1_hgo.h (100%) rename drivers/media/platform/{ => renesas}/vsp1/vsp1_hgt.c (100%) rename drivers/media/platform/{ => renesas}/vsp1/vsp1_hgt.h (100%) rename drivers/media/platform/{ => renesas}/vsp1/vsp1_histo.c (100%) rename drivers/media/platform/{ => renesas}/vsp1/vsp1_histo.h (100%) rename drivers/media/platform/{ => renesas}/vsp1/vsp1_hsit.c (100%) rename drivers/media/platform/{ => renesas}/vsp1/vsp1_hsit.h (100%) rename drivers/media/platform/{ => renesas}/vsp1/vsp1_lif.c (100%) rename drivers/media/platform/{ => renesas}/vsp1/vsp1_lif.h (100%) rename drivers/media/platform/{ => renesas}/vsp1/vsp1_lut.c (100%) rename drivers/media/platform/{ => renesas}/vsp1/vsp1_lut.h (100%) rename drivers/media/platform/{ => renesas}/vsp1/vsp1_pipe.c (100%) rename drivers/media/platform/{ => renesas}/vsp1/vsp1_pipe.h (100%) rename drivers/media/platform/{ => renesas}/vsp1/vsp1_regs.h (100%) rename drivers/media/platform/{ => renesas}/vsp1/vsp1_rpf.c (100%) rename drivers/media/platform/{ => renesas}/vsp1/vsp1_rwpf.c (100%) rename drivers/media/platform/{ => renesas}/vsp1/vsp1_rwpf.h (100%) rename drivers/media/platform/{ => renesas}/vsp1/vsp1_sru.c (100%) rename drivers/media/platform/{ => renesas}/vsp1/vsp1_sru.h (100%) rename drivers/media/platform/{ => renesas}/vsp1/vsp1_uds.c (100%) rename drivers/media/platform/{ => renesas}/vsp1/vsp1_uds.h (100%) rename drivers/media/platform/{ => renesas}/vsp1/vsp1_uif.c (100%) rename drivers/media/platform/{ => renesas}/vsp1/vsp1_uif.h (100%) rename drivers/media/platform/{ => renesas}/vsp1/vsp1_video.c (100%) rename drivers/media/platform/{ => renesas}/vsp1/vsp1_video.h (100%) rename drivers/media/platform/{ => renesas}/vsp1/vsp1_wpf.c (100%) create mode 100644 drivers/media/platform/rockchip/Kconfig create mode 100644 drivers/media/platform/rockchip/Makefile create mode 100644 drivers/media/platform/rockchip/rga/Kconfig create mode 100644 drivers/media/platform/rockchip/rkisp1/Kconfig create mode 100644 drivers/media/platform/samsung/Kconfig create mode 100644 drivers/media/platform/samsung/Makefile create mode 100644 drivers/media/platform/samsung/exynos-gsc/Kconfig rename drivers/media/platform/{ => samsung}/exynos-gsc/Makefile (100%) rename drivers/media/platform/{ => samsung}/exynos-gsc/gsc-core.c (100%) rename drivers/media/platform/{ => samsung}/exynos-gsc/gsc-core.h (100%) rename drivers/media/platform/{ => samsung}/exynos-gsc/gsc-m2m.c (100%) rename drivers/media/platform/{ => samsung}/exynos-gsc/gsc-regs.c (100%) rename drivers/media/platform/{ => samsung}/exynos-gsc/gsc-regs.h (100%) rename drivers/media/platform/{ => samsung}/exynos4-is/Kconfig (96%) rename drivers/media/platform/{ => samsung}/exynos4-is/Makefile (100%) rename drivers/media/platform/{ => samsung}/exynos4-is/common.c (100%) rename drivers/media/platform/{ => samsung}/exynos4-is/common.h (100%) rename drivers/media/platform/{ => samsung}/exynos4-is/fimc-capture.c (100%) rename drivers/media/platform/{ => samsung}/exynos4-is/fimc-core.c (100%) rename drivers/media/platform/{ => samsung}/exynos4-is/fimc-core.h (100%) rename drivers/media/platform/{ => samsung}/exynos4-is/fimc-is-command.h (100%) rename drivers/media/platform/{ => samsung}/exynos4-is/fimc-is-errno.c (100%) rename drivers/media/platform/{ => samsung}/exynos4-is/fimc-is-errno.h (100%) rename drivers/media/platform/{ => samsung}/exynos4-is/fimc-is-i2c.c (100%) rename drivers/media/platform/{ => samsung}/exynos4-is/fimc-is-i2c.h (100%) rename drivers/media/platform/{ => samsung}/exynos4-is/fimc-is-param.c (100%) rename drivers/media/platform/{ => samsung}/exynos4-is/fimc-is-param.h (100%) rename drivers/media/platform/{ => samsung}/exynos4-is/fimc-is-regs.c (100%) rename drivers/media/platform/{ => samsung}/exynos4-is/fimc-is-regs.h (100%) rename drivers/media/platform/{ => samsung}/exynos4-is/fimc-is-sensor.c (100%) rename drivers/media/platform/{ => samsung}/exynos4-is/fimc-is-sensor.h (100%) rename drivers/media/platform/{ => samsung}/exynos4-is/fimc-is.c (100%) rename drivers/media/platform/{ => samsung}/exynos4-is/fimc-is.h (100%) rename drivers/media/platform/{ => samsung}/exynos4-is/fimc-isp-video.c (100%) rename drivers/media/platform/{ => samsung}/exynos4-is/fimc-isp-video.h (100%) rename drivers/media/platform/{ => samsung}/exynos4-is/fimc-isp.c (100%) rename drivers/media/platform/{ => samsung}/exynos4-is/fimc-isp.h (100%) rename drivers/media/platform/{ => samsung}/exynos4-is/fimc-lite-reg.c (100%) rename drivers/media/platform/{ => samsung}/exynos4-is/fimc-lite-reg.h (100%) rename drivers/media/platform/{ => samsung}/exynos4-is/fimc-lite.c (100%) rename drivers/media/platform/{ => samsung}/exynos4-is/fimc-lite.h (100%) rename drivers/media/platform/{ => samsung}/exynos4-is/fimc-m2m.c (100%) rename drivers/media/platform/{ => samsung}/exynos4-is/fimc-reg.c (100%) rename drivers/media/platform/{ => samsung}/exynos4-is/fimc-reg.h (100%) rename drivers/media/platform/{ => samsung}/exynos4-is/media-dev.c (100%) rename drivers/media/platform/{ => samsung}/exynos4-is/media-dev.h (100%) rename drivers/media/platform/{ => samsung}/exynos4-is/mipi-csis.c (100%) rename drivers/media/platform/{ => samsung}/exynos4-is/mipi-csis.h (100%) create mode 100644 drivers/media/platform/samsung/s3c-camif/Kconfig rename drivers/media/platform/{ => samsung}/s3c-camif/Makefile (100%) rename drivers/media/platform/{ => samsung}/s3c-camif/camif-capture.c (100%) rename drivers/media/platform/{ => samsung}/s3c-camif/camif-core.c (100%) rename drivers/media/platform/{ => samsung}/s3c-camif/camif-core.h (100%) rename drivers/media/platform/{ => samsung}/s3c-camif/camif-regs.c (100%) rename drivers/media/platform/{ => samsung}/s3c-camif/camif-regs.h (100%) create mode 100644 drivers/media/platform/samsung/s5p-g2d/Kconfig rename drivers/media/platform/{ => samsung}/s5p-g2d/Makefile (100%) rename drivers/media/platform/{ => samsung}/s5p-g2d/g2d-hw.c (100%) rename drivers/media/platform/{ => samsung}/s5p-g2d/g2d-regs.h (100%) rename drivers/media/platform/{ => samsung}/s5p-g2d/g2d.c (100%) rename drivers/media/platform/{ => samsung}/s5p-g2d/g2d.h (100%) create mode 100644 drivers/media/platform/samsung/s5p-jpeg/Kconfig rename drivers/media/platform/{ => samsung}/s5p-jpeg/Makefile (100%) rename drivers/media/platform/{ => samsung}/s5p-jpeg/jpeg-core.c (99%) rename drivers/media/platform/{ => samsung}/s5p-jpeg/jpeg-core.h (99%) rename drivers/media/platform/{ => samsung}/s5p-jpeg/jpeg-hw-exynos3250.c (100%) rename drivers/media/platform/{ => samsung}/s5p-jpeg/jpeg-hw-exynos3250.h (97%) rename drivers/media/platform/{ => samsung}/s5p-jpeg/jpeg-hw-exynos4.c (100%) rename drivers/media/platform/{ => samsung}/s5p-jpeg/jpeg-hw-exynos4.h (100%) rename drivers/media/platform/{ => samsung}/s5p-jpeg/jpeg-hw-s5p.c (99%) rename drivers/media/platform/{ => samsung}/s5p-jpeg/jpeg-hw-s5p.h (97%) rename drivers/media/platform/{ => samsung}/s5p-jpeg/jpeg-regs.h (99%) create mode 100644 drivers/media/platform/samsung/s5p-mfc/Kconfig rename drivers/media/platform/{ => samsung}/s5p-mfc/Makefile (100%) rename drivers/media/platform/{ => samsung}/s5p-mfc/regs-mfc-v10.h (100%) rename drivers/media/platform/{ => samsung}/s5p-mfc/regs-mfc-v6.h (100%) rename drivers/media/platform/{ => samsung}/s5p-mfc/regs-mfc-v7.h (100%) rename drivers/media/platform/{ => samsung}/s5p-mfc/regs-mfc-v8.h (100%) rename drivers/media/platform/{ => samsung}/s5p-mfc/regs-mfc.h (100%) rename drivers/media/platform/{ => samsung}/s5p-mfc/s5p_mfc.c (100%) rename drivers/media/platform/{ => samsung}/s5p-mfc/s5p_mfc_cmd.c (89%) rename ... [truncated message content] |
From: Mauro C. C. <mc...@ke...> - 2022-03-14 07:56:16
|
media Kconfig has two entries associated to V4L API: VIDEO_DEV and VIDEO_V4L2. On Kernel 2.6.x, there were two V4L APIs, each one with its own flag. VIDEO_DEV were meant to: 1) enable Video4Linux and make its Kconfig options to appear; 2) it makes the Kernel build the V4L core. while VIDEO_V4L2 where used to distinguish between drivers that implement the newer API and drivers that implemented the former one. With time, such meaning changed, specially after the removal of all V4L version 1 drivers. At the current implementation, VIDEO_DEV only does (1): it enables the media options related to V4L, that now has: menu "Video4Linux options" visible if VIDEO_DEV source "drivers/media/v4l2-core/Kconfig" endmenu but it doesn't affect anymore the V4L core drivers. The rationale is that the V4L2 core has a "soft" dependency at the I2C bus, and now requires to select a number of other Kconfig options: config VIDEO_V4L2 tristate depends on (I2C || I2C=n) && VIDEO_DEV select RATIONAL select VIDEOBUF2_V4L2 if VIDEOBUF2_CORE default (I2C || I2C=n) && VIDEO_DEV In the past, merging them would be tricky, but it seems that it is now possible to merge those symbols, in order to simplify V4L dependencies. Let's keep VIDEO_DEV, as this one is used on some make *defconfig configurations. Suggested-by: Laurent Pinchart <lau...@id...> Reviewed-by: Laurent Pinchart <lau...@id...> Signed-off-by: Mauro Carvalho Chehab <mc...@ke...> --- To avoid mailbombing on a large number of people, only mailing lists were C/C on the cover. See [PATCH 00/64] at: https://lore.kernel.org/all/cov...@ke.../ drivers/input/rmi4/Kconfig | 2 +- drivers/input/touchscreen/Kconfig | 4 +- drivers/media/Kconfig | 3 + drivers/media/common/saa7146/Kconfig | 2 +- drivers/media/dvb-core/Kconfig | 2 +- drivers/media/dvb-frontends/Kconfig | 4 +- drivers/media/i2c/Kconfig | 250 +++++++++--------- drivers/media/i2c/ccs/Kconfig | 2 +- drivers/media/i2c/cx25840/Kconfig | 2 +- drivers/media/i2c/et8ek8/Kconfig | 2 +- drivers/media/i2c/m5mols/Kconfig | 2 +- drivers/media/pci/Kconfig | 2 +- drivers/media/pci/bt8xx/Kconfig | 2 +- drivers/media/pci/cobalt/Kconfig | 2 +- drivers/media/pci/cx18/Kconfig | 2 +- drivers/media/pci/dt3155/Kconfig | 2 +- drivers/media/pci/intel/ipu3/Kconfig | 2 +- drivers/media/pci/ivtv/Kconfig | 2 +- drivers/media/pci/meye/Kconfig | 2 +- drivers/media/pci/saa7146/Kconfig | 6 +- drivers/media/pci/sta2x11/Kconfig | 2 +- drivers/media/pci/tw5864/Kconfig | 2 +- drivers/media/pci/tw68/Kconfig | 2 +- drivers/media/pci/tw686x/Kconfig | 2 +- drivers/media/platform/Kconfig | 6 +- drivers/media/platform/allegro-dvt/Kconfig | 2 +- .../platform/allwinner/sun4i-csi/Kconfig | 2 +- .../platform/allwinner/sun6i-csi/Kconfig | 2 +- .../media/platform/allwinner/sun8i-di/Kconfig | 2 +- .../platform/allwinner/sun8i-rotate/Kconfig | 2 +- .../media/platform/amlogic/meson-ge2d/Kconfig | 2 +- drivers/media/platform/aspeed/Kconfig | 2 +- drivers/media/platform/atmel/Kconfig | 8 +- drivers/media/platform/cadence/Kconfig | 4 +- drivers/media/platform/chips-media/Kconfig | 2 +- drivers/media/platform/intel/Kconfig | 2 +- drivers/media/platform/marvell/Kconfig | 4 +- .../media/platform/mediatek/mtk-jpeg/Kconfig | 2 +- .../media/platform/mediatek/mtk-mdp/Kconfig | 2 +- .../platform/mediatek/mtk-vcodec/Kconfig | 2 +- .../media/platform/mediatek/mtk-vpu/Kconfig | 2 +- .../media/platform/nvidia/tegra-vde/Kconfig | 2 +- drivers/media/platform/nxp/Kconfig | 6 +- drivers/media/platform/nxp/amphion/Kconfig | 2 +- drivers/media/platform/nxp/imx-jpeg/Kconfig | 2 +- drivers/media/platform/qcom/camss/Kconfig | 2 +- drivers/media/platform/qcom/venus/Kconfig | 2 +- drivers/media/platform/renesas/Kconfig | 30 +-- .../media/platform/renesas/rcar-vin/Kconfig | 4 +- drivers/media/platform/rockchip/rga/Kconfig | 2 +- .../media/platform/rockchip/rkisp1/Kconfig | 2 +- .../media/platform/samsung/exynos-gsc/Kconfig | 2 +- .../media/platform/samsung/exynos4-is/Kconfig | 2 +- .../media/platform/samsung/s3c-camif/Kconfig | 2 +- .../media/platform/samsung/s5p-g2d/Kconfig | 2 +- .../media/platform/samsung/s5p-jpeg/Kconfig | 2 +- .../media/platform/samsung/s5p-mfc/Kconfig | 2 +- drivers/media/platform/sti/bdisp/Kconfig | 2 +- drivers/media/platform/sti/delta/Kconfig | 2 +- drivers/media/platform/sti/hva/Kconfig | 2 +- drivers/media/platform/sti/stm32/Kconfig | 4 +- drivers/media/platform/ti/am437x/Kconfig | 2 +- drivers/media/platform/ti/davinci/Kconfig | 12 +- drivers/media/platform/ti/omap/Kconfig | 2 +- drivers/media/platform/ti/omap3isp/Kconfig | 2 +- drivers/media/platform/ti/vpe/Kconfig | 4 +- drivers/media/platform/via/Kconfig | 2 +- drivers/media/platform/xilinx/Kconfig | 2 +- drivers/media/radio/Kconfig | 54 ++-- drivers/media/radio/si470x/Kconfig | 2 +- drivers/media/radio/wl128x/Kconfig | 2 +- drivers/media/spi/Kconfig | 4 +- drivers/media/test-drivers/Kconfig | 2 +- drivers/media/test-drivers/vicodec/Kconfig | 2 +- drivers/media/test-drivers/vimc/Kconfig | 2 +- drivers/media/test-drivers/vivid/Kconfig | 2 +- drivers/media/tuners/Kconfig | 6 +- drivers/media/tuners/e4000.c | 6 +- drivers/media/tuners/fc2580.c | 6 +- drivers/media/usb/airspy/Kconfig | 2 +- drivers/media/usb/au0828/Kconfig | 6 +- drivers/media/usb/cpia2/Kconfig | 2 +- drivers/media/usb/dvb-usb-v2/Kconfig | 8 +- drivers/media/usb/dvb-usb/Kconfig | 4 +- drivers/media/usb/gspca/Kconfig | 96 +++---- drivers/media/usb/gspca/gl860/Kconfig | 2 +- drivers/media/usb/gspca/m5602/Kconfig | 2 +- drivers/media/usb/hackrf/Kconfig | 2 +- drivers/media/usb/hdpvr/Kconfig | 2 +- drivers/media/usb/msi2500/Kconfig | 2 +- drivers/media/usb/pvrusb2/Kconfig | 2 +- drivers/media/usb/pwc/Kconfig | 2 +- drivers/media/usb/s2255/Kconfig | 2 +- drivers/media/usb/stkwebcam/Kconfig | 2 +- drivers/media/usb/usbtv/Kconfig | 2 +- drivers/media/usb/uvc/Kconfig | 2 +- drivers/media/usb/zr364xx/Kconfig | 2 +- drivers/media/v4l2-core/Kconfig | 12 +- drivers/media/v4l2-core/Makefile | 2 +- drivers/staging/media/atomisp/Kconfig | 2 +- drivers/staging/media/atomisp/i2c/Kconfig | 14 +- drivers/staging/media/hantro/Kconfig | 2 +- drivers/staging/media/imx/Kconfig | 2 +- drivers/staging/media/ipu3/Kconfig | 2 +- drivers/staging/media/max96712/Kconfig | 2 +- drivers/staging/media/meson/vdec/Kconfig | 2 +- drivers/staging/media/omap4iss/Kconfig | 2 +- drivers/staging/media/rkvdec/Kconfig | 2 +- drivers/staging/media/sunxi/cedrus/Kconfig | 2 +- drivers/staging/media/tegra-video/Kconfig | 2 +- drivers/staging/media/zoran/Kconfig | 2 +- drivers/staging/most/video/Kconfig | 2 +- .../vc04_services/bcm2835-camera/Kconfig | 2 +- drivers/usb/gadget/Kconfig | 2 +- drivers/usb/gadget/legacy/Kconfig | 2 +- sound/pci/Kconfig | 4 +- 116 files changed, 371 insertions(+), 376 deletions(-) diff --git a/drivers/input/rmi4/Kconfig b/drivers/input/rmi4/Kconfig index 16119f760d11..c0163b983ce6 100644 --- a/drivers/input/rmi4/Kconfig +++ b/drivers/input/rmi4/Kconfig @@ -110,7 +110,7 @@ config RMI4_F3A config RMI4_F54 bool "RMI4 Function 54 (Analog diagnostics)" - depends on VIDEO_V4L2=y || (RMI4_CORE=m && VIDEO_V4L2=m) + depends on VIDEO_DEV=y || (RMI4_CORE=m && VIDEO_DEV=m) select VIDEOBUF2_VMALLOC select RMI4_F55 help diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig index 2f6adfb7b938..ff7794cecf69 100644 --- a/drivers/input/touchscreen/Kconfig +++ b/drivers/input/touchscreen/Kconfig @@ -131,7 +131,7 @@ config TOUCHSCREEN_ATMEL_MXT config TOUCHSCREEN_ATMEL_MXT_T37 bool "Support T37 Diagnostic Data" depends on TOUCHSCREEN_ATMEL_MXT - depends on VIDEO_V4L2=y || (TOUCHSCREEN_ATMEL_MXT=m && VIDEO_V4L2=m) + depends on VIDEO_DEV=y || (TOUCHSCREEN_ATMEL_MXT=m && VIDEO_DEV=m) select VIDEOBUF2_VMALLOC help Say Y here if you want support to output data from the T37 @@ -1252,7 +1252,7 @@ config TOUCHSCREEN_SUN4I config TOUCHSCREEN_SUR40 tristate "Samsung SUR40 (Surface 2.0/PixelSense) touchscreen" depends on USB && MEDIA_USB_SUPPORT && HAS_DMA - depends on VIDEO_V4L2 + depends on VIDEO_DEV select VIDEOBUF2_DMA_SG help Say Y here if you want support for the Samsung SUR40 touchscreen diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig index 1a75058df374..ba6592b3dab2 100644 --- a/drivers/media/Kconfig +++ b/drivers/media/Kconfig @@ -160,6 +160,9 @@ menu "Media core support" config VIDEO_DEV tristate "Video4Linux core" default MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT || MEDIA_PLATFORM_SUPPORT || MEDIA_TEST_SUPPORT + depends on (I2C || I2C=n) + select RATIONAL + select VIDEOBUF2_V4L2 if VIDEOBUF2_CORE help Enables the V4L2 API, used by cameras, analog TV, video grabbers, radio devices and by some input devices. diff --git a/drivers/media/common/saa7146/Kconfig b/drivers/media/common/saa7146/Kconfig index 3e85c0c3fd9a..a0aa155e5d85 100644 --- a/drivers/media/common/saa7146/Kconfig +++ b/drivers/media/common/saa7146/Kconfig @@ -5,6 +5,6 @@ config VIDEO_SAA7146 config VIDEO_SAA7146_VV tristate - depends on VIDEO_V4L2 + depends on VIDEO_DEV select VIDEOBUF_DMA_SG select VIDEO_SAA7146 diff --git a/drivers/media/dvb-core/Kconfig b/drivers/media/dvb-core/Kconfig index 6ffac618417b..8b3f2d53cd62 100644 --- a/drivers/media/dvb-core/Kconfig +++ b/drivers/media/dvb-core/Kconfig @@ -6,7 +6,7 @@ config DVB_MMAP bool "Enable DVB memory-mapped API (EXPERIMENTAL)" depends on DVB_CORE - depends on VIDEO_V4L2=y || VIDEO_V4L2=DVB_CORE + depends on VIDEO_DEV=y || VIDEO_DEV=DVB_CORE select VIDEOBUF2_VMALLOC help This option enables DVB experimental memory-mapped API, which diff --git a/drivers/media/dvb-frontends/Kconfig b/drivers/media/dvb-frontends/Kconfig index 2c1ed98d43c5..4101f9b1e731 100644 --- a/drivers/media/dvb-frontends/Kconfig +++ b/drivers/media/dvb-frontends/Kconfig @@ -510,7 +510,7 @@ config DVB_RTL2832 config DVB_RTL2832_SDR tristate "Realtek RTL2832 SDR" - depends on DVB_CORE && I2C && I2C_MUX && VIDEO_V4L2 && MEDIA_SDR_SUPPORT && USB + depends on DVB_CORE && I2C && I2C_MUX && VIDEO_DEV && MEDIA_SDR_SUPPORT && USB select DVB_RTL2832 select VIDEOBUF2_VMALLOC default m if !MEDIA_SUBDRV_AUTOSELECT @@ -681,7 +681,7 @@ config DVB_AU8522_DTV config DVB_AU8522_V4L tristate "Auvitek AU8522 based ATV demod" - depends on VIDEO_V4L2 && DVB_CORE && I2C + depends on VIDEO_DEV && DVB_CORE && I2C select DVB_AU8522 default m if !MEDIA_SUBDRV_AUTOSELECT help diff --git a/drivers/media/i2c/Kconfig b/drivers/media/i2c/Kconfig index e7194c1be4d2..5abc169f0a5c 100644 --- a/drivers/media/i2c/Kconfig +++ b/drivers/media/i2c/Kconfig @@ -3,7 +3,7 @@ # Multimedia Video device configuration # -if VIDEO_V4L2 +if VIDEO_DEV comment "IR I2C driver auto-selected by 'Autoselect ancillary drivers'" depends on MEDIA_SUBDRV_AUTOSELECT && I2C && RC_CORE @@ -36,7 +36,7 @@ menu "Audio decoders, processors and mixers" config VIDEO_TVAUDIO tristate "Simple audio decoder chips" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for several audio decoder chips found on some bt8xx boards: Philips: tda9840, tda9873h, tda9874h/a, tda9850, tda985x, tea6300, @@ -48,7 +48,7 @@ config VIDEO_TVAUDIO config VIDEO_TDA7432 tristate "Philips TDA7432 audio processor" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for tda7432 audio decoder chip found on some bt8xx boards. @@ -66,7 +66,7 @@ config VIDEO_TDA9840 config VIDEO_TDA1997X tristate "NXP TDA1997x HDMI receiver" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C depends on SND_SOC select HDMI select SND_PCM @@ -99,7 +99,7 @@ config VIDEO_TEA6420 config VIDEO_MSP3400 tristate "Micronas MSP34xx audio decoders" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the Micronas MSP34xx series of audio decoders. @@ -108,7 +108,7 @@ config VIDEO_MSP3400 config VIDEO_CS3308 tristate "Cirrus Logic CS3308 audio ADC" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the Cirrus Logic CS3308 High Performance 8-Channel Analog Volume Control @@ -118,7 +118,7 @@ config VIDEO_CS3308 config VIDEO_CS5345 tristate "Cirrus Logic CS5345 audio ADC" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the Cirrus Logic CS5345 24-bit, 192 kHz stereo A/D converter. @@ -128,7 +128,7 @@ config VIDEO_CS5345 config VIDEO_CS53L32A tristate "Cirrus Logic CS53L32A audio ADC" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the Cirrus Logic CS53L32A low voltage stereo A/D converter. @@ -138,7 +138,7 @@ config VIDEO_CS53L32A config VIDEO_TLV320AIC23B tristate "Texas Instruments TLV320AIC23B audio codec" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the Texas Instruments TLV320AIC23B audio codec. @@ -147,7 +147,7 @@ config VIDEO_TLV320AIC23B config VIDEO_UDA1342 tristate "Philips UDA1342 audio codec" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the Philips UDA1342 audio codec. @@ -156,7 +156,7 @@ config VIDEO_UDA1342 config VIDEO_WM8775 tristate "Wolfson Microelectronics WM8775 audio ADC with input mixer" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the Wolfson Microelectronics WM8775 high performance stereo A/D Converter with a 4 channel input mixer. @@ -166,7 +166,7 @@ config VIDEO_WM8775 config VIDEO_WM8739 tristate "Wolfson Microelectronics WM8739 stereo audio ADC" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the Wolfson Microelectronics WM8739 stereo A/D Converter. @@ -176,7 +176,7 @@ config VIDEO_WM8739 config VIDEO_VP27SMPX tristate "Panasonic VP27's internal MPX" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the internal MPX of the Panasonic VP27s tuner. @@ -185,7 +185,7 @@ config VIDEO_VP27SMPX config VIDEO_SONY_BTF_MPX tristate "Sony BTF's internal MPX" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the internal MPX of the Sony BTF-PG472Z tuner. @@ -198,7 +198,7 @@ menu "RDS decoders" config VIDEO_SAA6588 tristate "SAA6588 Radio Chip RDS decoder support" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for this Radio Data System (RDS) decoder. This allows @@ -214,7 +214,7 @@ menu "Video decoders" config VIDEO_ADV7180 tristate "Analog Devices ADV7180 decoder" - depends on GPIOLIB && VIDEO_V4L2 && I2C + depends on GPIOLIB && VIDEO_DEV && I2C select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_ASYNC @@ -226,7 +226,7 @@ config VIDEO_ADV7180 config VIDEO_ADV7183 tristate "Analog Devices ADV7183 decoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help V4l2 subdevice driver for the Analog Devices ADV7183 video decoder. @@ -236,7 +236,7 @@ config VIDEO_ADV7183 config VIDEO_ADV748X tristate "Analog Devices ADV748x decoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C depends on OF select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API @@ -251,7 +251,7 @@ config VIDEO_ADV748X config VIDEO_ADV7604 tristate "Analog Devices ADV7604 decoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C depends on GPIOLIB || COMPILE_TEST select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API @@ -277,7 +277,7 @@ config VIDEO_ADV7604_CEC config VIDEO_ADV7842 tristate "Analog Devices ADV7842 decoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select HDMI @@ -300,7 +300,7 @@ config VIDEO_ADV7842_CEC config VIDEO_BT819 tristate "BT819A VideoStream decoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for BT819A video decoder. @@ -309,7 +309,7 @@ config VIDEO_BT819 config VIDEO_BT856 tristate "BT856 VideoStream decoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for BT856 video decoder. @@ -318,7 +318,7 @@ config VIDEO_BT856 config VIDEO_BT866 tristate "BT866 VideoStream decoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for BT866 video decoder. @@ -327,7 +327,7 @@ config VIDEO_BT866 config VIDEO_ISL7998X tristate "Intersil ISL7998x video decoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C depends on OF_GPIO select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API @@ -337,7 +337,7 @@ config VIDEO_ISL7998X config VIDEO_KS0127 tristate "KS0127 video decoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for KS0127 video decoder. @@ -349,7 +349,7 @@ config VIDEO_KS0127 config VIDEO_ML86V7667 tristate "OKI ML86V7667 video decoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the OKI Semiconductor ML86V7667 video decoder. @@ -358,7 +358,7 @@ config VIDEO_ML86V7667 config VIDEO_SAA7110 tristate "Philips SAA7110 video decoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the Philips SAA7110 video decoders. @@ -367,7 +367,7 @@ config VIDEO_SAA7110 config VIDEO_SAA711X tristate "Philips SAA7111/3/4/5 video decoders" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the Philips SAA7111/3/4/5 video decoders. @@ -376,7 +376,7 @@ config VIDEO_SAA711X config VIDEO_TC358743 tristate "Toshiba TC358743 decoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select HDMI @@ -397,7 +397,7 @@ config VIDEO_TC358743_CEC config VIDEO_TVP514X tristate "Texas Instruments TVP514x video decoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C select V4L2_FWNODE help This is a Video4Linux2 sensor driver for the TI TVP5146/47 @@ -409,7 +409,7 @@ config VIDEO_TVP514X config VIDEO_TVP5150 tristate "Texas Instruments TVP5150 video decoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C select V4L2_FWNODE select REGMAP_I2C help @@ -420,7 +420,7 @@ config VIDEO_TVP5150 config VIDEO_TVP7002 tristate "Texas Instruments TVP7002 video decoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C select V4L2_FWNODE help Support for the Texas Instruments TVP7002 video decoder. @@ -430,7 +430,7 @@ config VIDEO_TVP7002 config VIDEO_TW2804 tristate "Techwell TW2804 multiple video decoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the Techwell tw2804 multiple video decoder. @@ -439,7 +439,7 @@ config VIDEO_TW2804 config VIDEO_TW9903 tristate "Techwell TW9903 video decoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the Techwell tw9903 multi-standard video decoder with high quality down scaler. @@ -449,7 +449,7 @@ config VIDEO_TW9903 config VIDEO_TW9906 tristate "Techwell TW9906 video decoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the Techwell tw9906 enhanced multi-standard comb filter video decoder with YCbCr input support. @@ -459,7 +459,7 @@ config VIDEO_TW9906 config VIDEO_TW9910 tristate "Techwell TW9910 video decoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C select V4L2_ASYNC help Support for Techwell TW9910 NTSC/PAL/SECAM video decoder. @@ -469,7 +469,7 @@ config VIDEO_TW9910 config VIDEO_VPX3220 tristate "vpx3220a, vpx3216b & vpx3214c video decoders" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for VPX322x video decoders. @@ -479,7 +479,7 @@ config VIDEO_VPX3220 config VIDEO_MAX9286 tristate "Maxim MAX9286 GMSL deserializer support" depends on I2C && I2C_MUX - depends on VIDEO_V4L2 + depends on VIDEO_DEV depends on OF_GPIO select V4L2_FWNODE select VIDEO_V4L2_SUBDEV_API @@ -494,7 +494,7 @@ comment "Video and audio decoders" config VIDEO_SAA717X tristate "Philips SAA7171/3/4 audio/video decoders" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the Philips SAA7171/3/4 audio/video decoders. @@ -510,7 +510,7 @@ menu "Video encoders" config VIDEO_SAA7127 tristate "Philips SAA7127/9 digital video encoders" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the Philips SAA7127/9 digital video encoders. @@ -519,7 +519,7 @@ config VIDEO_SAA7127 config VIDEO_SAA7185 tristate "Philips SAA7185 video encoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the Philips SAA7185 video encoder. @@ -528,7 +528,7 @@ config VIDEO_SAA7185 config VIDEO_ADV7170 tristate "Analog Devices ADV7170 video encoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the Analog Devices ADV7170 video encoder driver @@ -537,7 +537,7 @@ config VIDEO_ADV7170 config VIDEO_ADV7175 tristate "Analog Devices ADV7175 video encoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the Analog Devices ADV7175 video encoder driver @@ -565,7 +565,7 @@ config VIDEO_ADV7393 config VIDEO_ADV7511 tristate "Analog Devices ADV7511 encoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C depends on DRM_I2C_ADV7511=n || COMPILE_TEST select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API @@ -588,7 +588,7 @@ config VIDEO_ADV7511_CEC config VIDEO_AD9389B tristate "Analog Devices AD9389B encoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API @@ -608,7 +608,7 @@ config VIDEO_AK881X config VIDEO_THS8200 tristate "Texas Instruments THS8200 video encoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C select V4L2_ASYNC help Support for the Texas Instruments THS8200 video encoder. @@ -622,7 +622,7 @@ menu "Video improvement chips" config VIDEO_UPD64031A tristate "NEC Electronics uPD64031A Ghost Reduction" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C select V4L2_ASYNC help Support for the NEC Electronics uPD64031A Ghost Reduction @@ -635,7 +635,7 @@ config VIDEO_UPD64031A config VIDEO_UPD64083 tristate "NEC Electronics uPD64083 3-Dimensional Y/C separation" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the NEC Electronics uPD64083 3-Dimensional Y/C separation video chip. It is used to improve the quality of @@ -650,7 +650,7 @@ menu "Audio/Video compression chips" config VIDEO_SAA6752HS tristate "Philips SAA6752HS MPEG-2 Audio/Video Encoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C select CRC32 help Support for the Philips SAA6752HS MPEG-2 video and MPEG-audio/AC-3 @@ -666,7 +666,7 @@ menu "SDR tuner chips" config SDR_MAX2175 tristate "Maxim 2175 RF to Bits tuner" - depends on VIDEO_V4L2 && MEDIA_SDR_SUPPORT && I2C + depends on VIDEO_DEV && MEDIA_SDR_SUPPORT && I2C select REGMAP_I2C select V4L2_ASYNC help @@ -684,7 +684,7 @@ menu "Miscellaneous helper chips" config VIDEO_THS7303 tristate "THS7303/53 Video Amplifier" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C select V4L2_ASYNC help Support for TI THS7303/53 video amplifier @@ -694,7 +694,7 @@ config VIDEO_THS7303 config VIDEO_M52790 tristate "Mitsubishi M52790 A/V switch" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the Mitsubishi M52790 A/V switch. @@ -703,7 +703,7 @@ config VIDEO_M52790 config VIDEO_I2C tristate "I2C transport video support" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C select VIDEOBUF2_VMALLOC imply HWMON help @@ -717,7 +717,7 @@ config VIDEO_I2C config VIDEO_ST_MIPID02 tristate "STMicroelectronics MIPID02 CSI-2 to PARALLEL bridge" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -745,7 +745,7 @@ config VIDEO_CCS_PLL config VIDEO_HI556 tristate "Hynix Hi-556 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -758,7 +758,7 @@ config VIDEO_HI556 config VIDEO_HI846 tristate "Hynix Hi-846 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -771,7 +771,7 @@ config VIDEO_HI846 config VIDEO_HI847 tristate "Hynix Hi-847 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -784,7 +784,7 @@ config VIDEO_HI847 config VIDEO_IMX208 tristate "Sony IMX208 sensor support" - depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API + depends on I2C && VIDEO_DEV && VIDEO_V4L2_SUBDEV_API depends on MEDIA_CAMERA_SUPPORT help This is a Video4Linux2 sensor driver for the Sony @@ -795,7 +795,7 @@ config VIDEO_IMX208 config VIDEO_IMX214 tristate "Sony IMX214 sensor support" - depends on GPIOLIB && I2C && VIDEO_V4L2 + depends on GPIOLIB && I2C && VIDEO_DEV select V4L2_FWNODE select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API @@ -809,7 +809,7 @@ config VIDEO_IMX214 config VIDEO_IMX219 tristate "Sony IMX219 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -822,7 +822,7 @@ config VIDEO_IMX219 config VIDEO_IMX258 tristate "Sony IMX258 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API help @@ -834,7 +834,7 @@ config VIDEO_IMX258 config VIDEO_IMX274 tristate "Sony IMX274 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select REGMAP_I2C @@ -844,7 +844,7 @@ config VIDEO_IMX274 config VIDEO_IMX290 tristate "Sony IMX290 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select REGMAP_I2C @@ -858,7 +858,7 @@ config VIDEO_IMX290 config VIDEO_IMX319 tristate "Sony IMX319 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API help @@ -871,7 +871,7 @@ config VIDEO_IMX319 config VIDEO_IMX334 tristate "Sony IMX334 sensor support" depends on OF_GPIO - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select VIDEO_V4L2_SUBDEV_API select MEDIA_CONTROLLER select V4L2_FWNODE @@ -885,7 +885,7 @@ config VIDEO_IMX334 config VIDEO_IMX335 tristate "Sony IMX335 sensor support" depends on OF_GPIO - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select VIDEO_V4L2_SUBDEV_API select MEDIA_CONTROLLER select V4L2_FWNODE @@ -898,7 +898,7 @@ config VIDEO_IMX335 config VIDEO_IMX355 tristate "Sony IMX355 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API help @@ -911,7 +911,7 @@ config VIDEO_IMX355 config VIDEO_IMX412 tristate "Sony IMX412 sensor support" depends on OF_GPIO - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select VIDEO_V4L2_SUBDEV_API select MEDIA_CONTROLLER select V4L2_FWNODE @@ -924,7 +924,7 @@ config VIDEO_IMX412 config VIDEO_OG01A1B tristate "OmniVision OG01A1B sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -937,7 +937,7 @@ config VIDEO_OG01A1B config VIDEO_OV02A10 tristate "OmniVision OV02A10 sensor support" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -950,7 +950,7 @@ config VIDEO_OV02A10 config VIDEO_OV08D10 tristate "OmniVision OV08D10 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -963,7 +963,7 @@ config VIDEO_OV08D10 config VIDEO_OV2640 tristate "OmniVision OV2640 sensor support" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help This is a Video4Linux2 sensor driver for the OmniVision OV2640 camera. @@ -973,7 +973,7 @@ config VIDEO_OV2640 config VIDEO_OV2659 tristate "OmniVision OV2659 sensor support" - depends on VIDEO_V4L2 && I2C && GPIOLIB + depends on VIDEO_DEV && I2C && GPIOLIB select V4L2_FWNODE help This is a Video4Linux2 sensor driver for the OmniVision @@ -984,7 +984,7 @@ config VIDEO_OV2659 config VIDEO_OV2680 tristate "OmniVision OV2680 sensor support" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C select MEDIA_CONTROLLER select V4L2_FWNODE help @@ -996,7 +996,7 @@ config VIDEO_OV2680 config VIDEO_OV2685 tristate "OmniVision OV2685 sensor support" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C select MEDIA_CONTROLLER select V4L2_FWNODE help @@ -1008,7 +1008,7 @@ config VIDEO_OV2685 config VIDEO_OV2740 tristate "OmniVision OV2740 sensor support" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C depends on ACPI || COMPILE_TEST select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API @@ -1024,7 +1024,7 @@ config VIDEO_OV2740 config VIDEO_OV5640 tristate "OmniVision OV5640 sensor support" depends on OF - depends on GPIOLIB && VIDEO_V4L2 && I2C + depends on GPIOLIB && VIDEO_DEV && I2C select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -1035,7 +1035,7 @@ config VIDEO_OV5640 config VIDEO_OV5645 tristate "OmniVision OV5645 sensor support" depends on OF - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -1048,7 +1048,7 @@ config VIDEO_OV5645 config VIDEO_OV5647 tristate "OmniVision OV5647 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -1061,7 +1061,7 @@ config VIDEO_OV5647 config VIDEO_OV5648 tristate "OmniVision OV5648 sensor support" - depends on I2C && PM && VIDEO_V4L2 + depends on I2C && PM && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -1074,7 +1074,7 @@ config VIDEO_OV5648 config VIDEO_OV6650 tristate "OmniVision OV6650 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV help This is a Video4Linux2 sensor driver for the OmniVision OV6650 camera. @@ -1084,7 +1084,7 @@ config VIDEO_OV6650 config VIDEO_OV5670 tristate "OmniVision OV5670 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -1097,7 +1097,7 @@ config VIDEO_OV5670 config VIDEO_OV5675 tristate "OmniVision OV5675 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -1110,7 +1110,7 @@ config VIDEO_OV5675 config VIDEO_OV5693 tristate "OmniVision OV5693 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select V4L2_FWNODE help This is a Video4Linux2 sensor driver for the OmniVision @@ -1121,7 +1121,7 @@ config VIDEO_OV5693 config VIDEO_OV5695 tristate "OmniVision OV5695 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select V4L2_FWNODE help This is a Video4Linux2 sensor driver for the OmniVision @@ -1132,7 +1132,7 @@ config VIDEO_OV5695 config VIDEO_OV7251 tristate "OmniVision OV7251 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -1145,7 +1145,7 @@ config VIDEO_OV7251 config VIDEO_OV772X tristate "OmniVision OV772x sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select REGMAP_SCCB select V4L2_FWNODE help @@ -1157,7 +1157,7 @@ config VIDEO_OV772X config VIDEO_OV7640 tristate "OmniVision OV7640 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV help This is a Video4Linux2 sensor driver for the OmniVision OV7640 camera. @@ -1167,7 +1167,7 @@ config VIDEO_OV7640 config VIDEO_OV7670 tristate "OmniVision OV7670 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select V4L2_FWNODE help This is a Video4Linux2 sensor driver for the OmniVision @@ -1176,7 +1176,7 @@ config VIDEO_OV7670 config VIDEO_OV7740 tristate "OmniVision OV7740 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select REGMAP_SCCB help This is a Video4Linux2 sensor driver for the OmniVision @@ -1184,7 +1184,7 @@ config VIDEO_OV7740 config VIDEO_OV8856 tristate "OmniVision OV8856 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -1197,7 +1197,7 @@ config VIDEO_OV8856 config VIDEO_OV8865 tristate "OmniVision OV8865 sensor support" - depends on I2C && PM && VIDEO_V4L2 + depends on I2C && PM && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -1211,7 +1211,7 @@ config VIDEO_OV8865 config VIDEO_OV9282 tristate "OmniVision OV9282 sensor support" depends on OF_GPIO - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select VIDEO_V4L2_SUBDEV_API select MEDIA_CONTROLLER select V4L2_FWNODE @@ -1224,14 +1224,14 @@ config VIDEO_OV9282 config VIDEO_OV9640 tristate "OmniVision OV9640 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV help This is a Video4Linux2 sensor driver for the OmniVision OV9640 camera sensor. config VIDEO_OV9650 tristate "OmniVision OV9650/OV9652 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select REGMAP_SCCB @@ -1241,7 +1241,7 @@ config VIDEO_OV9650 config VIDEO_OV9734 tristate "OmniVision OV9734 sensor support" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C depends on ACPI || COMPILE_TEST select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API @@ -1255,7 +1255,7 @@ config VIDEO_OV9734 config VIDEO_OV13858 tristate "OmniVision OV13858 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -1265,7 +1265,7 @@ config VIDEO_OV13858 config VIDEO_OV13B10 tristate "OmniVision OV13B10 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -1275,7 +1275,7 @@ config VIDEO_OV13B10 config VIDEO_VS6624 tristate "ST VS6624 sensor support" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help This is a Video4Linux2 sensor driver for the ST VS6624 camera. @@ -1285,7 +1285,7 @@ config VIDEO_VS6624 config VIDEO_MT9M001 tristate "mt9m001 support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API help @@ -1294,7 +1294,7 @@ config VIDEO_MT9M001 config VIDEO_MT9M032 tristate "MT9M032 camera sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select VIDEO_APTINA_PLL @@ -1304,7 +1304,7 @@ config VIDEO_MT9M032 config VIDEO_MT9M111 tristate "mt9m111, mt9m112 and mt9m131 support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select V4L2_FWNODE help This driver supports MT9M111, MT9M112 and MT9M131 cameras from @@ -1312,7 +1312,7 @@ config VIDEO_MT9M111 config VIDEO_MT9P031 tristate "Aptina MT9P031 support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select VIDEO_APTINA_PLL @@ -1323,7 +1323,7 @@ config VIDEO_MT9P031 config VIDEO_MT9T001 tristate "Aptina MT9T001 support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API help @@ -1332,7 +1332,7 @@ config VIDEO_MT9T001 config VIDEO_MT9T112 tristate "Aptina MT9T111/MT9T112 support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV help This is a Video4Linux2 sensor driver for the Aptina (Micron) MT9T111 and MT9T112 3 Mpixel camera. @@ -1342,7 +1342,7 @@ config VIDEO_MT9T112 config VIDEO_MT9V011 tristate "Micron mt9v011 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV help This is a Video4Linux2 sensor driver for the Micron mt0v011 1.3 Mpixel camera. It currently only works with the @@ -1350,7 +1350,7 @@ config VIDEO_MT9V011 config VIDEO_MT9V032 tristate "Micron MT9V032 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select REGMAP_I2C @@ -1361,7 +1361,7 @@ config VIDEO_MT9V032 config VIDEO_MT9V111 tristate "Aptina MT9V111 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV help This is a Video4Linux2 sensor driver for the Aptina/Micron MT9V111 sensor. @@ -1371,13 +1371,13 @@ config VIDEO_MT9V111 config VIDEO_SR030PC30 tristate "Siliconfile SR030PC30 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV help This driver supports SR030PC30 VGA camera from Siliconfile config VIDEO_NOON010PC30 tristate "Siliconfile NOON010PC30 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API help @@ -1418,7 +1418,7 @@ config VIDEO_RDACM21 config VIDEO_RJ54N1 tristate "Sharp RJ54N1CB0C sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV help This is a V4L2 sensor driver for Sharp RJ54N1CB0C CMOS image sensor. @@ -1428,7 +1428,7 @@ config VIDEO_RJ54N1 config VIDEO_S5K6AA tristate "Samsung S5K6AAFX sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API help @@ -1437,7 +1437,7 @@ config VIDEO_S5K6AA config VIDEO_S5K6A3 tristate "Samsung S5K6A3 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API help @@ -1446,7 +1446,7 @@ config VIDEO_S5K6A3 config VIDEO_S5K4ECGX tristate "Samsung S5K4ECGX sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select CRC32 @@ -1456,7 +1456,7 @@ config VIDEO_S5K4ECGX config VIDEO_S5K5BAF tristate "Samsung S5K5BAF sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -1469,7 +1469,7 @@ source "drivers/media/i2c/et8ek8/Kconfig" config VIDEO_S5C73M3 tristate "Samsung S5C73M3 sensor support" - depends on I2C && SPI && VIDEO_V4L2 + depends on I2C && SPI && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -1484,7 +1484,7 @@ menu "Lens drivers" config VIDEO_AD5820 tristate "AD5820 lens voice coil support" - depends on GPIOLIB && I2C && VIDEO_V4L2 + depends on GPIOLIB && I2C && VIDEO_DEV select MEDIA_CONTROLLER select V4L2_ASYNC help @@ -1493,7 +1493,7 @@ config VIDEO_AD5820 config VIDEO_AK7375 tristate "AK7375 lens voice coil support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_ASYNC @@ -1505,7 +1505,7 @@ config VIDEO_AK7375 config VIDEO_DW9714 tristate "DW9714 lens voice coil support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_ASYNC @@ -1517,7 +1517,7 @@ config VIDEO_DW9714 config VIDEO_DW9768 tristate "DW9768 lens voice coil support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -1529,7 +1529,7 @@ config VIDEO_DW9768 config VIDEO_DW9807_VCM tristate "DW9807 lens voice coil support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_ASYNC @@ -1546,7 +1546,7 @@ menu "Flash devices" config VIDEO_ADP1653 tristate "ADP1653 flash support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select V4L2_ASYNC help @@ -1555,7 +1555,7 @@ config VIDEO_ADP1653 config VIDEO_LM3560 tristate "LM3560 dual flash driver support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select REGMAP_I2C select V4L2_ASYNC @@ -1565,7 +1565,7 @@ config VIDEO_LM3560 config VIDEO_LM3646 tristate "LM3646 dual flash driver support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select REGMAP_I2C select V4L2_ASYNC @@ -1574,4 +1574,4 @@ config VIDEO_LM3646 flash, torch LEDs. endmenu -endif # VIDEO_V4L2 +endif # VIDEO_DEV diff --git a/drivers/media/i2c/ccs/Kconfig b/drivers/media/i2c/ccs/Kconfig index 59f35b33ddc1..71671db3d993 100644 --- a/drivers/media/i2c/ccs/Kconfig +++ b/drivers/media/i2c/ccs/Kconfig @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-only config VIDEO_CCS tristate "MIPI CCS/SMIA++/SMIA sensor support" - depends on I2C && VIDEO_V4L2 && HAVE_CLK + depends on I2C && VIDEO_DEV && HAVE_CLK select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select VIDEO_CCS_PLL diff --git a/drivers/media/i2c/cx25840/Kconfig b/drivers/media/i2c/cx25840/Kconfig index e392f8e023f6..46f15702cf55 100644 --- a/drivers/media/i2c/cx25840/Kconfig +++ b/drivers/media/i2c/cx25840/Kconfig @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-only config VIDEO_CX25840 tristate "Conexant CX2584x audio/video decoders" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the Conexant CX2584x audio/video decoders. diff --git a/drivers/media/i2c/et8ek8/Kconfig b/drivers/media/i2c/et8ek8/Kconfig index afcc4ea764f6..398dd4d21df1 100644 --- a/drivers/media/i2c/et8ek8/Kconfig +++ b/drivers/media/i2c/et8ek8/Kconfig @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-only config VIDEO_ET8EK8 tristate "ET8EK8 camera sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE diff --git a/drivers/media/i2c/m5mols/Kconfig b/drivers/media/i2c/m5mols/Kconfig index 6f0ef33b7ee1..7f0af32f4376 100644 --- a/drivers/media/i2c/m5mols/Kconfig +++ b/drivers/media/i2c/m5mols/Kconfig @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-only config VIDEO_M5MOLS tristate "Fujitsu M-5MOLS 8MP sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API help diff --git a/drivers/media/pci/Kconfig b/drivers/media/pci/Kconfig index 2cd8e328dda9..92b156530d91 100644 --- a/drivers/media/pci/Kconfig +++ b/drivers/media/pci/Kconfig @@ -61,7 +61,7 @@ config VIDEO_PCI_SKELETON tristate "Skeleton PCI V4L2 driver" depends on SAMPLES depends on MEDIA_TEST_SUPPORT - depends on PCI && VIDEO_V4L2 + depends on PCI && VIDEO_DEV select VIDEOBUF2_MEMOPS select VIDEOBUF2_DMA_CONTIG help diff --git a/drivers/media/pci/bt8xx/Kconfig b/drivers/media/pci/bt8xx/Kconfig index 3f56decbb681..927190281bd5 100644 --- a/drivers/media/pci/bt8xx/Kconfig +++ b/drivers/media/pci/bt8xx/Kconfig @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-only config VIDEO_BT848 tristate "BT848 Video For Linux" - depends on VIDEO_DEV && PCI && I2C && VIDEO_V4L2 + depends on PCI && I2C && VIDEO_DEV select I2C_ALGOBIT select VIDEOBUF_DMA_SG depends on RC_CORE diff --git a/drivers/media/pci/cobalt/Kconfig b/drivers/media/pci/cobalt/Kconfig index d8d9ea6b09bc..e13e36141199 100644 --- a/drivers/media/pci/cobalt/Kconfig +++ b/drivers/media/pci/cobalt/Kconfig @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-only config VIDEO_COBALT tristate "Cisco Cobalt support" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C depends on PCI_MSI && MTD_COMPLEX_MAPPINGS depends on (GPIOLIB && DRM_I2C_ADV7511=n) || COMPILE_TEST depends on SND diff --git a/drivers/media/pci/cx18/Kconfig b/drivers/media/pci/cx18/Kconfig index 7074a1071302..a4e32fdcfd3d 100644 --- a/drivers/media/pci/cx18/Kconfig +++ b/drivers/media/pci/cx18/Kconfig @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-only config VIDEO_CX18 tristate "Conexant cx23418 MPEG encoder support" - depends on VIDEO_V4L2 && DVB_CORE && PCI && I2C + depends on VIDEO_DEV && DVB_CORE && PCI && I2C select I2C_ALGOBIT select VIDEOBUF_VMALLOC depends on RC_CORE diff --git a/drivers/media/pci/dt3155/Kconfig b/drivers/media/pci/dt3155/Kconfig index a3d24b8a719b..2b76de195aa5 100644 --- a/drivers/media/pci/dt3155/Kconfig +++ b/drivers/media/pci/dt3155/Kconfig @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-only config VIDEO_DT3155 tristate "DT3155 frame grabber" - depends on PCI && VIDEO_DEV && VIDEO_V4L2 + depends on PCI && VIDEO_DEV select VIDEOBUF2_DMA_CONTIG help Enables dt3155 device driver for the DataTranslation DT3155 frame grabber. diff --git a/drivers/media/pci/intel/ipu3/Kconfig b/drivers/media/pci/intel/ipu3/Kconfig index dce8274c81e6..39bd3be0b43d 100644 --- a/drivers/media/pci/intel/ipu3/Kconfig +++ b/drivers/media/pci/intel/ipu3/Kconfig @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-only config VIDEO_IPU3_CIO2 tristate "Intel ipu3-cio2 driver" - depends on VIDEO_V4L2 && PCI + depends on VIDEO_DEV && PCI depends on ACPI || COMPILE_TEST depends on X86 select MEDIA_CONTROLLER diff --git a/drivers/media/pci/ivtv/Kconfig b/drivers/media/pci/ivtv/Kconfig index e70502902b73..9be52101bc4f 100644 --- a/drivers/media/pci/ivtv/Kconfig +++ b/drivers/media/pci/ivtv/Kconfig @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-only config VIDEO_IVTV tristate "Conexant cx23416/cx23415 MPEG encoder/decoder support" - depends on VIDEO_V4L2 && PCI && I2C + depends on VIDEO_DEV && PCI && I2C select I2C_ALGOBIT depends on RC_CORE select VIDEO_TUNER diff --git a/drivers/media/pci/meye/Kconfig b/drivers/media/pci/meye/Kconfig index fed1f4a01817..3e69b66f1a5b 100644 --- a/drivers/media/pci/meye/Kconfig +++ b/drivers/media/pci/meye/Kconfig @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-only config VIDEO_MEYE tristate "Sony Vaio Picturebook Motion Eye Video For Linux" - depends on PCI && VIDEO_V4L2 + depends on PCI && VIDEO_DEV depends on SONY_LAPTOP depends on X86 || COMPILE_TEST help diff --git a/drivers/media/pci/saa7146/Kconfig b/drivers/media/pci/saa7146/Kconfig index 8e83cd044075..3bbb68a0ed7b 100644 --- a/drivers/media/pci/saa7146/Kconfig +++ b/drivers/media/pci/saa7146/Kconfig @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-only config VIDEO_HEXIUM_GEMINI tristate "Hexium Gemini frame grabber" - depends on PCI && VIDEO_V4L2 && I2C + depends on PCI && VIDEO_DEV && I2C select VIDEO_SAA7146_VV help This is a video4linux driver for the Hexium Gemini frame @@ -13,7 +13,7 @@ config VIDEO_HEXIUM_GEMINI config VIDEO_HEXIUM_ORION tristate "Hexium HV-PCI6 and Orion frame grabber" - depends on PCI && VIDEO_V4L2 && I2C + depends on PCI && VIDEO_DEV && I2C select VIDEO_SAA7146_VV help This is a video4linux driver for the Hexium HV-PCI6 and @@ -24,7 +24,7 @@ config VIDEO_HEXIUM_ORION config VIDEO_MXB tristate "Siemens-Nixdorf 'Multimedia eXtension Board'" - depends on PCI && VIDEO_V4L2 && I2C + depends on PCI && VIDEO_DEV && I2C select VIDEO_SAA7146_VV select VIDEO_TUNER select VIDEO_SAA711X if MEDIA_SUBDRV_AUTOSELECT diff --git a/drivers/media/pci/sta2x11/Kconfig b/drivers/media/pci/sta2x11/Kconfig index 27bb78513631..a96e170ab04e 100644 --- a/drivers/media/pci/sta2x11/Kconfig +++ b/drivers/media/pci/sta2x11/Kconfig @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-only config STA2X11_VIP tristate "STA2X11 VIP Video For Linux" - depends on PCI && VIDEO_V4L2 && VIRT_TO_BUS && I2C + depends on PCI && VIDEO_DEV && VIRT_TO_BUS && I2C depends on STA2X11 || COMPILE_TEST select GPIOLIB if MEDIA_SUBDRV_AUTOSELECT select VIDEO_ADV7180 if MEDIA_SUBDRV_AUTOSELECT diff --git a/drivers/media/pci/tw5864/Kconfig b/drivers/media/pci/tw5864/Kconfig index d376d4ed65b9..111da223efb0 100644 --- a/drivers/media/pci/tw5864/Kconfig +++ b/drivers/media/pci/tw5864/Kconfig @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-only config VIDEO_TW5864 tristate "Techwell TW5864 video/audio grabber and encoder" - depends on VIDEO_DEV && PCI && VIDEO_V4L2 + depends on VIDEO_DEV && PCI select VIDEOBUF2_DMA_CONTIG help Support for boards based on Techwell TW5864 chip which provides diff --git a/drivers/media/pci/tw68/Kconfig b/drivers/media/pci/tw68/Kconfig index af0cb60337bb..ef9c0e886a09 100644 --- a/drivers/media/pci/tw68/Kconfig +++ b/drivers/media/pci/tw68/Kconfig @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-only config VIDEO_TW68 tristate "Techwell tw68x Video For Linux" - depends on VIDEO_DEV && PCI && VIDEO_V4L2 + depends on VIDEO_DEV && PCI select VIDEOBUF2_DMA_SG help Support for Techwell tw68xx based frame grabber boards. diff --git a/drivers/media/pci/tw686x/Kconfig b/drivers/media/pci/tw686x/Kconfig index 631c90868b8b..a4edad6aaf89 100644 --- a/drivers/media/pci/tw686x/Kconfig +++ b/drivers/media/pci/tw686x/Kconfig @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-only config VIDEO_TW686X tristate "Intersil/Techwell TW686x video capture cards" - depends on PCI && VIDEO_DEV && VIDEO_V4L2 && SND + depends on PCI && VIDEO_DEV && SND select VIDEOBUF2_VMALLOC select VIDEOBUF2_DMA_CONTIG select VIDEOBUF2_DMA_SG diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig index 8bd92e4f4d9b..d383c348debe 100644 --- a/drivers/media/platform/Kconfig +++ b/drivers/media/platform/Kconfig @@ -30,7 +30,7 @@ config DVB_PLATFORM_DRIVERS config V4L_MEM2MEM_DRIVERS bool "Memory-to-memory multimedia devices" - depends on VIDEO_V4L2 + depends on VIDEO_DEV help Say Y here to enable selecting drivers for V4L devices that use system memory for both source and destination buffers, as opposed @@ -42,7 +42,7 @@ config V4L_MEM2MEM_DRIVERS config VIDEO_MEM2MEM_DEINTERLACE tristate "Deinterlace support" depends on V4L_MEM2MEM_DRIVERS - depends on VIDEO_DEV && VIDEO_V4L2 + depends on VIDEO_DEV depends on HAS_DMA select VIDEOBUF2_DMA_CONTIG select V4L2_MEM2MEM_DEV @@ -53,7 +53,7 @@ config VIDEO_MUX tristate "Video Multiplexer" depends on V4L_PLATFORM_DRIVERS select MULTIPLEXER - depends on VIDEO_V4L2 && OF + depends on VIDEO_DEV && OF select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select REGMAP diff --git a/drivers/media/platform/allegro-dvt/Kconfig b/drivers/media/platform/allegro-dvt/Kconfig index 674d234be5de..735440369c5c 100644 --- a/drivers/media/platform/allegro-dvt/Kconfig +++ b/drivers/media/platform/allegro-dvt/Kconfig @@ -5,7 +5,7 @@ comment "Allegro DVT drivers" config VIDEO_ALLEGRO_DVT tristate "Allegro DVT Video IP Core" depends on V4L_MEM2MEM_DRIVERS - depends on VIDEO_DEV && VIDEO_V4L2 + depends on VIDEO_DEV depends on ARCH_ZYNQMP || COMPILE_TEST select V4L2_MEM2MEM_DEV select VIDEOBUF2_DMA_CONTIG diff --git a/drivers/media/platform/allwinner/sun4i-csi/Kconfig b/drivers/media/platform/allwinner/sun4i-csi/Kconfig index 43ad2dd7da5d..7960e6836f41 100644 --- a/drivers/media/platform/allwinner/sun4i-csi/Kconfig +++ b/drivers/media/platform/allwinner/sun4i-csi/Kconfig @@ -3,7 +3,7 @@ config VIDEO_SUN4I_CSI tristate "Allwinner A10 CMOS Sensor Interface Support" depends on V4L_PLATFORM_DRIVERS - depends on VIDEO_V4L2 && COMMON_CLK && HAS_DMA + depends on VIDEO_DEV && COMMON_CLK && HAS_DMA depends on ARCH_SUNXI || COMPILE_TEST select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API diff --git a/drivers/media/platform/allwinner/sun6i-csi/Kconfig b/drivers/media/platform/allwinner/sun6i-csi/Kconfig index 6d9cf1963c41..0345901617d4 100644 --- a/drivers/media/platform/allwinner/sun6i-csi/Kconfig +++ b/drivers/media/platform/allwinner/sun6i-csi/Kconfig @@ -2,7 +2,7 @@ config VIDEO_SUN6I_CSI tristate "Allwinner V3s Camera Sensor Interface driver" depends on V4L_PLATFORM_DRIVERS - depends on VIDEO_V4L2 && COMMON_CLK && HAS_DMA + depends on VIDEO_DEV && COMMON_CLK && HAS_DMA depends on ARCH_SUNXI || COMPILE_TEST select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API diff --git a/drivers/media/platform/allwinner/sun8i-di/Kconfig b/drivers/media/platform/allwinner/sun8i-di/Kconfig index 8d762e664d45..ff71e06ee2df 100644 --- a/drivers/media/platform/allwinner/sun8i-di/Kconfig +++ b/drivers/media/platform/allwinner/sun8i-di/Kconfig @@ -2,7 +2,7 @@ config VIDEO_SUN8I_DEINTERLACE tristate "Allwinner Deinterlace driver" depends on V4L_MEM2MEM_DRIVERS - depends on VIDEO_DEV && VIDEO_V4L2 + depends on VIDEO_DEV depends on ARCH_SUNXI || COMPILE_TEST depends on COMMON_CLK && OF depends on PM diff --git a/drivers/media/platform/allwinner/sun8i-rotate/Kconfig b/drivers/media/platform/allwinner/sun8i-rotate/Kconfig index 64a8ea76e917..cfba29072d75 100644 --- a/drivers/media/platform/allwinner/sun8i-rotate/Kconfig +++ b/drivers/media/platform/allwinner/sun8i-rotate/Kconfig @@ -3,7 +3,7 @@ config VIDEO_SUN8I_ROTATE tristate "Allwinner DE2 rotation driver" depends on V4L_MEM2MEM_DRIVERS - depends on VIDEO_DEV && VIDEO_V4L2 + depends on VIDEO_DEV depends on ARCH_SUNXI || COMPILE_TEST depends on COMMON_CLK && OF depends on PM diff --git a/drivers/media/platform/amlogic/meson-ge2d/Kconfig b/drivers/media/platform/amlogic/meson-ge2d/Kconfig index 8c3f3b1b6b05..312c4169e3c2 100644 --- a/drivers/media/platform/amlogic/meson-ge2d/Kconfig +++ b/drivers/media/platform/amlogic/meson-ge2d/Kconfig @@ -1,7 +1,7 @@ config VIDEO_MESON_GE2D tristate "Amlogic 2D Graphic Acceleration Unit" depends on V4L_MEM2MEM_DRIVERS - depends on VIDEO_DEV && VIDEO_V4L2 + depends on VIDEO_DEV depends on ARCH_MESON || COMPILE_TEST select VIDEOBUF2_DMA_CONTIG select V4L2_MEM2MEM_DEV diff --git a/drivers/media/platform/aspeed/Kconfig b/drivers/media/platform/aspeed/Kconfig index 153e3e5381d5..af95b08adf46 100644 --- a/drivers/media/platform/aspeed/Kconfig +++ b/drivers/media/platform/aspeed/Kconfig @@ -5,7 +5,7 @@ comment "Aspeed drivers" config VIDEO_ASPEED tristate "Aspeed AST2400 and AST2500 Video Engine driver" depends on V4L_PLATFORM_DRIVERS - depends on VIDEO_V4L2 + depends on VIDEO_DEV select VIDEOBUF2_DMA_CONTIG help Support for the Aspeed Video Engine (VE) embedded in the Aspeed diff --git a/drivers/media/platform/atmel/Kconfig b/drivers/media/platform/atmel/Kconfig index cef12629f4ef..ae0fa7f96f66 100644 --- a/drivers/media/platform/atmel/Kconfig +++ b/drivers/media/platform/atmel/Kconfig @@ -5,7 +5,7 @@ comment "Atmel drivers" config VIDEO_ATMEL_ISC tristate "ATMEL Image Sensor Controller (ISC) support" depends on V4L_PLATFORM_DRIVERS - depends on VIDEO_V4L2 && COMMON_CLK + depends on VIDEO_DEV && COMMON_CLK depends on ARCH_AT91 || COMPILE_TEST select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API @@ -20,7 +20,7 @@ config VIDEO_ATMEL_ISC config VIDEO_ATMEL_XISC tristate "ATMEL eXtended Image Sensor Controller (XISC) support" depends on V4L_PLATFORM_DRIVERS - depends on VIDEO_V4L2 && COMMON_CLK && VIDEO_V4L2_SUBDEV_API + depends on VIDEO_DEV && COMMON_CLK && VIDEO_V4L2_SUBDEV_API depends on ARCH_AT91 || COMPILE_TEST select VIDEOBUF2_DMA_CONTIG select REGMAP_MMIO @@ -39,7 +39,7 @@ config VIDEO_ATMEL_ISC_BASE config VIDEO_ATMEL_ISI tristate "ATMEL Image Sensor Interface (ISI) support" depends on V4L_PLATFORM_DRIVERS - depends on VIDEO_V4L2 && OF + depends on VIDEO_DEV && OF depends on ARCH_AT91 || COMPILE_TEST select VIDEOBUF2_DMA_CONTIG select V4L2_FWNODE @@ -50,7 +50,7 @@ config VIDEO_ATMEL_ISI config VIDEO_MICROCHIP_CSI2DC tristate "Microchip CSI2 Demux Controller" depends on V4L_PLATFORM_DRIVERS - depends on VIDEO_V4L2 && COMMON_CLK && OF + depends on VIDEO_DEV && COMMON_CLK && OF depends on ARCH_AT91 || COMPILE_TEST select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API diff --git a/drivers/media/platform/cadence/Kconfig b/drivers/media/platform/cadence/Kconfig index 3ae6f4e51eec..1a0f2d9a6a28 100644 --- a/drivers/media/platform/cadence/Kconfig +++ b/drivers/media/platform/cadence/Kconfig @@ -4,7 +4,7 @@ comment "Cadence drivers" config VIDEO_CADENCE_CSI2RX tristate "Cadence MIPI-CSI2 RX Controller" - depends on VIDEO_V4L2 + depends on VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -16,7 +16,7 @@ config VIDEO_CADENCE_CSI2RX config VIDEO_CADENCE_CSI2TX tristate "Cadence MIPI-CSI2 TX Controller" - depends on VIDEO_V4L2 + depends on VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE diff --git a/drivers/media/platform/chips-media/Kconfig b/drivers/media/platform/chips-media/Kconfig index adf466a05699..ea49b3563320 100644 --- a/drivers/media/platform/chips-media/Kconfig +++ b/drivers/media/platform/chips-media/Kconfig @@ -5,7 +5,7 @@ comment "Chips&Media drivers" config VIDEO_CODA tristate "Chips&Media Coda multi-standard codec IP" depends on V4L_MEM2MEM_DRIVERS - depends on VIDEO_DEV && VIDEO_V4L2 && OF && (ARCH_MXC || COMPILE_TEST) + depends on VIDEO_DEV && OF && (ARCH_MXC || COMPILE_TEST) select SRAM select VIDEOBUF2_DMA_CONTIG select VIDEOBUF2_VMALLOC diff --git a/drivers/media/platform/intel/Kconfig b/drivers/media/platform/intel/Kconfig index 8a730d9bcf52..091e15f00ef5 100644 --- a/drivers/media/platform/intel/Kconfig +++ b/drivers/media/platform/intel/Kconfig @@ -5,7 +5,7 @@ comment "Intel drivers" config VIDEO_PXA27x tristate "PXA27x Quick Capture Interface driver" depends on V4L_PLATFORM_DRIVERS - depends on VIDEO_DEV && VIDEO_V4L2 + depends on VIDEO_DEV depends on PXA27x || COMPILE_TEST select VIDEOBUF2_DMA_SG select SG_SPLIT diff --git a/drivers/media/platform/marvell/Kconfig b/drivers/media/platform/marvell/Kconfig index 626e0673f12c..d... [truncated message content] |
From: Mauro C. C. <mc...@ke...> - 2022-03-13 07:12:26
|
media Kconfig has two entries associated to V4L API: VIDEO_DEV and VIDEO_V4L2. On Kernel 2.6.x, there were two V4L APIs, each one with its own flag. VIDEO_DEV were meant to: 1) enable Video4Linux and make its Kconfig options to appear; 2) it makes the Kernel build the V4L core. while VIDEO_V4L2 where used to distinguish between drivers that implement the newer API and drivers that implemented the former one. With time, such meaning changed, specially after the removal of all V4L version 1 drivers. At the current implementation, VIDEO_DEV only does (1): it enables the media options related to V4L, that now has: menu "Video4Linux options" visible if VIDEO_DEV source "drivers/media/v4l2-core/Kconfig" endmenu but it doesn't affect anymore the V4L core drivers. The rationale is that the V4L2 core has a "soft" dependency at the I2C bus, and now requires to select a number of other Kconfig options: config VIDEO_V4L2 tristate depends on (I2C || I2C=n) && VIDEO_DEV select RATIONAL select VIDEOBUF2_V4L2 if VIDEOBUF2_CORE default (I2C || I2C=n) && VIDEO_DEV In the past, merging them would be tricky, but it seems that it is now possible to merge those symbols, in order to simplify V4L dependencies. Let's keep VIDEO_DEV, as this one is used on some make *defconfig configurations. Suggested-by: Laurent Pinchart <lau...@id...> Signed-off-by: Mauro Carvalho Chehab <mc...@ke...> --- drivers/input/rmi4/Kconfig | 2 +- drivers/input/touchscreen/Kconfig | 4 +- drivers/media/Kconfig | 3 + drivers/media/common/saa7146/Kconfig | 2 +- drivers/media/dvb-core/Kconfig | 2 +- drivers/media/dvb-frontends/Kconfig | 4 +- drivers/media/i2c/Kconfig | 250 +++++++++--------- drivers/media/i2c/ccs/Kconfig | 2 +- drivers/media/i2c/cx25840/Kconfig | 2 +- drivers/media/i2c/et8ek8/Kconfig | 2 +- drivers/media/i2c/m5mols/Kconfig | 2 +- drivers/media/pci/Kconfig | 2 +- drivers/media/pci/bt8xx/Kconfig | 2 +- drivers/media/pci/cobalt/Kconfig | 2 +- drivers/media/pci/cx18/Kconfig | 2 +- drivers/media/pci/dt3155/Kconfig | 2 +- drivers/media/pci/intel/ipu3/Kconfig | 2 +- drivers/media/pci/ivtv/Kconfig | 2 +- drivers/media/pci/meye/Kconfig | 2 +- drivers/media/pci/saa7146/Kconfig | 6 +- drivers/media/pci/sta2x11/Kconfig | 2 +- drivers/media/pci/tw5864/Kconfig | 2 +- drivers/media/pci/tw68/Kconfig | 2 +- drivers/media/pci/tw686x/Kconfig | 2 +- drivers/media/platform/Kconfig | 6 +- drivers/media/platform/allegro-dvt/Kconfig | 2 +- drivers/media/platform/am437x/Kconfig | 2 +- drivers/media/platform/amphion/Kconfig | 2 +- drivers/media/platform/aspeed/Kconfig | 2 +- drivers/media/platform/atmel/Kconfig | 8 +- drivers/media/platform/cadence/Kconfig | 4 +- drivers/media/platform/coda/Kconfig | 2 +- drivers/media/platform/davinci/Kconfig | 12 +- drivers/media/platform/exynos-gsc/Kconfig | 2 +- drivers/media/platform/exynos4-is/Kconfig | 2 +- drivers/media/platform/intel/Kconfig | 2 +- drivers/media/platform/marvell-ccic/Kconfig | 4 +- drivers/media/platform/meson/ge2d/Kconfig | 2 +- drivers/media/platform/mtk-jpeg/Kconfig | 2 +- drivers/media/platform/mtk-mdp/Kconfig | 2 +- drivers/media/platform/mtk-vcodec/Kconfig | 2 +- drivers/media/platform/mtk-vpu/Kconfig | 2 +- drivers/media/platform/nxp/Kconfig | 8 +- drivers/media/platform/nxp/imx-jpeg/Kconfig | 2 +- drivers/media/platform/omap/Kconfig | 2 +- drivers/media/platform/omap3isp/Kconfig | 2 +- drivers/media/platform/qcom/camss/Kconfig | 2 +- drivers/media/platform/qcom/venus/Kconfig | 2 +- drivers/media/platform/renesas/Kconfig | 12 +- .../media/platform/renesas/rcar-vin/Kconfig | 4 +- drivers/media/platform/rockchip/rga/Kconfig | 2 +- .../media/platform/rockchip/rkisp1/Kconfig | 2 +- drivers/media/platform/s3c-camif/Kconfig | 2 +- drivers/media/platform/s5p-g2d/Kconfig | 2 +- drivers/media/platform/s5p-jpeg/Kconfig | 2 +- drivers/media/platform/s5p-mfc/Kconfig | 2 +- drivers/media/platform/sti/bdisp/Kconfig | 2 +- drivers/media/platform/sti/delta/Kconfig | 2 +- drivers/media/platform/sti/hva/Kconfig | 2 +- drivers/media/platform/stm32/Kconfig | 4 +- .../media/platform/sunxi/sun4i-csi/Kconfig | 2 +- .../media/platform/sunxi/sun6i-csi/Kconfig | 2 +- drivers/media/platform/sunxi/sun8i-di/Kconfig | 2 +- .../media/platform/sunxi/sun8i-rotate/Kconfig | 2 +- drivers/media/platform/tegra/vde/Kconfig | 2 +- drivers/media/platform/ti-vpe/Kconfig | 4 +- drivers/media/platform/via/Kconfig | 2 +- drivers/media/platform/xilinx/Kconfig | 2 +- drivers/media/radio/Kconfig | 54 ++-- drivers/media/radio/si470x/Kconfig | 2 +- drivers/media/radio/wl128x/Kconfig | 2 +- drivers/media/spi/Kconfig | 4 +- drivers/media/test-drivers/Kconfig | 2 +- drivers/media/test-drivers/vicodec/Kconfig | 2 +- drivers/media/test-drivers/vimc/Kconfig | 2 +- drivers/media/test-drivers/vivid/Kconfig | 2 +- drivers/media/tuners/Kconfig | 6 +- drivers/media/tuners/e4000.c | 6 +- drivers/media/tuners/fc2580.c | 6 +- drivers/media/usb/airspy/Kconfig | 2 +- drivers/media/usb/au0828/Kconfig | 6 +- drivers/media/usb/cpia2/Kconfig | 2 +- drivers/media/usb/dvb-usb-v2/Kconfig | 8 +- drivers/media/usb/dvb-usb/Kconfig | 4 +- drivers/media/usb/gspca/Kconfig | 96 +++---- drivers/media/usb/gspca/gl860/Kconfig | 2 +- drivers/media/usb/gspca/m5602/Kconfig | 2 +- drivers/media/usb/hackrf/Kconfig | 2 +- drivers/media/usb/hdpvr/Kconfig | 2 +- drivers/media/usb/msi2500/Kconfig | 2 +- drivers/media/usb/pvrusb2/Kconfig | 2 +- drivers/media/usb/pwc/Kconfig | 2 +- drivers/media/usb/s2255/Kconfig | 2 +- drivers/media/usb/stkwebcam/Kconfig | 2 +- drivers/media/usb/usbtv/Kconfig | 2 +- drivers/media/usb/uvc/Kconfig | 2 +- drivers/media/usb/zr364xx/Kconfig | 2 +- drivers/media/v4l2-core/Kconfig | 12 +- drivers/media/v4l2-core/Makefile | 2 +- drivers/staging/media/atomisp/Kconfig | 2 +- drivers/staging/media/atomisp/i2c/Kconfig | 14 +- drivers/staging/media/hantro/Kconfig | 2 +- drivers/staging/media/imx/Kconfig | 2 +- drivers/staging/media/ipu3/Kconfig | 2 +- drivers/staging/media/max96712/Kconfig | 2 +- drivers/staging/media/meson/vdec/Kconfig | 2 +- drivers/staging/media/omap4iss/Kconfig | 2 +- drivers/staging/media/rkvdec/Kconfig | 2 +- drivers/staging/media/sunxi/cedrus/Kconfig | 2 +- drivers/staging/media/tegra-video/Kconfig | 2 +- drivers/staging/media/zoran/Kconfig | 2 +- drivers/staging/most/video/Kconfig | 2 +- .../vc04_services/bcm2835-camera/Kconfig | 2 +- drivers/usb/gadget/Kconfig | 2 +- drivers/usb/gadget/legacy/Kconfig | 2 +- sound/pci/Kconfig | 4 +- 116 files changed, 363 insertions(+), 368 deletions(-) diff --git a/drivers/input/rmi4/Kconfig b/drivers/input/rmi4/Kconfig index 16119f760d11..c0163b983ce6 100644 --- a/drivers/input/rmi4/Kconfig +++ b/drivers/input/rmi4/Kconfig @@ -110,7 +110,7 @@ config RMI4_F3A config RMI4_F54 bool "RMI4 Function 54 (Analog diagnostics)" - depends on VIDEO_V4L2=y || (RMI4_CORE=m && VIDEO_V4L2=m) + depends on VIDEO_DEV=y || (RMI4_CORE=m && VIDEO_DEV=m) select VIDEOBUF2_VMALLOC select RMI4_F55 help diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig index 2f6adfb7b938..ff7794cecf69 100644 --- a/drivers/input/touchscreen/Kconfig +++ b/drivers/input/touchscreen/Kconfig @@ -131,7 +131,7 @@ config TOUCHSCREEN_ATMEL_MXT config TOUCHSCREEN_ATMEL_MXT_T37 bool "Support T37 Diagnostic Data" depends on TOUCHSCREEN_ATMEL_MXT - depends on VIDEO_V4L2=y || (TOUCHSCREEN_ATMEL_MXT=m && VIDEO_V4L2=m) + depends on VIDEO_DEV=y || (TOUCHSCREEN_ATMEL_MXT=m && VIDEO_DEV=m) select VIDEOBUF2_VMALLOC help Say Y here if you want support to output data from the T37 @@ -1252,7 +1252,7 @@ config TOUCHSCREEN_SUN4I config TOUCHSCREEN_SUR40 tristate "Samsung SUR40 (Surface 2.0/PixelSense) touchscreen" depends on USB && MEDIA_USB_SUPPORT && HAS_DMA - depends on VIDEO_V4L2 + depends on VIDEO_DEV select VIDEOBUF2_DMA_SG help Say Y here if you want support for the Samsung SUR40 touchscreen diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig index 01b536863657..2d02d9a44b94 100644 --- a/drivers/media/Kconfig +++ b/drivers/media/Kconfig @@ -160,6 +160,9 @@ menu "Media core support" config VIDEO_DEV tristate "Video4Linux core" default MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT || MEDIA_PLATFORM_SUPPORT || MEDIA_TEST_SUPPORT + depends on (I2C || I2C=n) + select RATIONAL + select VIDEOBUF2_V4L2 if VIDEOBUF2_CORE help Enables the V4L2 API, used by cameras, analog TV, video grabbers, radio devices and by some input devices. diff --git a/drivers/media/common/saa7146/Kconfig b/drivers/media/common/saa7146/Kconfig index 3e85c0c3fd9a..a0aa155e5d85 100644 --- a/drivers/media/common/saa7146/Kconfig +++ b/drivers/media/common/saa7146/Kconfig @@ -5,6 +5,6 @@ config VIDEO_SAA7146 config VIDEO_SAA7146_VV tristate - depends on VIDEO_V4L2 + depends on VIDEO_DEV select VIDEOBUF_DMA_SG select VIDEO_SAA7146 diff --git a/drivers/media/dvb-core/Kconfig b/drivers/media/dvb-core/Kconfig index 6ffac618417b..8b3f2d53cd62 100644 --- a/drivers/media/dvb-core/Kconfig +++ b/drivers/media/dvb-core/Kconfig @@ -6,7 +6,7 @@ config DVB_MMAP bool "Enable DVB memory-mapped API (EXPERIMENTAL)" depends on DVB_CORE - depends on VIDEO_V4L2=y || VIDEO_V4L2=DVB_CORE + depends on VIDEO_DEV=y || VIDEO_DEV=DVB_CORE select VIDEOBUF2_VMALLOC help This option enables DVB experimental memory-mapped API, which diff --git a/drivers/media/dvb-frontends/Kconfig b/drivers/media/dvb-frontends/Kconfig index 2c1ed98d43c5..4101f9b1e731 100644 --- a/drivers/media/dvb-frontends/Kconfig +++ b/drivers/media/dvb-frontends/Kconfig @@ -510,7 +510,7 @@ config DVB_RTL2832 config DVB_RTL2832_SDR tristate "Realtek RTL2832 SDR" - depends on DVB_CORE && I2C && I2C_MUX && VIDEO_V4L2 && MEDIA_SDR_SUPPORT && USB + depends on DVB_CORE && I2C && I2C_MUX && VIDEO_DEV && MEDIA_SDR_SUPPORT && USB select DVB_RTL2832 select VIDEOBUF2_VMALLOC default m if !MEDIA_SUBDRV_AUTOSELECT @@ -681,7 +681,7 @@ config DVB_AU8522_DTV config DVB_AU8522_V4L tristate "Auvitek AU8522 based ATV demod" - depends on VIDEO_V4L2 && DVB_CORE && I2C + depends on VIDEO_DEV && DVB_CORE && I2C select DVB_AU8522 default m if !MEDIA_SUBDRV_AUTOSELECT help diff --git a/drivers/media/i2c/Kconfig b/drivers/media/i2c/Kconfig index e7194c1be4d2..5abc169f0a5c 100644 --- a/drivers/media/i2c/Kconfig +++ b/drivers/media/i2c/Kconfig @@ -3,7 +3,7 @@ # Multimedia Video device configuration # -if VIDEO_V4L2 +if VIDEO_DEV comment "IR I2C driver auto-selected by 'Autoselect ancillary drivers'" depends on MEDIA_SUBDRV_AUTOSELECT && I2C && RC_CORE @@ -36,7 +36,7 @@ menu "Audio decoders, processors and mixers" config VIDEO_TVAUDIO tristate "Simple audio decoder chips" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for several audio decoder chips found on some bt8xx boards: Philips: tda9840, tda9873h, tda9874h/a, tda9850, tda985x, tea6300, @@ -48,7 +48,7 @@ config VIDEO_TVAUDIO config VIDEO_TDA7432 tristate "Philips TDA7432 audio processor" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for tda7432 audio decoder chip found on some bt8xx boards. @@ -66,7 +66,7 @@ config VIDEO_TDA9840 config VIDEO_TDA1997X tristate "NXP TDA1997x HDMI receiver" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C depends on SND_SOC select HDMI select SND_PCM @@ -99,7 +99,7 @@ config VIDEO_TEA6420 config VIDEO_MSP3400 tristate "Micronas MSP34xx audio decoders" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the Micronas MSP34xx series of audio decoders. @@ -108,7 +108,7 @@ config VIDEO_MSP3400 config VIDEO_CS3308 tristate "Cirrus Logic CS3308 audio ADC" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the Cirrus Logic CS3308 High Performance 8-Channel Analog Volume Control @@ -118,7 +118,7 @@ config VIDEO_CS3308 config VIDEO_CS5345 tristate "Cirrus Logic CS5345 audio ADC" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the Cirrus Logic CS5345 24-bit, 192 kHz stereo A/D converter. @@ -128,7 +128,7 @@ config VIDEO_CS5345 config VIDEO_CS53L32A tristate "Cirrus Logic CS53L32A audio ADC" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the Cirrus Logic CS53L32A low voltage stereo A/D converter. @@ -138,7 +138,7 @@ config VIDEO_CS53L32A config VIDEO_TLV320AIC23B tristate "Texas Instruments TLV320AIC23B audio codec" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the Texas Instruments TLV320AIC23B audio codec. @@ -147,7 +147,7 @@ config VIDEO_TLV320AIC23B config VIDEO_UDA1342 tristate "Philips UDA1342 audio codec" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the Philips UDA1342 audio codec. @@ -156,7 +156,7 @@ config VIDEO_UDA1342 config VIDEO_WM8775 tristate "Wolfson Microelectronics WM8775 audio ADC with input mixer" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the Wolfson Microelectronics WM8775 high performance stereo A/D Converter with a 4 channel input mixer. @@ -166,7 +166,7 @@ config VIDEO_WM8775 config VIDEO_WM8739 tristate "Wolfson Microelectronics WM8739 stereo audio ADC" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the Wolfson Microelectronics WM8739 stereo A/D Converter. @@ -176,7 +176,7 @@ config VIDEO_WM8739 config VIDEO_VP27SMPX tristate "Panasonic VP27's internal MPX" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the internal MPX of the Panasonic VP27s tuner. @@ -185,7 +185,7 @@ config VIDEO_VP27SMPX config VIDEO_SONY_BTF_MPX tristate "Sony BTF's internal MPX" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the internal MPX of the Sony BTF-PG472Z tuner. @@ -198,7 +198,7 @@ menu "RDS decoders" config VIDEO_SAA6588 tristate "SAA6588 Radio Chip RDS decoder support" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for this Radio Data System (RDS) decoder. This allows @@ -214,7 +214,7 @@ menu "Video decoders" config VIDEO_ADV7180 tristate "Analog Devices ADV7180 decoder" - depends on GPIOLIB && VIDEO_V4L2 && I2C + depends on GPIOLIB && VIDEO_DEV && I2C select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_ASYNC @@ -226,7 +226,7 @@ config VIDEO_ADV7180 config VIDEO_ADV7183 tristate "Analog Devices ADV7183 decoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help V4l2 subdevice driver for the Analog Devices ADV7183 video decoder. @@ -236,7 +236,7 @@ config VIDEO_ADV7183 config VIDEO_ADV748X tristate "Analog Devices ADV748x decoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C depends on OF select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API @@ -251,7 +251,7 @@ config VIDEO_ADV748X config VIDEO_ADV7604 tristate "Analog Devices ADV7604 decoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C depends on GPIOLIB || COMPILE_TEST select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API @@ -277,7 +277,7 @@ config VIDEO_ADV7604_CEC config VIDEO_ADV7842 tristate "Analog Devices ADV7842 decoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select HDMI @@ -300,7 +300,7 @@ config VIDEO_ADV7842_CEC config VIDEO_BT819 tristate "BT819A VideoStream decoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for BT819A video decoder. @@ -309,7 +309,7 @@ config VIDEO_BT819 config VIDEO_BT856 tristate "BT856 VideoStream decoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for BT856 video decoder. @@ -318,7 +318,7 @@ config VIDEO_BT856 config VIDEO_BT866 tristate "BT866 VideoStream decoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for BT866 video decoder. @@ -327,7 +327,7 @@ config VIDEO_BT866 config VIDEO_ISL7998X tristate "Intersil ISL7998x video decoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C depends on OF_GPIO select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API @@ -337,7 +337,7 @@ config VIDEO_ISL7998X config VIDEO_KS0127 tristate "KS0127 video decoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for KS0127 video decoder. @@ -349,7 +349,7 @@ config VIDEO_KS0127 config VIDEO_ML86V7667 tristate "OKI ML86V7667 video decoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the OKI Semiconductor ML86V7667 video decoder. @@ -358,7 +358,7 @@ config VIDEO_ML86V7667 config VIDEO_SAA7110 tristate "Philips SAA7110 video decoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the Philips SAA7110 video decoders. @@ -367,7 +367,7 @@ config VIDEO_SAA7110 config VIDEO_SAA711X tristate "Philips SAA7111/3/4/5 video decoders" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the Philips SAA7111/3/4/5 video decoders. @@ -376,7 +376,7 @@ config VIDEO_SAA711X config VIDEO_TC358743 tristate "Toshiba TC358743 decoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select HDMI @@ -397,7 +397,7 @@ config VIDEO_TC358743_CEC config VIDEO_TVP514X tristate "Texas Instruments TVP514x video decoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C select V4L2_FWNODE help This is a Video4Linux2 sensor driver for the TI TVP5146/47 @@ -409,7 +409,7 @@ config VIDEO_TVP514X config VIDEO_TVP5150 tristate "Texas Instruments TVP5150 video decoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C select V4L2_FWNODE select REGMAP_I2C help @@ -420,7 +420,7 @@ config VIDEO_TVP5150 config VIDEO_TVP7002 tristate "Texas Instruments TVP7002 video decoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C select V4L2_FWNODE help Support for the Texas Instruments TVP7002 video decoder. @@ -430,7 +430,7 @@ config VIDEO_TVP7002 config VIDEO_TW2804 tristate "Techwell TW2804 multiple video decoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the Techwell tw2804 multiple video decoder. @@ -439,7 +439,7 @@ config VIDEO_TW2804 config VIDEO_TW9903 tristate "Techwell TW9903 video decoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the Techwell tw9903 multi-standard video decoder with high quality down scaler. @@ -449,7 +449,7 @@ config VIDEO_TW9903 config VIDEO_TW9906 tristate "Techwell TW9906 video decoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the Techwell tw9906 enhanced multi-standard comb filter video decoder with YCbCr input support. @@ -459,7 +459,7 @@ config VIDEO_TW9906 config VIDEO_TW9910 tristate "Techwell TW9910 video decoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C select V4L2_ASYNC help Support for Techwell TW9910 NTSC/PAL/SECAM video decoder. @@ -469,7 +469,7 @@ config VIDEO_TW9910 config VIDEO_VPX3220 tristate "vpx3220a, vpx3216b & vpx3214c video decoders" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for VPX322x video decoders. @@ -479,7 +479,7 @@ config VIDEO_VPX3220 config VIDEO_MAX9286 tristate "Maxim MAX9286 GMSL deserializer support" depends on I2C && I2C_MUX - depends on VIDEO_V4L2 + depends on VIDEO_DEV depends on OF_GPIO select V4L2_FWNODE select VIDEO_V4L2_SUBDEV_API @@ -494,7 +494,7 @@ comment "Video and audio decoders" config VIDEO_SAA717X tristate "Philips SAA7171/3/4 audio/video decoders" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the Philips SAA7171/3/4 audio/video decoders. @@ -510,7 +510,7 @@ menu "Video encoders" config VIDEO_SAA7127 tristate "Philips SAA7127/9 digital video encoders" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the Philips SAA7127/9 digital video encoders. @@ -519,7 +519,7 @@ config VIDEO_SAA7127 config VIDEO_SAA7185 tristate "Philips SAA7185 video encoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the Philips SAA7185 video encoder. @@ -528,7 +528,7 @@ config VIDEO_SAA7185 config VIDEO_ADV7170 tristate "Analog Devices ADV7170 video encoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the Analog Devices ADV7170 video encoder driver @@ -537,7 +537,7 @@ config VIDEO_ADV7170 config VIDEO_ADV7175 tristate "Analog Devices ADV7175 video encoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the Analog Devices ADV7175 video encoder driver @@ -565,7 +565,7 @@ config VIDEO_ADV7393 config VIDEO_ADV7511 tristate "Analog Devices ADV7511 encoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C depends on DRM_I2C_ADV7511=n || COMPILE_TEST select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API @@ -588,7 +588,7 @@ config VIDEO_ADV7511_CEC config VIDEO_AD9389B tristate "Analog Devices AD9389B encoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API @@ -608,7 +608,7 @@ config VIDEO_AK881X config VIDEO_THS8200 tristate "Texas Instruments THS8200 video encoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C select V4L2_ASYNC help Support for the Texas Instruments THS8200 video encoder. @@ -622,7 +622,7 @@ menu "Video improvement chips" config VIDEO_UPD64031A tristate "NEC Electronics uPD64031A Ghost Reduction" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C select V4L2_ASYNC help Support for the NEC Electronics uPD64031A Ghost Reduction @@ -635,7 +635,7 @@ config VIDEO_UPD64031A config VIDEO_UPD64083 tristate "NEC Electronics uPD64083 3-Dimensional Y/C separation" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the NEC Electronics uPD64083 3-Dimensional Y/C separation video chip. It is used to improve the quality of @@ -650,7 +650,7 @@ menu "Audio/Video compression chips" config VIDEO_SAA6752HS tristate "Philips SAA6752HS MPEG-2 Audio/Video Encoder" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C select CRC32 help Support for the Philips SAA6752HS MPEG-2 video and MPEG-audio/AC-3 @@ -666,7 +666,7 @@ menu "SDR tuner chips" config SDR_MAX2175 tristate "Maxim 2175 RF to Bits tuner" - depends on VIDEO_V4L2 && MEDIA_SDR_SUPPORT && I2C + depends on VIDEO_DEV && MEDIA_SDR_SUPPORT && I2C select REGMAP_I2C select V4L2_ASYNC help @@ -684,7 +684,7 @@ menu "Miscellaneous helper chips" config VIDEO_THS7303 tristate "THS7303/53 Video Amplifier" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C select V4L2_ASYNC help Support for TI THS7303/53 video amplifier @@ -694,7 +694,7 @@ config VIDEO_THS7303 config VIDEO_M52790 tristate "Mitsubishi M52790 A/V switch" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the Mitsubishi M52790 A/V switch. @@ -703,7 +703,7 @@ config VIDEO_M52790 config VIDEO_I2C tristate "I2C transport video support" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C select VIDEOBUF2_VMALLOC imply HWMON help @@ -717,7 +717,7 @@ config VIDEO_I2C config VIDEO_ST_MIPID02 tristate "STMicroelectronics MIPID02 CSI-2 to PARALLEL bridge" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -745,7 +745,7 @@ config VIDEO_CCS_PLL config VIDEO_HI556 tristate "Hynix Hi-556 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -758,7 +758,7 @@ config VIDEO_HI556 config VIDEO_HI846 tristate "Hynix Hi-846 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -771,7 +771,7 @@ config VIDEO_HI846 config VIDEO_HI847 tristate "Hynix Hi-847 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -784,7 +784,7 @@ config VIDEO_HI847 config VIDEO_IMX208 tristate "Sony IMX208 sensor support" - depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API + depends on I2C && VIDEO_DEV && VIDEO_V4L2_SUBDEV_API depends on MEDIA_CAMERA_SUPPORT help This is a Video4Linux2 sensor driver for the Sony @@ -795,7 +795,7 @@ config VIDEO_IMX208 config VIDEO_IMX214 tristate "Sony IMX214 sensor support" - depends on GPIOLIB && I2C && VIDEO_V4L2 + depends on GPIOLIB && I2C && VIDEO_DEV select V4L2_FWNODE select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API @@ -809,7 +809,7 @@ config VIDEO_IMX214 config VIDEO_IMX219 tristate "Sony IMX219 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -822,7 +822,7 @@ config VIDEO_IMX219 config VIDEO_IMX258 tristate "Sony IMX258 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API help @@ -834,7 +834,7 @@ config VIDEO_IMX258 config VIDEO_IMX274 tristate "Sony IMX274 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select REGMAP_I2C @@ -844,7 +844,7 @@ config VIDEO_IMX274 config VIDEO_IMX290 tristate "Sony IMX290 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select REGMAP_I2C @@ -858,7 +858,7 @@ config VIDEO_IMX290 config VIDEO_IMX319 tristate "Sony IMX319 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API help @@ -871,7 +871,7 @@ config VIDEO_IMX319 config VIDEO_IMX334 tristate "Sony IMX334 sensor support" depends on OF_GPIO - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select VIDEO_V4L2_SUBDEV_API select MEDIA_CONTROLLER select V4L2_FWNODE @@ -885,7 +885,7 @@ config VIDEO_IMX334 config VIDEO_IMX335 tristate "Sony IMX335 sensor support" depends on OF_GPIO - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select VIDEO_V4L2_SUBDEV_API select MEDIA_CONTROLLER select V4L2_FWNODE @@ -898,7 +898,7 @@ config VIDEO_IMX335 config VIDEO_IMX355 tristate "Sony IMX355 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API help @@ -911,7 +911,7 @@ config VIDEO_IMX355 config VIDEO_IMX412 tristate "Sony IMX412 sensor support" depends on OF_GPIO - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select VIDEO_V4L2_SUBDEV_API select MEDIA_CONTROLLER select V4L2_FWNODE @@ -924,7 +924,7 @@ config VIDEO_IMX412 config VIDEO_OG01A1B tristate "OmniVision OG01A1B sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -937,7 +937,7 @@ config VIDEO_OG01A1B config VIDEO_OV02A10 tristate "OmniVision OV02A10 sensor support" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -950,7 +950,7 @@ config VIDEO_OV02A10 config VIDEO_OV08D10 tristate "OmniVision OV08D10 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -963,7 +963,7 @@ config VIDEO_OV08D10 config VIDEO_OV2640 tristate "OmniVision OV2640 sensor support" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help This is a Video4Linux2 sensor driver for the OmniVision OV2640 camera. @@ -973,7 +973,7 @@ config VIDEO_OV2640 config VIDEO_OV2659 tristate "OmniVision OV2659 sensor support" - depends on VIDEO_V4L2 && I2C && GPIOLIB + depends on VIDEO_DEV && I2C && GPIOLIB select V4L2_FWNODE help This is a Video4Linux2 sensor driver for the OmniVision @@ -984,7 +984,7 @@ config VIDEO_OV2659 config VIDEO_OV2680 tristate "OmniVision OV2680 sensor support" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C select MEDIA_CONTROLLER select V4L2_FWNODE help @@ -996,7 +996,7 @@ config VIDEO_OV2680 config VIDEO_OV2685 tristate "OmniVision OV2685 sensor support" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C select MEDIA_CONTROLLER select V4L2_FWNODE help @@ -1008,7 +1008,7 @@ config VIDEO_OV2685 config VIDEO_OV2740 tristate "OmniVision OV2740 sensor support" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C depends on ACPI || COMPILE_TEST select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API @@ -1024,7 +1024,7 @@ config VIDEO_OV2740 config VIDEO_OV5640 tristate "OmniVision OV5640 sensor support" depends on OF - depends on GPIOLIB && VIDEO_V4L2 && I2C + depends on GPIOLIB && VIDEO_DEV && I2C select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -1035,7 +1035,7 @@ config VIDEO_OV5640 config VIDEO_OV5645 tristate "OmniVision OV5645 sensor support" depends on OF - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -1048,7 +1048,7 @@ config VIDEO_OV5645 config VIDEO_OV5647 tristate "OmniVision OV5647 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -1061,7 +1061,7 @@ config VIDEO_OV5647 config VIDEO_OV5648 tristate "OmniVision OV5648 sensor support" - depends on I2C && PM && VIDEO_V4L2 + depends on I2C && PM && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -1074,7 +1074,7 @@ config VIDEO_OV5648 config VIDEO_OV6650 tristate "OmniVision OV6650 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV help This is a Video4Linux2 sensor driver for the OmniVision OV6650 camera. @@ -1084,7 +1084,7 @@ config VIDEO_OV6650 config VIDEO_OV5670 tristate "OmniVision OV5670 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -1097,7 +1097,7 @@ config VIDEO_OV5670 config VIDEO_OV5675 tristate "OmniVision OV5675 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -1110,7 +1110,7 @@ config VIDEO_OV5675 config VIDEO_OV5693 tristate "OmniVision OV5693 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select V4L2_FWNODE help This is a Video4Linux2 sensor driver for the OmniVision @@ -1121,7 +1121,7 @@ config VIDEO_OV5693 config VIDEO_OV5695 tristate "OmniVision OV5695 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select V4L2_FWNODE help This is a Video4Linux2 sensor driver for the OmniVision @@ -1132,7 +1132,7 @@ config VIDEO_OV5695 config VIDEO_OV7251 tristate "OmniVision OV7251 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -1145,7 +1145,7 @@ config VIDEO_OV7251 config VIDEO_OV772X tristate "OmniVision OV772x sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select REGMAP_SCCB select V4L2_FWNODE help @@ -1157,7 +1157,7 @@ config VIDEO_OV772X config VIDEO_OV7640 tristate "OmniVision OV7640 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV help This is a Video4Linux2 sensor driver for the OmniVision OV7640 camera. @@ -1167,7 +1167,7 @@ config VIDEO_OV7640 config VIDEO_OV7670 tristate "OmniVision OV7670 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select V4L2_FWNODE help This is a Video4Linux2 sensor driver for the OmniVision @@ -1176,7 +1176,7 @@ config VIDEO_OV7670 config VIDEO_OV7740 tristate "OmniVision OV7740 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select REGMAP_SCCB help This is a Video4Linux2 sensor driver for the OmniVision @@ -1184,7 +1184,7 @@ config VIDEO_OV7740 config VIDEO_OV8856 tristate "OmniVision OV8856 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -1197,7 +1197,7 @@ config VIDEO_OV8856 config VIDEO_OV8865 tristate "OmniVision OV8865 sensor support" - depends on I2C && PM && VIDEO_V4L2 + depends on I2C && PM && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -1211,7 +1211,7 @@ config VIDEO_OV8865 config VIDEO_OV9282 tristate "OmniVision OV9282 sensor support" depends on OF_GPIO - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select VIDEO_V4L2_SUBDEV_API select MEDIA_CONTROLLER select V4L2_FWNODE @@ -1224,14 +1224,14 @@ config VIDEO_OV9282 config VIDEO_OV9640 tristate "OmniVision OV9640 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV help This is a Video4Linux2 sensor driver for the OmniVision OV9640 camera sensor. config VIDEO_OV9650 tristate "OmniVision OV9650/OV9652 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select REGMAP_SCCB @@ -1241,7 +1241,7 @@ config VIDEO_OV9650 config VIDEO_OV9734 tristate "OmniVision OV9734 sensor support" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C depends on ACPI || COMPILE_TEST select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API @@ -1255,7 +1255,7 @@ config VIDEO_OV9734 config VIDEO_OV13858 tristate "OmniVision OV13858 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -1265,7 +1265,7 @@ config VIDEO_OV13858 config VIDEO_OV13B10 tristate "OmniVision OV13B10 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -1275,7 +1275,7 @@ config VIDEO_OV13B10 config VIDEO_VS6624 tristate "ST VS6624 sensor support" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help This is a Video4Linux2 sensor driver for the ST VS6624 camera. @@ -1285,7 +1285,7 @@ config VIDEO_VS6624 config VIDEO_MT9M001 tristate "mt9m001 support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API help @@ -1294,7 +1294,7 @@ config VIDEO_MT9M001 config VIDEO_MT9M032 tristate "MT9M032 camera sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select VIDEO_APTINA_PLL @@ -1304,7 +1304,7 @@ config VIDEO_MT9M032 config VIDEO_MT9M111 tristate "mt9m111, mt9m112 and mt9m131 support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select V4L2_FWNODE help This driver supports MT9M111, MT9M112 and MT9M131 cameras from @@ -1312,7 +1312,7 @@ config VIDEO_MT9M111 config VIDEO_MT9P031 tristate "Aptina MT9P031 support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select VIDEO_APTINA_PLL @@ -1323,7 +1323,7 @@ config VIDEO_MT9P031 config VIDEO_MT9T001 tristate "Aptina MT9T001 support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API help @@ -1332,7 +1332,7 @@ config VIDEO_MT9T001 config VIDEO_MT9T112 tristate "Aptina MT9T111/MT9T112 support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV help This is a Video4Linux2 sensor driver for the Aptina (Micron) MT9T111 and MT9T112 3 Mpixel camera. @@ -1342,7 +1342,7 @@ config VIDEO_MT9T112 config VIDEO_MT9V011 tristate "Micron mt9v011 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV help This is a Video4Linux2 sensor driver for the Micron mt0v011 1.3 Mpixel camera. It currently only works with the @@ -1350,7 +1350,7 @@ config VIDEO_MT9V011 config VIDEO_MT9V032 tristate "Micron MT9V032 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select REGMAP_I2C @@ -1361,7 +1361,7 @@ config VIDEO_MT9V032 config VIDEO_MT9V111 tristate "Aptina MT9V111 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV help This is a Video4Linux2 sensor driver for the Aptina/Micron MT9V111 sensor. @@ -1371,13 +1371,13 @@ config VIDEO_MT9V111 config VIDEO_SR030PC30 tristate "Siliconfile SR030PC30 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV help This driver supports SR030PC30 VGA camera from Siliconfile config VIDEO_NOON010PC30 tristate "Siliconfile NOON010PC30 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API help @@ -1418,7 +1418,7 @@ config VIDEO_RDACM21 config VIDEO_RJ54N1 tristate "Sharp RJ54N1CB0C sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV help This is a V4L2 sensor driver for Sharp RJ54N1CB0C CMOS image sensor. @@ -1428,7 +1428,7 @@ config VIDEO_RJ54N1 config VIDEO_S5K6AA tristate "Samsung S5K6AAFX sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API help @@ -1437,7 +1437,7 @@ config VIDEO_S5K6AA config VIDEO_S5K6A3 tristate "Samsung S5K6A3 sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API help @@ -1446,7 +1446,7 @@ config VIDEO_S5K6A3 config VIDEO_S5K4ECGX tristate "Samsung S5K4ECGX sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select CRC32 @@ -1456,7 +1456,7 @@ config VIDEO_S5K4ECGX config VIDEO_S5K5BAF tristate "Samsung S5K5BAF sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -1469,7 +1469,7 @@ source "drivers/media/i2c/et8ek8/Kconfig" config VIDEO_S5C73M3 tristate "Samsung S5C73M3 sensor support" - depends on I2C && SPI && VIDEO_V4L2 + depends on I2C && SPI && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -1484,7 +1484,7 @@ menu "Lens drivers" config VIDEO_AD5820 tristate "AD5820 lens voice coil support" - depends on GPIOLIB && I2C && VIDEO_V4L2 + depends on GPIOLIB && I2C && VIDEO_DEV select MEDIA_CONTROLLER select V4L2_ASYNC help @@ -1493,7 +1493,7 @@ config VIDEO_AD5820 config VIDEO_AK7375 tristate "AK7375 lens voice coil support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_ASYNC @@ -1505,7 +1505,7 @@ config VIDEO_AK7375 config VIDEO_DW9714 tristate "DW9714 lens voice coil support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_ASYNC @@ -1517,7 +1517,7 @@ config VIDEO_DW9714 config VIDEO_DW9768 tristate "DW9768 lens voice coil support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -1529,7 +1529,7 @@ config VIDEO_DW9768 config VIDEO_DW9807_VCM tristate "DW9807 lens voice coil support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_ASYNC @@ -1546,7 +1546,7 @@ menu "Flash devices" config VIDEO_ADP1653 tristate "ADP1653 flash support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select V4L2_ASYNC help @@ -1555,7 +1555,7 @@ config VIDEO_ADP1653 config VIDEO_LM3560 tristate "LM3560 dual flash driver support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select REGMAP_I2C select V4L2_ASYNC @@ -1565,7 +1565,7 @@ config VIDEO_LM3560 config VIDEO_LM3646 tristate "LM3646 dual flash driver support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select REGMAP_I2C select V4L2_ASYNC @@ -1574,4 +1574,4 @@ config VIDEO_LM3646 flash, torch LEDs. endmenu -endif # VIDEO_V4L2 +endif # VIDEO_DEV diff --git a/drivers/media/i2c/ccs/Kconfig b/drivers/media/i2c/ccs/Kconfig index 59f35b33ddc1..71671db3d993 100644 --- a/drivers/media/i2c/ccs/Kconfig +++ b/drivers/media/i2c/ccs/Kconfig @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-only config VIDEO_CCS tristate "MIPI CCS/SMIA++/SMIA sensor support" - depends on I2C && VIDEO_V4L2 && HAVE_CLK + depends on I2C && VIDEO_DEV && HAVE_CLK select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select VIDEO_CCS_PLL diff --git a/drivers/media/i2c/cx25840/Kconfig b/drivers/media/i2c/cx25840/Kconfig index e392f8e023f6..46f15702cf55 100644 --- a/drivers/media/i2c/cx25840/Kconfig +++ b/drivers/media/i2c/cx25840/Kconfig @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-only config VIDEO_CX25840 tristate "Conexant CX2584x audio/video decoders" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C help Support for the Conexant CX2584x audio/video decoders. diff --git a/drivers/media/i2c/et8ek8/Kconfig b/drivers/media/i2c/et8ek8/Kconfig index afcc4ea764f6..398dd4d21df1 100644 --- a/drivers/media/i2c/et8ek8/Kconfig +++ b/drivers/media/i2c/et8ek8/Kconfig @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-only config VIDEO_ET8EK8 tristate "ET8EK8 camera sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE diff --git a/drivers/media/i2c/m5mols/Kconfig b/drivers/media/i2c/m5mols/Kconfig index 6f0ef33b7ee1..7f0af32f4376 100644 --- a/drivers/media/i2c/m5mols/Kconfig +++ b/drivers/media/i2c/m5mols/Kconfig @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-only config VIDEO_M5MOLS tristate "Fujitsu M-5MOLS 8MP sensor support" - depends on I2C && VIDEO_V4L2 + depends on I2C && VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API help diff --git a/drivers/media/pci/Kconfig b/drivers/media/pci/Kconfig index 2cd8e328dda9..92b156530d91 100644 --- a/drivers/media/pci/Kconfig +++ b/drivers/media/pci/Kconfig @@ -61,7 +61,7 @@ config VIDEO_PCI_SKELETON tristate "Skeleton PCI V4L2 driver" depends on SAMPLES depends on MEDIA_TEST_SUPPORT - depends on PCI && VIDEO_V4L2 + depends on PCI && VIDEO_DEV select VIDEOBUF2_MEMOPS select VIDEOBUF2_DMA_CONTIG help diff --git a/drivers/media/pci/bt8xx/Kconfig b/drivers/media/pci/bt8xx/Kconfig index 3f56decbb681..927190281bd5 100644 --- a/drivers/media/pci/bt8xx/Kconfig +++ b/drivers/media/pci/bt8xx/Kconfig @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-only config VIDEO_BT848 tristate "BT848 Video For Linux" - depends on VIDEO_DEV && PCI && I2C && VIDEO_V4L2 + depends on PCI && I2C && VIDEO_DEV select I2C_ALGOBIT select VIDEOBUF_DMA_SG depends on RC_CORE diff --git a/drivers/media/pci/cobalt/Kconfig b/drivers/media/pci/cobalt/Kconfig index d8d9ea6b09bc..e13e36141199 100644 --- a/drivers/media/pci/cobalt/Kconfig +++ b/drivers/media/pci/cobalt/Kconfig @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-only config VIDEO_COBALT tristate "Cisco Cobalt support" - depends on VIDEO_V4L2 && I2C + depends on VIDEO_DEV && I2C depends on PCI_MSI && MTD_COMPLEX_MAPPINGS depends on (GPIOLIB && DRM_I2C_ADV7511=n) || COMPILE_TEST depends on SND diff --git a/drivers/media/pci/cx18/Kconfig b/drivers/media/pci/cx18/Kconfig index 7074a1071302..a4e32fdcfd3d 100644 --- a/drivers/media/pci/cx18/Kconfig +++ b/drivers/media/pci/cx18/Kconfig @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-only config VIDEO_CX18 tristate "Conexant cx23418 MPEG encoder support" - depends on VIDEO_V4L2 && DVB_CORE && PCI && I2C + depends on VIDEO_DEV && DVB_CORE && PCI && I2C select I2C_ALGOBIT select VIDEOBUF_VMALLOC depends on RC_CORE diff --git a/drivers/media/pci/dt3155/Kconfig b/drivers/media/pci/dt3155/Kconfig index a3d24b8a719b..2b76de195aa5 100644 --- a/drivers/media/pci/dt3155/Kconfig +++ b/drivers/media/pci/dt3155/Kconfig @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-only config VIDEO_DT3155 tristate "DT3155 frame grabber" - depends on PCI && VIDEO_DEV && VIDEO_V4L2 + depends on PCI && VIDEO_DEV select VIDEOBUF2_DMA_CONTIG help Enables dt3155 device driver for the DataTranslation DT3155 frame grabber. diff --git a/drivers/media/pci/intel/ipu3/Kconfig b/drivers/media/pci/intel/ipu3/Kconfig index dce8274c81e6..39bd3be0b43d 100644 --- a/drivers/media/pci/intel/ipu3/Kconfig +++ b/drivers/media/pci/intel/ipu3/Kconfig @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-only config VIDEO_IPU3_CIO2 tristate "Intel ipu3-cio2 driver" - depends on VIDEO_V4L2 && PCI + depends on VIDEO_DEV && PCI depends on ACPI || COMPILE_TEST depends on X86 select MEDIA_CONTROLLER diff --git a/drivers/media/pci/ivtv/Kconfig b/drivers/media/pci/ivtv/Kconfig index e70502902b73..9be52101bc4f 100644 --- a/drivers/media/pci/ivtv/Kconfig +++ b/drivers/media/pci/ivtv/Kconfig @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-only config VIDEO_IVTV tristate "Conexant cx23416/cx23415 MPEG encoder/decoder support" - depends on VIDEO_V4L2 && PCI && I2C + depends on VIDEO_DEV && PCI && I2C select I2C_ALGOBIT depends on RC_CORE select VIDEO_TUNER diff --git a/drivers/media/pci/meye/Kconfig b/drivers/media/pci/meye/Kconfig index fed1f4a01817..3e69b66f1a5b 100644 --- a/drivers/media/pci/meye/Kconfig +++ b/drivers/media/pci/meye/Kconfig @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-only config VIDEO_MEYE tristate "Sony Vaio Picturebook Motion Eye Video For Linux" - depends on PCI && VIDEO_V4L2 + depends on PCI && VIDEO_DEV depends on SONY_LAPTOP depends on X86 || COMPILE_TEST help diff --git a/drivers/media/pci/saa7146/Kconfig b/drivers/media/pci/saa7146/Kconfig index 8e83cd044075..3bbb68a0ed7b 100644 --- a/drivers/media/pci/saa7146/Kconfig +++ b/drivers/media/pci/saa7146/Kconfig @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-only config VIDEO_HEXIUM_GEMINI tristate "Hexium Gemini frame grabber" - depends on PCI && VIDEO_V4L2 && I2C + depends on PCI && VIDEO_DEV && I2C select VIDEO_SAA7146_VV help This is a video4linux driver for the Hexium Gemini frame @@ -13,7 +13,7 @@ config VIDEO_HEXIUM_GEMINI config VIDEO_HEXIUM_ORION tristate "Hexium HV-PCI6 and Orion frame grabber" - depends on PCI && VIDEO_V4L2 && I2C + depends on PCI && VIDEO_DEV && I2C select VIDEO_SAA7146_VV help This is a video4linux driver for the Hexium HV-PCI6 and @@ -24,7 +24,7 @@ config VIDEO_HEXIUM_ORION config VIDEO_MXB tristate "Siemens-Nixdorf 'Multimedia eXtension Board'" - depends on PCI && VIDEO_V4L2 && I2C + depends on PCI && VIDEO_DEV && I2C select VIDEO_SAA7146_VV select VIDEO_TUNER select VIDEO_SAA711X if MEDIA_SUBDRV_AUTOSELECT diff --git a/drivers/media/pci/sta2x11/Kconfig b/drivers/media/pci/sta2x11/Kconfig index 27bb78513631..a96e170ab04e 100644 --- a/drivers/media/pci/sta2x11/Kconfig +++ b/drivers/media/pci/sta2x11/Kconfig @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-only config STA2X11_VIP tristate "STA2X11 VIP Video For Linux" - depends on PCI && VIDEO_V4L2 && VIRT_TO_BUS && I2C + depends on PCI && VIDEO_DEV && VIRT_TO_BUS && I2C depends on STA2X11 || COMPILE_TEST select GPIOLIB if MEDIA_SUBDRV_AUTOSELECT select VIDEO_ADV7180 if MEDIA_SUBDRV_AUTOSELECT diff --git a/drivers/media/pci/tw5864/Kconfig b/drivers/media/pci/tw5864/Kconfig index d376d4ed65b9..0a0f3191f238 100644 --- a/drivers/media/pci/tw5864/Kconfig +++ b/drivers/media/pci/tw5864/Kconfig @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-only config VIDEO_TW5864 tristate "Techwell TW5864 video/audio grabber and encoder" - depends on VIDEO_DEV && PCI && VIDEO_V4L2 + depends on VIDEO_DEV && PCI && VIDEO_DEV select VIDEOBUF2_DMA_CONTIG help Support for boards based on Techwell TW5864 chip which provides diff --git a/drivers/media/pci/tw68/Kconfig b/drivers/media/pci/tw68/Kconfig index af0cb60337bb..ef29be7db493 100644 --- a/drivers/media/pci/tw68/Kconfig +++ b/drivers/media/pci/tw68/Kconfig @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-only config VIDEO_TW68 tristate "Techwell tw68x Video For Linux" - depends on VIDEO_DEV && PCI && VIDEO_V4L2 + depends on VIDEO_DEV && PCI && VIDEO_DEV select VIDEOBUF2_DMA_SG help Support for Techwell tw68xx based frame grabber boards. diff --git a/drivers/media/pci/tw686x/Kconfig b/drivers/media/pci/tw686x/Kconfig index 631c90868b8b..a4edad6aaf89 100644 --- a/drivers/media/pci/tw686x/Kconfig +++ b/drivers/media/pci/tw686x/Kconfig @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-only config VIDEO_TW686X tristate "Intersil/Techwell TW686x video capture cards" - depends on PCI && VIDEO_DEV && VIDEO_V4L2 && SND + depends on PCI && VIDEO_DEV && SND select VIDEOBUF2_VMALLOC select VIDEOBUF2_DMA_CONTIG select VIDEOBUF2_DMA_SG diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig index 721f27ef0130..f15ab9739823 100644 --- a/drivers/media/platform/Kconfig +++ b/drivers/media/platform/Kconfig @@ -30,7 +30,7 @@ config DVB_PLATFORM_DRIVERS config V4L_MEM2MEM_DRIVERS bool "Memory-to-memory multimedia devices" - depends on VIDEO_V4L2 + depends on VIDEO_DEV help Say Y here to enable selecting drivers for V4L devices that use system memory for both source and destination buffers, as opposed @@ -42,7 +42,7 @@ config V4L_MEM2MEM_DRIVERS config VIDEO_MEM2MEM_DEINTERLACE tristate "Deinterlace support" depends on V4L_MEM2MEM_DRIVERS - depends on VIDEO_DEV && VIDEO_V4L2 + depends on VIDEO_DEV depends on HAS_DMA select VIDEOBUF2_DMA_CONTIG select V4L2_MEM2MEM_DEV @@ -53,7 +53,7 @@ config VIDEO_MUX tristate "Video Multiplexer" depends on V4L_PLATFORM_DRIVERS select MULTIPLEXER - depends on VIDEO_V4L2 && OF + depends on VIDEO_DEV && OF select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select REGMAP diff --git a/drivers/media/platform/allegro-dvt/Kconfig b/drivers/media/platform/allegro-dvt/Kconfig index dd528e9d0958..c3f76a6fb6f8 100644 --- a/drivers/media/platform/allegro-dvt/Kconfig +++ b/drivers/media/platform/allegro-dvt/Kconfig @@ -2,7 +2,7 @@ config VIDEO_ALLEGRO_DVT tristate "Allegro DVT Video IP Core" depends on V4L_MEM2MEM_DRIVERS - depends on VIDEO_DEV && VIDEO_V4L2 + depends on VIDEO_DEV depends on ARCH_ZYNQMP || COMPILE_TEST select V4L2_MEM2MEM_DEV select VIDEOBUF2_DMA_CONTIG diff --git a/drivers/media/platform/am437x/Kconfig b/drivers/media/platform/am437x/Kconfig index 619cefca7590..2e24fff7e625 100644 --- a/drivers/media/platform/am437x/Kconfig +++ b/drivers/media/platform/am437x/Kconfig @@ -2,7 +2,7 @@ config VIDEO_AM437X_VPFE tristate "TI AM437x VPFE video capture driver" depends on V4L_PLATFORM_DRIVERS - depends on VIDEO_V4L2 + depends on VIDEO_DEV depends on SOC_AM43XX || COMPILE_TEST select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API diff --git a/drivers/media/platform/amphion/Kconfig b/drivers/media/platform/amphion/Kconfig index 13899649f766..e9ddca7a9e4a 100644 --- a/drivers/media/platform/amphion/Kconfig +++ b/drivers/media/platform/amphion/Kconfig @@ -5,7 +5,7 @@ config VIDEO_AMPHION_VPU depends on ARCH_MXC || COMPILE_TEST depends on MEDIA_SUPPORT depends on VIDEO_DEV - depends on VIDEO_V4L2 + depends on VIDEO_DEV select MEDIA_CONTROLLER select V4L2_MEM2MEM_DEV select VIDEOBUF2_DMA_CONTIG diff --git a/drivers/media/platform/aspeed/Kconfig b/drivers/media/platform/aspeed/Kconfig index 5025e892844c..810902c8a85a 100644 --- a/drivers/media/platform/aspeed/Kconfig +++ b/drivers/media/platform/aspeed/Kconfig @@ -2,7 +2,7 @@ config VIDEO_ASPEED tristate "Aspeed AST2400 and AST2500 Video Engine driver" depends on V4L_PLATFORM_DRIVERS - depends on VIDEO_V4L2 + depends on VIDEO_DEV select VIDEOBUF2_DMA_CONTIG help Support for the Aspeed Video Engine (VE) embedded in the Aspeed diff --git a/drivers/media/platform/atmel/Kconfig b/drivers/media/platform/atmel/Kconfig index 5122290729ae..abeb0ac595b3 100644 --- a/drivers/media/platform/atmel/Kconfig +++ b/drivers/media/platform/atmel/Kconfig @@ -2,7 +2,7 @@ config VIDEO_ATMEL_ISC tristate "ATMEL Image Sensor Controller (ISC) support" depends on V4L_PLATFORM_DRIVERS - depends on VIDEO_V4L2 && COMMON_CLK + depends on VIDEO_DEV && COMMON_CLK depends on ARCH_AT91 || COMPILE_TEST select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API @@ -17,7 +17,7 @@ config VIDEO_ATMEL_ISC config VIDEO_ATMEL_XISC tristate "ATMEL eXtended Image Sensor Controller (XISC) support" depends on V4L_PLATFORM_DRIVERS - depends on VIDEO_V4L2 && COMMON_CLK && VIDEO_V4L2_SUBDEV_API + depends on VIDEO_DEV && COMMON_CLK && VIDEO_V4L2_SUBDEV_API depends on ARCH_AT91 || COMPILE_TEST select VIDEOBUF2_DMA_CONTIG select REGMAP_MMIO @@ -36,7 +36,7 @@ config VIDEO_ATMEL_ISC_BASE config VIDEO_ATMEL_ISI tristate "ATMEL Image Sensor Interface (ISI) support" depends on V4L_PLATFORM_DRIVERS - depends on VIDEO_V4L2 && OF + depends on VIDEO_DEV && OF depends on ARCH_AT91 || COMPILE_TEST select VIDEOBUF2_DMA_CONTIG select V4L2_FWNODE @@ -47,7 +47,7 @@ config VIDEO_ATMEL_ISI config VIDEO_MICROCHIP_CSI2DC tristate "Microchip CSI2 Demux Controller" depends on V4L_PLATFORM_DRIVERS - depends on VIDEO_V4L2 && COMMON_CLK && OF + depends on VIDEO_DEV && COMMON_CLK && OF depends on ARCH_AT91 || COMPILE_TEST select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API diff --git a/drivers/media/platform/cadence/Kconfig b/drivers/media/platform/cadence/Kconfig index 79a7e9fb2575..acfa0ef6247e 100644 --- a/drivers/media/platform/cadence/Kconfig +++ b/drivers/media/platform/cadence/Kconfig @@ -13,7 +13,7 @@ if VIDEO_CADENCE config VIDEO_CADENCE_CSI2RX tristate "Cadence MIPI-CSI2 RX Controller" - depends on VIDEO_V4L2 + depends on VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE @@ -25,7 +25,7 @@ config VIDEO_CADENCE_CSI2RX config VIDEO_CADENCE_CSI2TX tristate "Cadence MIPI-CSI2 TX Controller" - depends on VIDEO_V4L2 + depends on VIDEO_DEV select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE diff --git a/drivers/media/platform/coda/Kconfig b/drivers/media/platform/coda/Kconfig index ae495fd7b25a..22b654018f3c 100644 --- a/drivers/media/platform/coda/Kconfig +++ b/drivers/media/platform/coda/Kconfig @@ -2,7 +2,7 @@ config VIDEO_CODA tristate "Chips&Media Coda multi-standard codec IP" depends on V4L_MEM2MEM_DRIVERS - depends on VIDEO_DEV && VIDEO_V4L2 && OF && (ARCH_MXC || COMPILE_TEST) + depends on VIDEO_DEV && OF && (ARCH_MXC || COMPILE_TEST) select SRAM select VIDEOBUF2_DMA_CONTIG select VIDEOBUF2_VMALLOC diff --git a/drivers/media/platform/davinci/Kconfig b/drivers/media/platform/davinci/Kconfig index 7e5f92b0082a..c61e697aeb12 100644 --- a/drivers/media/platform/davinci/Kconfig +++ b/drivers/media/platform/davinci/Kconfig @@ -2,7 +2,7 @@ config VIDEO_DAVINCI_VPIF_DISPLAY tristate "TI DaVinci VPIF V4L2-Display driver" depends on V4L_PLATFORM_DRIVERS - depends on VIDEO_V4L2 + depends on VIDEO_DEV depends on ARCH_DAVINCI || COMPILE_TEST depends on I2C select VIDEOBUF2_DMA_CONTIG @@ -19,7 +19,7 @@ config VIDEO_DAVINCI_VPIF_DISPLAY config VIDEO_DAVINCI_VPIF_CAPTURE tristate "TI DaVinci VPIF video capture driver" depends on V4L_PLATFORM_DRIVERS - depends on VIDEO_V4L2 + depends on VIDEO_DEV depends on ARCH_DAVINCI || COMPILE_TEST depends on I2C select VIDEOBUF2_DMA_CONTIG @@ -35,7 +35,7 @@ config VIDEO_DAVINCI_VPIF_CAPTURE config VIDEO_DM6446_CCDC tristate "TI DM6446 CCDC video capture driver" depends on V4L_PLATFORM_DRIVERS - depends on VIDEO_V4L2 + depends on VIDEO_DEV depends on ARCH_DAVINCI || COMPILE_TEST depends on I2C select VIDEOBUF_DMA_CONTIG @@ -52,7 +52,7 @@ config VIDEO_DM6446_CCDC config VIDEO_DM355_CCDC tristate "TI DM355 CCDC video capture driver" depends on V4L_PLATFORM_DRIVERS - depends on VIDEO_V4L2 + depends on VIDEO_DEV depends on ARCH_DAVINCI || COMPILE_TEST depends on I2C select VIDEOBUF_DMA_CONTIG @@ -69,7 +69,7 @@ config VIDEO_DM355_CCDC config VIDEO_DM365_ISIF tristate "TI DM365 ISIF video capture driver" depends on V4L_PLATFORM_DRIVERS - depends on VIDEO_V4L2 + depends on VIDEO_DEV depends on ARCH_DAVINCI || COMPILE_TEST depends on I2C select VIDEOBUF_DMA_CONTIG @@ -84,7 +84,7 @@ config VIDEO_DM365_ISIF config VIDEO_DAVINCI_VPBE_DISPLAY tristate "TI DaVinci VPBE V4L2-Display driver" depends on V4L_PLATFORM_DRIVERS - depends on VIDEO_V4L2 + depends on VIDEO_DEV depends on ARCH_DAVINCI || COMPILE_TEST depends on I2C select VIDEOBUF2_DMA_CONTIG diff --git a/drivers/media/platform/exynos-gsc/Kconfig b/drivers/media/platform/exynos-gsc/Kconfig index f9bdffe915b4..7244d63c9646 100644 --- a/drivers/media/platform/exynos-gsc/Kconfig +++ b/drivers/media/platform/exynos-gsc/Kconfig @@ -2,7 +2,7 @@ config VIDEO_SAMSUNG_EXYNOS_GSC tristate "Samsung Exynos G-Scaler driver" depends on V4L_MEM2MEM_DRIVERS - depends on VIDEO_DEV && VIDEO_V4L2 + depends on VIDEO_DEV depends on ARCH_EXYNOS || COMPILE_TEST select VIDEOBUF2_DMA_CONTIG select V4L2_MEM2MEM_DEV diff --git a/drivers/media/platform/exynos4-is/Kconfig b/drivers/media/platform/exynos4-is/Kconfig index 868bb86c7699..da33faa7132e 100644 --- a/drivers/media/platform/exynos4-is/Kconfig +++ b/drivers/media/platform/exynos4-is/Kconfig @@ -3,7 +3,7 @@ config VIDEO_SAMSUNG_EXYNOS4_IS tristate "Samsung S5P/EXYNOS4 SoC series Camera Subsystem driver" depends on ... [truncated message content] |
From: Corentin L. <cl...@ba...> - 2021-12-14 16:49:31
|
We need to empty zoran_init() for removing it later. Furthermore, this permit to use pci_xxx instead of pr_xxx for prettier printing. Signed-off-by: Corentin Labbe <cl...@ba...> --- drivers/staging/media/zoran/zoran_card.c | 64 ++++++++++++------------ 1 file changed, 33 insertions(+), 31 deletions(-) diff --git a/drivers/staging/media/zoran/zoran_card.c b/drivers/staging/media/zoran/zoran_card.c index f259585b0689..3bc0e64f1007 100644 --- a/drivers/staging/media/zoran/zoran_card.c +++ b/drivers/staging/media/zoran/zoran_card.c @@ -1067,6 +1067,39 @@ static int zoran_probe(struct pci_dev *pdev, const struct pci_device_id *ent) unsigned int nr; int err; + pci_info(pdev, "Zoran MJPEG board driver version %s\n", ZORAN_VERSION); + + /* check the parameters we have been given, adjust if necessary */ + if (v4l_nbufs < 2) + v4l_nbufs = 2; + if (v4l_nbufs > VIDEO_MAX_FRAME) + v4l_nbufs = VIDEO_MAX_FRAME; + /* The user specifies the in KB, we want them in byte (and page aligned) */ + v4l_bufsize = PAGE_ALIGN(v4l_bufsize * 1024); + if (v4l_bufsize < 32768) + v4l_bufsize = 32768; + /* 2 MB is arbitrary but sufficient for the maximum possible images */ + if (v4l_bufsize > 2048 * 1024) + v4l_bufsize = 2048 * 1024; + if (jpg_nbufs < 4) + jpg_nbufs = 4; + if (jpg_nbufs > BUZ_MAX_FRAME) + jpg_nbufs = BUZ_MAX_FRAME; + jpg_bufsize = PAGE_ALIGN(jpg_bufsize * 1024); + if (jpg_bufsize < 8192) + jpg_bufsize = 8192; + if (jpg_bufsize > (512 * 1024)) + jpg_bufsize = 512 * 1024; + /* Use parameter for vidmem or try to find a video card */ + if (vidmem) + pci_info(pdev, "%s: Using supplied video memory base address @ 0x%lx\n", + ZORAN_NAME, vidmem); + + /* some mainboards might not do PCI-PCI data transfer well */ + if (pci_pci_problems & (PCIPCI_FAIL | PCIAGP_FAIL | PCIPCI_ALIMAGIK)) + pci_warn(pdev, "%s: chipset does not support reliable PCI-PCI DMA\n", + ZORAN_NAME); + err = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32)); if (err) return -ENODEV; @@ -1285,37 +1318,6 @@ static int __init zoran_init(void) { int res; - pr_info("Zoran MJPEG board driver version %s\n", ZORAN_VERSION); - - /* check the parameters we have been given, adjust if necessary */ - if (v4l_nbufs < 2) - v4l_nbufs = 2; - if (v4l_nbufs > VIDEO_MAX_FRAME) - v4l_nbufs = VIDEO_MAX_FRAME; - /* The user specifies the in KB, we want them in byte (and page aligned) */ - v4l_bufsize = PAGE_ALIGN(v4l_bufsize * 1024); - if (v4l_bufsize < 32768) - v4l_bufsize = 32768; - /* 2 MB is arbitrary but sufficient for the maximum possible images */ - if (v4l_bufsize > 2048 * 1024) - v4l_bufsize = 2048 * 1024; - if (jpg_nbufs < 4) - jpg_nbufs = 4; - if (jpg_nbufs > BUZ_MAX_FRAME) - jpg_nbufs = BUZ_MAX_FRAME; - jpg_bufsize = PAGE_ALIGN(jpg_bufsize * 1024); - if (jpg_bufsize < 8192) - jpg_bufsize = 8192; - if (jpg_bufsize > (512 * 1024)) - jpg_bufsize = 512 * 1024; - /* Use parameter for vidmem or try to find a video card */ - if (vidmem) - pr_info("%s: Using supplied video memory base address @ 0x%lx\n", ZORAN_NAME, vidmem); - - /* some mainboards might not do PCI-PCI data transfer well */ - if (pci_pci_problems & (PCIPCI_FAIL | PCIAGP_FAIL | PCIPCI_ALIMAGIK)) - pr_warn("%s: chipset does not support reliable PCI-PCI DMA\n", ZORAN_NAME); - res = pci_register_driver(&zoran_driver); if (res) { pr_err("Unable to register ZR36057 driver\n"); -- 2.32.0 |
From: Corentin L. <cl...@ba...> - 2021-12-14 16:48:30
|
It remains some unused code from old zoran buffer handling. Let's remove them. Signed-off-by: Corentin Labbe <cl...@ba...> --- drivers/staging/media/zoran/zoran.h | 14 --------- drivers/staging/media/zoran/zoran_card.c | 36 ---------------------- drivers/staging/media/zoran/zoran_device.h | 2 -- drivers/staging/media/zoran/zoran_driver.c | 2 -- 4 files changed, 54 deletions(-) diff --git a/drivers/staging/media/zoran/zoran.h b/drivers/staging/media/zoran/zoran.h index c36b33f42b16..654c95fa5aba 100644 --- a/drivers/staging/media/zoran/zoran.h +++ b/drivers/staging/media/zoran/zoran.h @@ -54,22 +54,8 @@ static inline struct zr_buffer *vb2_to_zr_buffer(struct vb2_buffer *vb) #define BUZ_NUM_STAT_COM 4 #define BUZ_MASK_STAT_COM 3 -#define BUZ_MAX_FRAME 256 /* Must be a power of 2 */ -#define BUZ_MASK_FRAME 255 /* Must be BUZ_MAX_FRAME-1 */ - #define BUZ_MAX_INPUT 16 -#if VIDEO_MAX_FRAME <= 32 -# define V4L_MAX_FRAME 32 -#elif VIDEO_MAX_FRAME <= 64 -# define V4L_MAX_FRAME 64 -#else -# error "Too many video frame buffers to handle" -#endif -#define V4L_MASK_FRAME (V4L_MAX_FRAME - 1) - -#define MAX_FRAME (BUZ_MAX_FRAME > VIDEO_MAX_FRAME ? BUZ_MAX_FRAME : VIDEO_MAX_FRAME) - #include "zr36057.h" enum card_type { diff --git a/drivers/staging/media/zoran/zoran_card.c b/drivers/staging/media/zoran/zoran_card.c index 4ea2fbf189b9..59df1e7691f9 100644 --- a/drivers/staging/media/zoran/zoran_card.c +++ b/drivers/staging/media/zoran/zoran_card.c @@ -60,20 +60,6 @@ static int video_nr[BUZ_MAX] = { [0 ... (BUZ_MAX - 1)] = -1 }; module_param_array(video_nr, int, NULL, 0444); MODULE_PARM_DESC(video_nr, "Video device number (-1=Auto)"); -int v4l_nbufs = 4; -int v4l_bufsize = 864; /* Everybody should be able to work with this setting */ -module_param(v4l_nbufs, int, 0644); -MODULE_PARM_DESC(v4l_nbufs, "Maximum number of V4L buffers to use"); -module_param(v4l_bufsize, int, 0644); -MODULE_PARM_DESC(v4l_bufsize, "Maximum size per V4L buffer (in kB)"); - -int jpg_nbufs = 32; -int jpg_bufsize = 512; /* max size for 100% quality full-PAL frame */ -module_param(jpg_nbufs, int, 0644); -MODULE_PARM_DESC(jpg_nbufs, "Maximum number of JPG buffers to use"); -module_param(jpg_bufsize, int, 0644); -MODULE_PARM_DESC(jpg_bufsize, "Maximum size per JPG buffer (in kB)"); - /* 1=Pass through TV signal when device is not used */ /* 0=Show color bar when device is not used (LML33: only if lml33dpath=1) */ int pass_through; @@ -1253,28 +1239,6 @@ static int zoran_probe(struct pci_dev *pdev, const struct pci_device_id *ent) pci_info(pdev, "Zoran MJPEG board driver version %s\n", ZORAN_VERSION); - /* check the parameters we have been given, adjust if necessary */ - if (v4l_nbufs < 2) - v4l_nbufs = 2; - if (v4l_nbufs > VIDEO_MAX_FRAME) - v4l_nbufs = VIDEO_MAX_FRAME; - /* The user specifies the in KB, we want them in byte (and page aligned) */ - v4l_bufsize = PAGE_ALIGN(v4l_bufsize * 1024); - if (v4l_bufsize < 32768) - v4l_bufsize = 32768; - /* 2 MB is arbitrary but sufficient for the maximum possible images */ - if (v4l_bufsize > 2048 * 1024) - v4l_bufsize = 2048 * 1024; - if (jpg_nbufs < 4) - jpg_nbufs = 4; - if (jpg_nbufs > BUZ_MAX_FRAME) - jpg_nbufs = BUZ_MAX_FRAME; - jpg_bufsize = PAGE_ALIGN(jpg_bufsize * 1024); - if (jpg_bufsize < 8192) - jpg_bufsize = 8192; - if (jpg_bufsize > (512 * 1024)) - jpg_bufsize = 512 * 1024; - /* some mainboards might not do PCI-PCI data transfer well */ if (pci_pci_problems & (PCIPCI_FAIL | PCIAGP_FAIL | PCIPCI_ALIMAGIK)) pci_warn(pdev, "%s: chipset does not support reliable PCI-PCI DMA\n", diff --git a/drivers/staging/media/zoran/zoran_device.h b/drivers/staging/media/zoran/zoran_device.h index 6c5d70238228..322b04c55d41 100644 --- a/drivers/staging/media/zoran/zoran_device.h +++ b/drivers/staging/media/zoran/zoran_device.h @@ -47,9 +47,7 @@ extern void zr36057_restart(struct zoran *zr); extern const struct zoran_format zoran_formats[]; -extern int v4l_nbufs; extern int v4l_bufsize; -extern int jpg_nbufs; extern int jpg_bufsize; extern int pass_through; diff --git a/drivers/staging/media/zoran/zoran_driver.c b/drivers/staging/media/zoran/zoran_driver.c index 551db338c7f7..31993c266976 100644 --- a/drivers/staging/media/zoran/zoran_driver.c +++ b/drivers/staging/media/zoran/zoran_driver.c @@ -153,8 +153,6 @@ static __u32 zoran_v4l2_calc_bufsize(struct zoran_jpg_settings *settings) result <<= 1; } - if (result > jpg_bufsize) - return jpg_bufsize; if (result < 8192) return 8192; -- 2.32.0 |
From: Corentin L. <cl...@ba...> - 2021-12-14 16:48:25
|
From: Hans Verkuil <han...@ci...> This makes no sense for MJPEG formats and it is just easier to drop support for this altogether. Signed-off-by: Hans Verkuil <han...@ci...> Signed-off-by: Corentin Labbe <cl...@ba...> --- drivers/staging/media/zoran/zoran_card.c | 2 +- drivers/staging/media/zoran/zoran_driver.c | 12 ------------ 2 files changed, 1 insertion(+), 13 deletions(-) diff --git a/drivers/staging/media/zoran/zoran_card.c b/drivers/staging/media/zoran/zoran_card.c index e6d3558323a9..59df1e7691f9 100644 --- a/drivers/staging/media/zoran/zoran_card.c +++ b/drivers/staging/media/zoran/zoran_card.c @@ -879,7 +879,7 @@ static int zoran_init_video_device(struct zoran *zr, struct video_device *video_ *video_dev = zoran_template; video_dev->v4l2_dev = &zr->v4l2_dev; video_dev->lock = &zr->lock; - video_dev->device_caps = V4L2_CAP_STREAMING | V4L2_CAP_READWRITE | dir; + video_dev->device_caps = V4L2_CAP_STREAMING | dir; strscpy(video_dev->name, ZR_DEVNAME(zr), sizeof(video_dev->name)); /* diff --git a/drivers/staging/media/zoran/zoran_driver.c b/drivers/staging/media/zoran/zoran_driver.c index 013efdecd582..4304b7e21709 100644 --- a/drivers/staging/media/zoran/zoran_driver.c +++ b/drivers/staging/media/zoran/zoran_driver.c @@ -734,15 +734,6 @@ static int zoran_s_selection(struct file *file, void *__fh, struct v4l2_selectio return res; } -static int zoran_g_parm(struct file *file, void *priv, struct v4l2_streamparm *parm) -{ - if (parm->type != V4L2_BUF_TYPE_VIDEO_CAPTURE) - return -EINVAL; - - parm->parm.capture.readbuffers = 9; - return 0; -} - /* * Output is disabled temporarily * Zoran is picky about jpeg data it accepts. At least it seems to unsupport COM and APPn. @@ -750,7 +741,6 @@ static int zoran_g_parm(struct file *file, void *priv, struct v4l2_streamparm *p */ static const struct v4l2_ioctl_ops zoran_ioctl_ops = { .vidioc_querycap = zoran_querycap, - .vidioc_g_parm = zoran_g_parm, .vidioc_s_selection = zoran_s_selection, .vidioc_g_selection = zoran_g_selection, .vidioc_enum_input = zoran_enum_input, @@ -786,8 +776,6 @@ static const struct v4l2_file_operations zoran_fops = { .unlocked_ioctl = video_ioctl2, .open = v4l2_fh_open, .release = vb2_fop_release, - .read = vb2_fop_read, - .write = vb2_fop_write, .mmap = vb2_fop_mmap, .poll = vb2_fop_poll, }; -- 2.32.0 |
From: Corentin L. <cl...@ba...> - 2021-12-14 16:47:02
|
Since all kconfigs for card selection are bool, this causes all selected modules to be always built-in. Prevent this by moving selects to the main tristate kconfig. By doing this, remove also all "if MEDIA_SUBDRV_AUTOSELECT" which are wrong, since zoran always need them to work. Signed-off-by: Corentin Labbe <cl...@ba...> --- drivers/staging/media/zoran/Kconfig | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/drivers/staging/media/zoran/Kconfig b/drivers/staging/media/zoran/Kconfig index 4067fa93d44d..faef008b8554 100644 --- a/drivers/staging/media/zoran/Kconfig +++ b/drivers/staging/media/zoran/Kconfig @@ -4,6 +4,16 @@ config VIDEO_ZORAN depends on !ALPHA depends on DEBUG_FS select VIDEOBUF2_DMA_CONTIG + select VIDEO_ADV7170 if VIDEO_ZORAN_LML33R10 + select VIDEO_ADV7175 if VIDEO_ZORAN_DC10 || VIDEO_ZORAN_DC30 + select VIDEO_BT819 if VIDEO_ZORAN_LML33 + select VIDEO_BT856 if VIDEO_ZORAN_LML33 || VIDEO_ZORAN_AVS6EYES + select VIDEO_BT866 if VIDEO_ZORAN_AVS6EYES + select VIDEO_KS0127 if VIDEO_ZORAN_AVS6EYES + select VIDEO_SAA711X if VIDEO_ZORAN_BUZ || VIDEO_ZORAN_LML33R10 + select VIDEO_SAA7110 if VIDEO_ZORAN_DC10 + select VIDEO_SAA7185 if VIDEO_ZORAN_BUZ + select VIDEO_VPX3220 if VIDEO_ZORAN_DC30 help Say Y for support for MJPEG capture cards based on the Zoran 36057/36067 PCI controller chipset. This includes the Iomega @@ -17,8 +27,6 @@ config VIDEO_ZORAN config VIDEO_ZORAN_DC30 bool "Pinnacle/Miro DC30(+) support" depends on VIDEO_ZORAN - select VIDEO_ADV7175 if MEDIA_SUBDRV_AUTOSELECT - select VIDEO_VPX3220 if MEDIA_SUBDRV_AUTOSELECT help Support for the Pinnacle/Miro DC30(+) MJPEG capture/playback card. This also supports really old DC10 cards based on the @@ -35,16 +43,12 @@ config VIDEO_ZORAN_ZR36060 config VIDEO_ZORAN_BUZ bool "Iomega Buz support" depends on VIDEO_ZORAN_ZR36060 - select VIDEO_SAA711X if MEDIA_SUBDRV_AUTOSELECT - select VIDEO_SAA7185 if MEDIA_SUBDRV_AUTOSELECT help Support for the Iomega Buz MJPEG capture/playback card. config VIDEO_ZORAN_DC10 bool "Pinnacle/Miro DC10(+) support" depends on VIDEO_ZORAN_ZR36060 - select VIDEO_SAA7110 if MEDIA_SUBDRV_AUTOSELECT - select VIDEO_ADV7175 if MEDIA_SUBDRV_AUTOSELECT help Support for the Pinnacle/Miro DC10(+) MJPEG capture/playback card. @@ -52,8 +56,6 @@ config VIDEO_ZORAN_DC10 config VIDEO_ZORAN_LML33 bool "Linux Media Labs LML33 support" depends on VIDEO_ZORAN_ZR36060 - select VIDEO_BT819 if MEDIA_SUBDRV_AUTOSELECT - select VIDEO_BT856 if MEDIA_SUBDRV_AUTOSELECT help Support for the Linux Media Labs LML33 MJPEG capture/playback card. @@ -61,8 +63,6 @@ config VIDEO_ZORAN_LML33 config VIDEO_ZORAN_LML33R10 bool "Linux Media Labs LML33R10 support" depends on VIDEO_ZORAN_ZR36060 - select VIDEO_SAA711X if MEDIA_SUBDRV_AUTOSELECT - select VIDEO_ADV7170 if MEDIA_SUBDRV_AUTOSELECT help support for the Linux Media Labs LML33R10 MJPEG capture/playback card. @@ -70,8 +70,5 @@ config VIDEO_ZORAN_LML33R10 config VIDEO_ZORAN_AVS6EYES bool "AverMedia 6 Eyes support" depends on VIDEO_ZORAN_ZR36060 - select VIDEO_BT856 if MEDIA_SUBDRV_AUTOSELECT - select VIDEO_BT866 if MEDIA_SUBDRV_AUTOSELECT - select VIDEO_KS0127 if MEDIA_SUBDRV_AUTOSELECT help Support for the AverMedia 6 Eyes video surveillance card. -- 2.32.0 |
From: Corentin L. <cl...@ba...> - 2021-12-14 16:46:46
|
All zoran module will be merged, so to prevent conflict, the debug module parameter need to be renamed Signed-off-by: Corentin Labbe <cl...@ba...> --- drivers/staging/media/zoran/videocodec.c | 8 ++++---- drivers/staging/media/zoran/zr36016.c | 12 ++++++------ drivers/staging/media/zoran/zr36050.c | 8 ++++---- drivers/staging/media/zoran/zr36060.c | 9 ++++----- 4 files changed, 18 insertions(+), 19 deletions(-) diff --git a/drivers/staging/media/zoran/videocodec.c b/drivers/staging/media/zoran/videocodec.c index 28031d3fd757..31019b5f377e 100644 --- a/drivers/staging/media/zoran/videocodec.c +++ b/drivers/staging/media/zoran/videocodec.c @@ -26,13 +26,13 @@ #include "videocodec.h" -static int debug; -module_param(debug, int, 0); -MODULE_PARM_DESC(debug, "Debug level (0-4)"); +static int videocodec_debug; +module_param(videocodec_debug, int, 0); +MODULE_PARM_DESC(videocodec_debug, "Debug level (0-4)"); #define dprintk(num, format, args...) \ do { \ - if (debug >= num) \ + if (videocodec_debug >= num) \ printk(format, ##args); \ } while (0) diff --git a/drivers/staging/media/zoran/zr36016.c b/drivers/staging/media/zoran/zr36016.c index 9b350a885879..50605460a44b 100644 --- a/drivers/staging/media/zoran/zr36016.c +++ b/drivers/staging/media/zoran/zr36016.c @@ -22,14 +22,14 @@ /* amount of chips attached via this driver */ static int zr36016_codecs; -/* debugging is available via module parameter */ -static int debug; -module_param(debug, int, 0); -MODULE_PARM_DESC(debug, "Debug level (0-4)"); +static int zr36016_debug; +module_param(zr36016_debug, int, 0); +MODULE_PARM_DESC(zr36016_debug, "Debug level (0-4)"); + #define dprintk(num, format, args...) \ do { \ - if (debug >= num) \ + if (zr36016_debug >= num) \ printk(format, ##args); \ } while (0) @@ -120,7 +120,7 @@ static u8 zr36016_read_version(struct zr36016 *ptr) static int zr36016_basic_test(struct zr36016 *ptr) { - if (debug) { + if (zr36016_debug) { int i; zr36016_writei(ptr, ZR016I_PAX_LO, 0x55); diff --git a/drivers/staging/media/zoran/zr36050.c b/drivers/staging/media/zoran/zr36050.c index c62af27f2683..4dc7927fefc3 100644 --- a/drivers/staging/media/zoran/zr36050.c +++ b/drivers/staging/media/zoran/zr36050.c @@ -32,13 +32,13 @@ static int zr36050_codecs; /* debugging is available via module parameter */ -static int debug; -module_param(debug, int, 0); -MODULE_PARM_DESC(debug, "Debug level (0-4)"); +static int zr36050_debug; +module_param(zr36050_debug, int, 0); +MODULE_PARM_DESC(zr36050_debug, "Debug level (0-4)"); #define dprintk(num, format, args...) \ do { \ - if (debug >= num) \ + if (zr36050_debug >= num) \ printk(format, ##args); \ } while (0) diff --git a/drivers/staging/media/zoran/zr36060.c b/drivers/staging/media/zoran/zr36060.c index 1c3af11b5f24..7904d5b1f402 100644 --- a/drivers/staging/media/zoran/zr36060.c +++ b/drivers/staging/media/zoran/zr36060.c @@ -34,14 +34,13 @@ static bool low_bitrate; module_param(low_bitrate, bool, 0); MODULE_PARM_DESC(low_bitrate, "Buz compatibility option, halves bitrate"); -/* debugging is available via module parameter */ -static int debug; -module_param(debug, int, 0); -MODULE_PARM_DESC(debug, "Debug level (0-4)"); +static int zr36060_debug; +module_param(zr36060_debug, int, 0); +MODULE_PARM_DESC(zr36060_debug, "Debug level (0-4)"); #define dprintk(num, format, args...) \ do { \ - if (debug >= num) \ + if (zr36060_debug >= num) \ printk(format, ##args); \ } while (0) -- 2.32.0 |
From: Corentin L. <cl...@ba...> - 2021-12-14 16:46:46
|
The vidmem parameter is no longer necessary since we removed framebuffer support. Signed-off-by: Corentin Labbe <cl...@ba...> --- drivers/staging/media/zoran/zoran_card.c | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/drivers/staging/media/zoran/zoran_card.c b/drivers/staging/media/zoran/zoran_card.c index a7750442ef9e..9cd49f85a56e 100644 --- a/drivers/staging/media/zoran/zoran_card.c +++ b/drivers/staging/media/zoran/zoran_card.c @@ -39,17 +39,6 @@ static int card[BUZ_MAX] = { [0 ... (BUZ_MAX - 1)] = -1 }; module_param_array(card, int, NULL, 0444); MODULE_PARM_DESC(card, "Card type"); -/* - * The video mem address of the video card. The driver has a little database - * for some videocards to determine it from there. If your video card is not - * in there you have either to give it to the driver as a parameter or set - * in a VIDIOCSFBUF ioctl - */ - -static unsigned long vidmem; /* default = 0 - Video memory base address */ -module_param_hw(vidmem, ulong, iomem, 0444); -MODULE_PARM_DESC(vidmem, "Default video memory base address"); - /* Default input and video norm at startup of the driver. */ static unsigned int default_input; /* default 0 = Composite, 1 = S-Video */ @@ -1218,10 +1207,6 @@ static int zoran_probe(struct pci_dev *pdev, const struct pci_device_id *ent) jpg_bufsize = 8192; if (jpg_bufsize > (512 * 1024)) jpg_bufsize = 512 * 1024; - /* Use parameter for vidmem or try to find a video card */ - if (vidmem) - pci_info(pdev, "%s: Using supplied video memory base address @ 0x%lx\n", - ZORAN_NAME, vidmem); /* some mainboards might not do PCI-PCI data transfer well */ if (pci_pci_problems & (PCIPCI_FAIL | PCIAGP_FAIL | PCIPCI_ALIMAGIK)) -- 2.32.0 |
From: Corentin L. <cl...@ba...> - 2021-12-14 16:45:10
|
After each capture, zoran driver complains that it remains some unused buffer. This is due to a missing count handling. Signed-off-by: Corentin Labbe <cl...@ba...> --- drivers/staging/media/zoran/zoran_driver.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/staging/media/zoran/zoran_driver.c b/drivers/staging/media/zoran/zoran_driver.c index 31993c266976..32d76876c683 100644 --- a/drivers/staging/media/zoran/zoran_driver.c +++ b/drivers/staging/media/zoran/zoran_driver.c @@ -887,6 +887,7 @@ int zr_set_buf(struct zoran *zr) return -EINVAL; } list_del(&buf->queue); + zr->buf_in_reserve--; spin_unlock_irqrestore(&zr->queued_bufs_lock, flags); vbuf = &buf->vbuf; -- 2.32.0 |
From: Corentin L. <cl...@ba...> - 2021-12-14 16:45:02
|
Move some code out of zr36057_init() and create new functions for handling zr->video_dev. This permit to ease code reading and fix a zr->video_dev memory leak. Signed-off-by: Corentin Labbe <cl...@ba...> --- drivers/staging/media/zoran/zoran.h | 2 +- drivers/staging/media/zoran/zoran_card.c | 80 ++++++++++++++-------- drivers/staging/media/zoran/zoran_driver.c | 5 +- 3 files changed, 54 insertions(+), 33 deletions(-) diff --git a/drivers/staging/media/zoran/zoran.h b/drivers/staging/media/zoran/zoran.h index 981cb63ac9af..c36b33f42b16 100644 --- a/drivers/staging/media/zoran/zoran.h +++ b/drivers/staging/media/zoran/zoran.h @@ -315,6 +315,6 @@ static inline struct zoran *to_zoran(struct v4l2_device *v4l2_dev) #endif -int zoran_queue_init(struct zoran *zr, struct vb2_queue *vq); +int zoran_queue_init(struct zoran *zr, struct vb2_queue *vq, int dir); void zoran_queue_exit(struct zoran *zr); int zr_set_buf(struct zoran *zr); diff --git a/drivers/staging/media/zoran/zoran_card.c b/drivers/staging/media/zoran/zoran_card.c index 9cd49f85a56e..19eb3150074a 100644 --- a/drivers/staging/media/zoran/zoran_card.c +++ b/drivers/staging/media/zoran/zoran_card.c @@ -885,6 +885,52 @@ int zoran_check_jpg_settings(struct zoran *zr, return 0; } +static int zoran_init_video_device(struct zoran *zr, struct video_device *video_dev, int dir) +{ + int err; + + /* Now add the template and register the device unit. */ + *video_dev = zoran_template; + video_dev->v4l2_dev = &zr->v4l2_dev; + video_dev->lock = &zr->lock; + video_dev->device_caps = V4L2_CAP_STREAMING | dir; + + strscpy(video_dev->name, ZR_DEVNAME(zr), sizeof(video_dev->name)); + /* + * It's not a mem2mem device, but you can both capture and output from one and the same + * device. This should really be split up into two device nodes, but that's a job for + * another day. + */ + video_dev->vfl_dir = VFL_DIR_M2M; + zoran_queue_init(zr, &zr->vq, V4L2_BUF_TYPE_VIDEO_CAPTURE); + + err = video_register_device(video_dev, VFL_TYPE_VIDEO, video_nr[zr->id]); + if (err < 0) + return err; + video_set_drvdata(video_dev, zr); + return 0; +} + +static void zoran_exit_video_devices(struct zoran *zr) +{ + video_unregister_device(zr->video_dev); + kfree(zr->video_dev); +} + +static int zoran_init_video_devices(struct zoran *zr) +{ + int err; + + zr->video_dev = video_device_alloc(); + if (!zr->video_dev) + return -ENOMEM; + + err = zoran_init_video_device(zr, zr->video_dev, V4L2_CAP_VIDEO_CAPTURE); + if (err) + kfree(zr->video_dev); + return err; +} + void zoran_open_init_params(struct zoran *zr) { int i; @@ -956,17 +1002,11 @@ static int zr36057_init(struct zoran *zr) zoran_open_init_params(zr); /* allocate memory *before* doing anything to the hardware in case allocation fails */ - zr->video_dev = video_device_alloc(); - if (!zr->video_dev) { - err = -ENOMEM; - goto exit; - } zr->stat_com = dma_alloc_coherent(&zr->pci_dev->dev, BUZ_NUM_STAT_COM * sizeof(u32), &zr->p_sc, GFP_KERNEL); if (!zr->stat_com) { - err = -ENOMEM; - goto exit_video; + return -ENOMEM; } for (j = 0; j < BUZ_NUM_STAT_COM; j++) zr->stat_com[j] = cpu_to_le32(1); /* mark as unavailable to zr36057 */ @@ -979,26 +1019,9 @@ static int zr36057_init(struct zoran *zr) goto exit_statcom; } - /* Now add the template and register the device unit. */ - *zr->video_dev = zoran_template; - zr->video_dev->v4l2_dev = &zr->v4l2_dev; - zr->video_dev->lock = &zr->lock; - zr->video_dev->device_caps = V4L2_CAP_STREAMING | V4L2_CAP_VIDEO_CAPTURE; - - strscpy(zr->video_dev->name, ZR_DEVNAME(zr), sizeof(zr->video_dev->name)); - /* - * It's not a mem2mem device, but you can both capture and output from one and the same - * device. This should really be split up into two device nodes, but that's a job for - * another day. - */ - zr->video_dev->vfl_dir = VFL_DIR_M2M; - - zoran_queue_init(zr, &zr->vq); - - err = video_register_device(zr->video_dev, VFL_TYPE_VIDEO, video_nr[zr->id]); - if (err < 0) + err = zoran_init_video_devices(zr); + if (err) goto exit_statcomb; - video_set_drvdata(zr->video_dev, zr); zoran_init_hardware(zr); if (!pass_through) { @@ -1013,9 +1036,6 @@ static int zr36057_init(struct zoran *zr) dma_free_coherent(&zr->pci_dev->dev, BUZ_NUM_STAT_COM * sizeof(u32) * 2, zr->stat_comb, zr->p_scb); exit_statcom: dma_free_coherent(&zr->pci_dev->dev, BUZ_NUM_STAT_COM * sizeof(u32), zr->stat_com, zr->p_sc); -exit_video: - kfree(zr->video_dev); -exit: return err; } @@ -1050,7 +1070,7 @@ static void zoran_remove(struct pci_dev *pdev) dma_free_coherent(&zr->pci_dev->dev, BUZ_NUM_STAT_COM * sizeof(u32) * 2, zr->stat_comb, zr->p_scb); pci_release_regions(pdev); pci_disable_device(zr->pci_dev); - video_unregister_device(zr->video_dev); + zoran_exit_video_devices(zr); exit_free: v4l2_ctrl_handler_free(&zr->hdl); v4l2_device_unregister(&zr->v4l2_dev); diff --git a/drivers/staging/media/zoran/zoran_driver.c b/drivers/staging/media/zoran/zoran_driver.c index 46382e43f1bf..551db338c7f7 100644 --- a/drivers/staging/media/zoran/zoran_driver.c +++ b/drivers/staging/media/zoran/zoran_driver.c @@ -1008,7 +1008,7 @@ static const struct vb2_ops zr_video_qops = { .wait_finish = vb2_ops_wait_finish, }; -int zoran_queue_init(struct zoran *zr, struct vb2_queue *vq) +int zoran_queue_init(struct zoran *zr, struct vb2_queue *vq, int dir) { int err; @@ -1016,7 +1016,8 @@ int zoran_queue_init(struct zoran *zr, struct vb2_queue *vq) INIT_LIST_HEAD(&zr->queued_bufs); vq->dev = &zr->pci_dev->dev; - vq->type = V4L2_BUF_TYPE_VIDEO_CAPTURE; + vq->type = dir; + vq->io_modes = VB2_USERPTR | VB2_DMABUF | VB2_MMAP | VB2_READ | VB2_WRITE; vq->drv_priv = zr; vq->buf_struct_size = sizeof(struct zr_buffer); -- 2.32.0 |
From: Corentin L. <cl...@ba...> - 2021-12-14 16:44:57
|
Reduces the size of the probe function by adding zoran_i2c_init/zoran_i2c_exit functions. Signed-off-by: Corentin Labbe <cl...@ba...> --- drivers/staging/media/zoran/zoran_card.c | 73 ++++++++++++++++++------ 1 file changed, 54 insertions(+), 19 deletions(-) diff --git a/drivers/staging/media/zoran/zoran_card.c b/drivers/staging/media/zoran/zoran_card.c index 19eb3150074a..a00ad40244d0 100644 --- a/drivers/staging/media/zoran/zoran_card.c +++ b/drivers/staging/media/zoran/zoran_card.c @@ -931,6 +931,53 @@ static int zoran_init_video_devices(struct zoran *zr) return err; } +/* + * v4l2_device_unregister() will care about removing zr->encoder/zr->decoder + * via v4l2_i2c_subdev_unregister() + */ +static int zoran_i2c_init(struct zoran *zr) +{ + int err; + + pci_info(zr->pci_dev, "Initializing i2c bus...\n"); + + err = zoran_register_i2c(zr); + if (err) { + pci_err(zr->pci_dev, "%s - cannot initialize i2c bus\n", __func__); + return err; + } + + zr->decoder = v4l2_i2c_new_subdev(&zr->v4l2_dev, &zr->i2c_adapter, + zr->card.i2c_decoder, 0, + zr->card.addrs_decoder); + if (!zr->decoder) { + pci_err(zr->pci_dev, "Fail to get decoder %s\n", zr->card.i2c_decoder); + err = -EINVAL; + goto error_decoder; + } + + if (zr->card.i2c_encoder) { + zr->encoder = v4l2_i2c_new_subdev(&zr->v4l2_dev, &zr->i2c_adapter, + zr->card.i2c_encoder, 0, + zr->card.addrs_encoder); + if (!zr->encoder) { + pci_err(zr->pci_dev, "Fail to get encoder %s\n", zr->card.i2c_encoder); + err = -EINVAL; + goto error_decoder; + } + } + return 0; + +error_decoder: + zoran_unregister_i2c(zr); + return err; +} + +static void zoran_i2c_exit(struct zoran *zr) +{ + zoran_unregister_i2c(zr); +} + void zoran_open_init_params(struct zoran *zr) { int i; @@ -1059,7 +1106,7 @@ static void zoran_remove(struct pci_dev *pdev) videocodec_exit(zr); /* unregister i2c bus */ - zoran_unregister_i2c(zr); + zoran_i2c_exit(zr); /* disable PCI bus-mastering */ zoran_set_pci_master(zr, 0); /* put chip into reset */ @@ -1340,22 +1387,10 @@ static int zoran_probe(struct pci_dev *pdev, const struct pci_device_id *ent) } zr36057_restart(zr); - /* i2c */ - pci_info(zr->pci_dev, "Initializing i2c bus...\n"); - if (zoran_register_i2c(zr) < 0) { - pci_err(pdev, "%s - can't initialize i2c bus\n", __func__); + err = zoran_i2c_init(zr); + if (err) goto zr_free_irq; - } - - zr->decoder = v4l2_i2c_new_subdev(&zr->v4l2_dev, &zr->i2c_adapter, - zr->card.i2c_decoder, 0, - zr->card.addrs_decoder); - - if (zr->card.i2c_encoder) - zr->encoder = v4l2_i2c_new_subdev(&zr->v4l2_dev, &zr->i2c_adapter, - zr->card.i2c_encoder, 0, - zr->card.addrs_encoder); pci_info(zr->pci_dev, "Initializing videocodec bus...\n"); err = videocodec_init(zr); @@ -1370,15 +1405,15 @@ static int zoran_probe(struct pci_dev *pdev, const struct pci_device_id *ent) if (zr->card.video_codec != 0) { master_codec = zoran_setup_videocodec(zr, zr->card.video_codec); if (!master_codec) - goto zr_unreg_i2c; + goto zr_unreg_videocodec; zr->codec = videocodec_attach(master_codec); if (!zr->codec) { pci_err(pdev, "%s - no codec found\n", __func__); - goto zr_unreg_i2c; + goto zr_unreg_videocodec; } if (zr->codec->type != zr->card.video_codec) { pci_err(pdev, "%s - wrong codec\n", __func__); - goto zr_detach_codec; + goto zr_unreg_videocodec; } } if (zr->card.video_vfe != 0) { @@ -1417,7 +1452,7 @@ static int zoran_probe(struct pci_dev *pdev, const struct pci_device_id *ent) zr_unreg_videocodec: videocodec_exit(zr); zr_unreg_i2c: - zoran_unregister_i2c(zr); + zoran_i2c_exit(zr); zr_free_irq: btwrite(0, ZR36057_SPGPPCR); pci_free_irq(zr->pci_dev, 0, zr); -- 2.32.0 |
From: Corentin L. <cl...@ba...> - 2021-12-14 16:43:50
|
Add debugfs for displaying zoran debug and stats information. Signed-off-by: Corentin Labbe <cl...@ba...> --- drivers/staging/media/zoran/Kconfig | 1 + drivers/staging/media/zoran/zoran.h | 2 ++ drivers/staging/media/zoran/zoran_card.c | 36 ++++++++++++++++++++++++ 3 files changed, 39 insertions(+) diff --git a/drivers/staging/media/zoran/Kconfig b/drivers/staging/media/zoran/Kconfig index 7874842033ca..6d6e4c93f873 100644 --- a/drivers/staging/media/zoran/Kconfig +++ b/drivers/staging/media/zoran/Kconfig @@ -2,6 +2,7 @@ config VIDEO_ZORAN tristate "Zoran ZR36057/36067 Video For Linux (Deprecated)" depends on PCI && I2C_ALGOBIT && VIDEO_V4L2 depends on !ALPHA + depends on DEBUG_FS select VIDEOBUF2_DMA_CONTIG help Say Y for support for MJPEG capture cards based on the Zoran diff --git a/drivers/staging/media/zoran/zoran.h b/drivers/staging/media/zoran/zoran.h index b1ad2a2b914c..981cb63ac9af 100644 --- a/drivers/staging/media/zoran/zoran.h +++ b/drivers/staging/media/zoran/zoran.h @@ -18,6 +18,7 @@ #ifndef _BUZ_H_ #define _BUZ_H_ +#include <linux/debugfs.h> #include <media/v4l2-device.h> #include <media/v4l2-ctrls.h> #include <media/videobuf2-core.h> @@ -295,6 +296,7 @@ struct zoran { struct list_head queued_bufs; spinlock_t queued_bufs_lock; /* Protects queued_bufs */ struct zr_buffer *inuse[BUZ_NUM_STAT_COM * 2]; + struct dentry *dbgfs_dir; }; static inline struct zoran *to_zoran(struct v4l2_device *v4l2_dev) diff --git a/drivers/staging/media/zoran/zoran_card.c b/drivers/staging/media/zoran/zoran_card.c index f1465fbf98af..28a3363a8838 100644 --- a/drivers/staging/media/zoran/zoran_card.c +++ b/drivers/staging/media/zoran/zoran_card.c @@ -945,6 +945,8 @@ static void zoran_remove(struct pci_dev *pdev) if (!zr->initialized) goto exit_free; + debugfs_remove_recursive(zr->dbgfs_dir); + zoran_queue_exit(zr); /* unregister videocodec bus */ @@ -1051,6 +1053,37 @@ static const struct v4l2_ctrl_ops zoran_video_ctrl_ops = { .s_ctrl = zoran_video_set_ctrl, }; +static int zoran_debugfs_show(struct seq_file *seq, void *v) +{ + struct zoran *zr = seq->private; + + seq_printf(seq, "Running mode %x\n", zr->running); + seq_printf(seq, "Codec mode %x\n", zr->codec_mode); + seq_printf(seq, "Norm %llx\n", zr->norm); + seq_printf(seq, "Input %d\n", zr->input); + seq_printf(seq, "Buffersize %d\n", zr->buffer_size); + + seq_printf(seq, "V4L width %dx%d\n", zr->v4l_settings.width, zr->v4l_settings.height); + seq_printf(seq, "V4L bytesperline %d\n", zr->v4l_settings.bytesperline); + + seq_printf(seq, "JPG decimation %u\n", zr->jpg_settings.decimation); + seq_printf(seq, "JPG hor_dcm %u\n", zr->jpg_settings.hor_dcm); + seq_printf(seq, "JPG ver_dcm %u\n", zr->jpg_settings.ver_dcm); + seq_printf(seq, "JPG tmp_dcm %u\n", zr->jpg_settings.tmp_dcm); + seq_printf(seq, "JPG odd_even %u\n", zr->jpg_settings.odd_even); + seq_printf(seq, "JPG crop %dx%d %d %d\n", + zr->jpg_settings.img_x, + zr->jpg_settings.img_y, + zr->jpg_settings.img_width, + zr->jpg_settings.img_height); + + seq_printf(seq, "Prepared %u\n", zr->prepared); + seq_printf(seq, "Queued %u\n", zr->queued); + return 0; +} + +DEFINE_SHOW_ATTRIBUTE(zoran_debugfs); + /* * Scan for a Buz card (actually for the PCI controller ZR36057), * request the irq and map the io memory @@ -1286,6 +1319,9 @@ static int zoran_probe(struct pci_dev *pdev, const struct pci_device_id *ent) zr->map_mode = ZORAN_MAP_MODE_RAW; + zr->dbgfs_dir = debugfs_create_dir(ZR_DEVNAME(zr), NULL); + debugfs_create_file("debug", 0444, zr->dbgfs_dir, zr, + &zoran_debugfs_fops); return 0; zr_detach_vfe: -- 2.32.0 |
From: Corentin L. <cl...@ba...> - 2021-12-14 16:43:50
|
vb2_dma_contig_set_max_seg_size need to have a size in parameter and not a DMA_BIT_MASK(). While fixing this issue, also fix error handling of all DMA size setting. Reported-by: kernel test robot <lk...@in...> Fixes: d4ae3689226e5 ("media: zoran: device support only 32bit DMA address") Signed-off-by: Corentin Labbe <cl...@ba...> --- drivers/staging/media/zoran/zoran_card.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/staging/media/zoran/zoran_card.c b/drivers/staging/media/zoran/zoran_card.c index a00ad40244d0..4ea2fbf189b9 100644 --- a/drivers/staging/media/zoran/zoran_card.c +++ b/drivers/staging/media/zoran/zoran_card.c @@ -1282,8 +1282,10 @@ static int zoran_probe(struct pci_dev *pdev, const struct pci_device_id *ent) err = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32)); if (err) - return -ENODEV; - vb2_dma_contig_set_max_seg_size(&pdev->dev, DMA_BIT_MASK(32)); + return err; + err = vb2_dma_contig_set_max_seg_size(&pdev->dev, U32_MAX); + if (err) + return err; nr = zoran_num++; if (nr >= BUZ_MAX) { -- 2.32.0 |
From: Corentin L. <cl...@ba...> - 2021-12-14 16:42:59
|
Hello The main change of this serie is to merge all zoran related modules in one. This fixes the load order problem when everything is built-in. But this serie include several more fixes found while working on this. Regards Changes since v3: - Fixed a lock up when doing a capture - added fixes patchs from Hans Verkuil - dropped DC30 patch, I will send a new patch later for adding DC30D Changes since v2: - added the 4 latest patchs - removed DEBUGFS kconfig option - fixed Dan Carpenter's reported codec issues - fixed kernel test robot's reported issues on vb2_dma_contig_set_max_seg_size() Changes since v1: - add missing debugfs cleaning - clean some remaining module_get/put functions which made impossible to remove the zoran module - added the two latest patchs Corentin Labbe (14): staging: media: zoran: move module parameter checks to zoran_probe staging: media: zoran: use module_pci_driver staging: media: zoran: rename debug module parameter staging: media: zoran: add debugfs staging: media: zoran: videocode: remove procfs staging: media: zoran: merge all modules staging: media: zoran: remove vidmem staging: media: zoran: move videodev alloc staging: media: zoran: move config select on primary kconfig staging: media: zoran: introduce zoran_i2c_init staging: media: zoran: fix usage of vb2_dma_contig_set_max_seg_size staging: media: zoran: clean unused code staging: media: zoran: fix counting buffer in reserve staging: media: zoran: calculate the right buffer number for zoran_reap_stat_com Hans Verkuil (4): staging: media: zoran: fix various V4L2 compliance errors staging: media: zoran: fix TRY_FMT handling staging: media: zoran: drop kernel log spam staging: media: zoran: drop read/write support drivers/staging/media/zoran/Kconfig | 38 +- drivers/staging/media/zoran/Makefile | 8 +- drivers/staging/media/zoran/videocodec.c | 68 +--- drivers/staging/media/zoran/videocodec.h | 4 +- drivers/staging/media/zoran/zoran.h | 18 +- drivers/staging/media/zoran/zoran_card.c | 398 +++++++++++++-------- drivers/staging/media/zoran/zoran_device.c | 15 +- drivers/staging/media/zoran/zoran_device.h | 2 - drivers/staging/media/zoran/zoran_driver.c | 56 ++- drivers/staging/media/zoran/zr36016.c | 25 +- drivers/staging/media/zoran/zr36016.h | 2 + drivers/staging/media/zoran/zr36050.c | 24 +- drivers/staging/media/zoran/zr36050.h | 2 + drivers/staging/media/zoran/zr36060.c | 23 +- drivers/staging/media/zoran/zr36060.h | 2 + 15 files changed, 349 insertions(+), 336 deletions(-) -- 2.32.0 |
From: Corentin L. <cl...@ba...> - 2021-12-14 16:42:48
|
Now we have a debugfs, we can remove all PROCFS stuff. We keep videocodec_debugfs_show(), it will be used later Signed-off-by: Corentin Labbe <cl...@ba...> --- drivers/staging/media/zoran/videocodec.c | 24 +----------------------- drivers/staging/media/zoran/videocodec.h | 3 +++ 2 files changed, 4 insertions(+), 23 deletions(-) diff --git a/drivers/staging/media/zoran/videocodec.c b/drivers/staging/media/zoran/videocodec.c index 31019b5f377e..5bab7ba56257 100644 --- a/drivers/staging/media/zoran/videocodec.c +++ b/drivers/staging/media/zoran/videocodec.c @@ -16,14 +16,6 @@ #include <linux/types.h> #include <linux/slab.h> -// kernel config is here (procfs flag) - -#ifdef CONFIG_PROC_FS -#include <linux/proc_fs.h> -#include <linux/seq_file.h> -#include <linux/uaccess.h> -#endif - #include "videocodec.h" static int videocodec_debug; @@ -265,8 +257,7 @@ int videocodec_unregister(const struct videocodec *codec) } EXPORT_SYMBOL(videocodec_unregister); -#ifdef CONFIG_PROC_FS -static int proc_videocodecs_show(struct seq_file *m, void *v) +int videocodec_debugfs_show(struct seq_file *m) { struct codec_list *h = codeclist_top; struct attached_list *a; @@ -293,32 +284,19 @@ static int proc_videocodecs_show(struct seq_file *m, void *v) return 0; } -#endif /* ===================== */ /* hook in driver module */ /* ===================== */ static int __init videocodec_init(void) { -#ifdef CONFIG_PROC_FS - static struct proc_dir_entry *videocodec_proc_entry; -#endif - pr_info("Linux video codec intermediate layer: %s\n", VIDEOCODEC_VERSION); -#ifdef CONFIG_PROC_FS - videocodec_proc_entry = proc_create_single("videocodecs", 0, NULL, proc_videocodecs_show); - if (!videocodec_proc_entry) - pr_err("videocodec: can't init procfs.\n"); -#endif return 0; } static void __exit videocodec_exit(void) { -#ifdef CONFIG_PROC_FS - remove_proc_entry("videocodecs", NULL); -#endif } module_init(videocodec_init); diff --git a/drivers/staging/media/zoran/videocodec.h b/drivers/staging/media/zoran/videocodec.h index 8a5003dda9f4..3a508d326049 100644 --- a/drivers/staging/media/zoran/videocodec.h +++ b/drivers/staging/media/zoran/videocodec.h @@ -123,6 +123,7 @@ M zr36055[1] 0001 0000c001 00000000 (zr36050[1]) #ifndef __LINUX_VIDEOCODEC_H #define __LINUX_VIDEOCODEC_H +#include <linux/debugfs.h> #include <linux/videodev2.h> #define CODEC_DO_COMPRESSION 0 @@ -305,4 +306,6 @@ extern int videocodec_unregister(const struct videocodec *); /* the other calls are directly done via the videocodec structure! */ +int videocodec_debugfs_show(struct seq_file *m); + #endif /*ifndef __LINUX_VIDEOCODEC_H */ -- 2.32.0 |
From: Corentin L. <cl...@ba...> - 2021-12-14 16:40:45
|
From: Hans Verkuil <han...@ci...> Do not spam the kernel log with messages that result from incorrect userspace input. Those should be either dropped completely (the error code gives sufficient info) or changed to debug messages. Signed-off-by: Hans Verkuil <han...@ci...> Signed-off-by: Corentin Labbe <cl...@ba...> --- drivers/staging/media/zoran/zoran_device.c | 8 ++++---- drivers/staging/media/zoran/zoran_driver.c | 22 +++++++++++----------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/drivers/staging/media/zoran/zoran_device.c b/drivers/staging/media/zoran/zoran_device.c index 294e459307c3..8f60db4e44c1 100644 --- a/drivers/staging/media/zoran/zoran_device.c +++ b/drivers/staging/media/zoran/zoran_device.c @@ -239,7 +239,7 @@ static void zr36057_set_vfe(struct zoran *zr, int video_width, int video_height, wa = tvn->wa; ha = tvn->ha; - pci_info(zr->pci_dev, "set_vfe() - width = %d, height = %d\n", video_width, video_height); + pci_dbg(zr->pci_dev, "set_vfe() - width = %d, height = %d\n", video_width, video_height); if (video_width < BUZ_MIN_WIDTH || video_height < BUZ_MIN_HEIGHT || @@ -664,7 +664,7 @@ void zr36057_enable_jpg(struct zoran *zr, enum zoran_codec_mode mode) zr36057_set_jpg(zr, mode); // \P_Reset, ... Video param, FIFO clear_interrupt_counters(zr); - pci_info(zr->pci_dev, "enable_jpg(MOTION_COMPRESS)\n"); + pci_dbg(zr->pci_dev, "enable_jpg(MOTION_COMPRESS)\n"); break; } @@ -693,7 +693,7 @@ void zr36057_enable_jpg(struct zoran *zr, enum zoran_codec_mode mode) zr36057_set_jpg(zr, mode); // \P_Reset, ... Video param, FIFO clear_interrupt_counters(zr); - pci_info(zr->pci_dev, "enable_jpg(MOTION_DECOMPRESS)\n"); + pci_dbg(zr->pci_dev, "enable_jpg(MOTION_DECOMPRESS)\n"); break; case BUZ_MODE_IDLE: @@ -720,7 +720,7 @@ void zr36057_enable_jpg(struct zoran *zr, enum zoran_codec_mode mode) decoder_call(zr, video, s_stream, 1); encoder_call(zr, video, s_routing, 0, 0, 0); - pci_info(zr->pci_dev, "enable_jpg(IDLE)\n"); + pci_dbg(zr->pci_dev, "enable_jpg(IDLE)\n"); break; } } diff --git a/drivers/staging/media/zoran/zoran_driver.c b/drivers/staging/media/zoran/zoran_driver.c index 367fe4be8357..013efdecd582 100644 --- a/drivers/staging/media/zoran/zoran_driver.c +++ b/drivers/staging/media/zoran/zoran_driver.c @@ -171,7 +171,7 @@ static int zoran_v4l_set_format(struct zoran *zr, int width, int height, if (height < BUZ_MIN_HEIGHT || width < BUZ_MIN_WIDTH || height > BUZ_MAX_HEIGHT || width > BUZ_MAX_WIDTH) { - pci_err(zr->pci_dev, "%s - wrong frame size (%dx%d)\n", __func__, width, height); + pci_dbg(zr->pci_dev, "%s - wrong frame size (%dx%d)\n", __func__, width, height); return -EINVAL; } @@ -181,7 +181,7 @@ static int zoran_v4l_set_format(struct zoran *zr, int width, int height, /* Check against available buffer size */ if (height * width * bpp > zr->buffer_size) { - pci_err(zr->pci_dev, "%s - video buffer size (%d kB) is too small\n", + pci_dbg(zr->pci_dev, "%s - video buffer size (%d kB) is too small\n", __func__, zr->buffer_size >> 10); return -EINVAL; } @@ -189,7 +189,7 @@ static int zoran_v4l_set_format(struct zoran *zr, int width, int height, /* The video front end needs 4-byte alinged line sizes */ if ((bpp == 2 && (width & 1)) || (bpp == 3 && (width & 3))) { - pci_err(zr->pci_dev, "%s - wrong frame alignment\n", __func__); + pci_dbg(zr->pci_dev, "%s - wrong frame alignment\n", __func__); return -EINVAL; } @@ -205,7 +205,7 @@ static int zoran_set_norm(struct zoran *zr, v4l2_std_id norm) { if (!(norm & zr->card.norms)) { - pci_err(zr->pci_dev, "%s - unsupported norm %llx\n", __func__, norm); + pci_dbg(zr->pci_dev, "%s - unsupported norm %llx\n", __func__, norm); return -EINVAL; } @@ -231,7 +231,7 @@ static int zoran_set_input(struct zoran *zr, int input) return 0; if (input < 0 || input >= zr->card.inputs) { - pci_err(zr->pci_dev, "%s - unsupported input %d\n", __func__, input); + pci_dbg(zr->pci_dev, "%s - unsupported input %d\n", __func__, input); return -EINVAL; } @@ -532,7 +532,7 @@ static int zoran_s_fmt_vid_cap(struct file *file, void *__fh, if (fmt->fmt.pix.pixelformat == zoran_formats[i].fourcc) break; if (i == NUM_FORMATS) { - pci_err(zr->pci_dev, "VIDIOC_S_FMT - unknown/unsupported format 0x%x\n", + pci_dbg(zr->pci_dev, "VIDIOC_S_FMT - unknown/unsupported format 0x%x\n", fmt->fmt.pix.pixelformat); /* TODO do not return here to fix the TRY_FMT cannot handle an invalid pixelformat*/ return -EINVAL; @@ -666,7 +666,7 @@ static int zoran_g_selection(struct file *file, void *__fh, struct v4l2_selectio if (sel->type != V4L2_BUF_TYPE_VIDEO_OUTPUT && sel->type != V4L2_BUF_TYPE_VIDEO_CAPTURE) { - pci_err(zr->pci_dev, "%s invalid selection type combination\n", __func__); + pci_dbg(zr->pci_dev, "%s invalid selection type combination\n", __func__); return -EINVAL; } @@ -712,7 +712,7 @@ static int zoran_s_selection(struct file *file, void *__fh, struct v4l2_selectio return -EINVAL; if (zr->map_mode == ZORAN_MAP_MODE_RAW) { - pci_err(zr->pci_dev, "VIDIOC_S_SELECTION - subcapture only supported for compressed capture\n"); + pci_dbg(zr->pci_dev, "VIDIOC_S_SELECTION - subcapture only supported for compressed capture\n"); return -EINVAL; } @@ -937,7 +937,7 @@ static int zr_vb2_start_streaming(struct vb2_queue *vq, unsigned int count) zr->vbseq = 0; if (zr->map_mode != ZORAN_MAP_MODE_RAW) { - pci_info(zr->pci_dev, "START JPG\n"); + pci_dbg(zr->pci_dev, "START JPG\n"); zr36057_restart(zr); zoran_init_hardware(zr); if (zr->map_mode == ZORAN_MAP_MODE_JPG_REC) @@ -951,7 +951,7 @@ static int zr_vb2_start_streaming(struct vb2_queue *vq, unsigned int count) return 0; } - pci_info(zr->pci_dev, "START RAW\n"); + pci_dbg(zr->pci_dev, "START RAW\n"); zr36057_restart(zr); zoran_init_hardware(zr); @@ -1001,7 +1001,7 @@ static void zr_vb2_stop_streaming(struct vb2_queue *vq) } spin_unlock_irqrestore(&zr->queued_bufs_lock, flags); if (zr->buf_in_reserve) - pci_err(zr->pci_dev, "Buffer remaining %d\n", zr->buf_in_reserve); + pci_dbg(zr->pci_dev, "Buffer remaining %d\n", zr->buf_in_reserve); zr->map_mode = ZORAN_MAP_MODE_RAW; } -- 2.32.0 |
From: Corentin L. <cl...@ba...> - 2021-12-14 16:40:32
|
Simplify code by using module_pci_driver() Signed-off-by: Corentin Labbe <cl...@ba...> --- drivers/staging/media/zoran/zoran_card.c | 21 +-------------------- 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/drivers/staging/media/zoran/zoran_card.c b/drivers/staging/media/zoran/zoran_card.c index 3bc0e64f1007..f1465fbf98af 100644 --- a/drivers/staging/media/zoran/zoran_card.c +++ b/drivers/staging/media/zoran/zoran_card.c @@ -1314,23 +1314,4 @@ static struct pci_driver zoran_driver = { .remove = zoran_remove, }; -static int __init zoran_init(void) -{ - int res; - - res = pci_register_driver(&zoran_driver); - if (res) { - pr_err("Unable to register ZR36057 driver\n"); - return res; - } - - return 0; -} - -static void __exit zoran_exit(void) -{ - pci_unregister_driver(&zoran_driver); -} - -module_init(zoran_init); -module_exit(zoran_exit); +module_pci_driver(zoran_driver); -- 2.32.0 |
From: Corentin L. <cl...@ba...> - 2021-12-14 16:40:29
|
The zoran driver is split in many modules, but this lead to some problems. One of them is that load order is incorrect when everything is built-in. Having more than one module is useless, so merge all zoran modules in one. Signed-off-by: Corentin Labbe <cl...@ba...> --- drivers/staging/media/zoran/Kconfig | 14 +-- drivers/staging/media/zoran/Makefile | 8 +- drivers/staging/media/zoran/videocodec.c | 36 +------ drivers/staging/media/zoran/videocodec.h | 1 - drivers/staging/media/zoran/zoran_card.c | 119 +++++++++++++++++++---- drivers/staging/media/zoran/zr36016.c | 13 +-- drivers/staging/media/zoran/zr36016.h | 2 + drivers/staging/media/zoran/zr36050.c | 16 +-- drivers/staging/media/zoran/zr36050.h | 2 + drivers/staging/media/zoran/zr36060.c | 14 +-- drivers/staging/media/zoran/zr36060.h | 2 + 11 files changed, 125 insertions(+), 102 deletions(-) diff --git a/drivers/staging/media/zoran/Kconfig b/drivers/staging/media/zoran/Kconfig index 6d6e4c93f873..4067fa93d44d 100644 --- a/drivers/staging/media/zoran/Kconfig +++ b/drivers/staging/media/zoran/Kconfig @@ -15,7 +15,7 @@ config VIDEO_ZORAN module will be called zr36067. config VIDEO_ZORAN_DC30 - tristate "Pinnacle/Miro DC30(+) support" + bool "Pinnacle/Miro DC30(+) support" depends on VIDEO_ZORAN select VIDEO_ADV7175 if MEDIA_SUBDRV_AUTOSELECT select VIDEO_VPX3220 if MEDIA_SUBDRV_AUTOSELECT @@ -25,7 +25,7 @@ config VIDEO_ZORAN_DC30 zr36050 MJPEG codec and zr36016 VFE. config VIDEO_ZORAN_ZR36060 - tristate "Zoran ZR36060" + bool "Zoran ZR36060" depends on VIDEO_ZORAN help Say Y to support Zoran boards based on 36060 chips. @@ -33,7 +33,7 @@ config VIDEO_ZORAN_ZR36060 and 33 R10 and AverMedia 6 boards. config VIDEO_ZORAN_BUZ - tristate "Iomega Buz support" + bool "Iomega Buz support" depends on VIDEO_ZORAN_ZR36060 select VIDEO_SAA711X if MEDIA_SUBDRV_AUTOSELECT select VIDEO_SAA7185 if MEDIA_SUBDRV_AUTOSELECT @@ -41,7 +41,7 @@ config VIDEO_ZORAN_BUZ Support for the Iomega Buz MJPEG capture/playback card. config VIDEO_ZORAN_DC10 - tristate "Pinnacle/Miro DC10(+) support" + bool "Pinnacle/Miro DC10(+) support" depends on VIDEO_ZORAN_ZR36060 select VIDEO_SAA7110 if MEDIA_SUBDRV_AUTOSELECT select VIDEO_ADV7175 if MEDIA_SUBDRV_AUTOSELECT @@ -50,7 +50,7 @@ config VIDEO_ZORAN_DC10 card. config VIDEO_ZORAN_LML33 - tristate "Linux Media Labs LML33 support" + bool "Linux Media Labs LML33 support" depends on VIDEO_ZORAN_ZR36060 select VIDEO_BT819 if MEDIA_SUBDRV_AUTOSELECT select VIDEO_BT856 if MEDIA_SUBDRV_AUTOSELECT @@ -59,7 +59,7 @@ config VIDEO_ZORAN_LML33 card. config VIDEO_ZORAN_LML33R10 - tristate "Linux Media Labs LML33R10 support" + bool "Linux Media Labs LML33R10 support" depends on VIDEO_ZORAN_ZR36060 select VIDEO_SAA711X if MEDIA_SUBDRV_AUTOSELECT select VIDEO_ADV7170 if MEDIA_SUBDRV_AUTOSELECT @@ -68,7 +68,7 @@ config VIDEO_ZORAN_LML33R10 card. config VIDEO_ZORAN_AVS6EYES - tristate "AverMedia 6 Eyes support" + bool "AverMedia 6 Eyes support" depends on VIDEO_ZORAN_ZR36060 select VIDEO_BT856 if MEDIA_SUBDRV_AUTOSELECT select VIDEO_BT866 if MEDIA_SUBDRV_AUTOSELECT diff --git a/drivers/staging/media/zoran/Makefile b/drivers/staging/media/zoran/Makefile index 7023158e3892..9603bac0195c 100644 --- a/drivers/staging/media/zoran/Makefile +++ b/drivers/staging/media/zoran/Makefile @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 zr36067-objs := zoran_device.o \ - zoran_driver.o zoran_card.o + zoran_driver.o zoran_card.o videocodec.o -obj-$(CONFIG_VIDEO_ZORAN) += zr36067.o videocodec.o -obj-$(CONFIG_VIDEO_ZORAN_DC30) += zr36050.o zr36016.o -obj-$(CONFIG_VIDEO_ZORAN_ZR36060) += zr36060.o +obj-$(CONFIG_VIDEO_ZORAN) += zr36067.o +zr36067-$(CONFIG_VIDEO_ZORAN_DC30) += zr36050.o zr36016.o +zr36067-$(CONFIG_VIDEO_ZORAN_ZR36060) += zr36060.o diff --git a/drivers/staging/media/zoran/videocodec.c b/drivers/staging/media/zoran/videocodec.c index 5bab7ba56257..3af7d02bd910 100644 --- a/drivers/staging/media/zoran/videocodec.c +++ b/drivers/staging/media/zoran/videocodec.c @@ -8,8 +8,6 @@ * (c) 2002 Wolfgang Scherr <sc...@ne...> */ -#define VIDEOCODEC_VERSION "v0.2" - #include <linux/kernel.h> #include <linux/module.h> #include <linux/init.h> @@ -72,12 +70,9 @@ struct videocodec *videocodec_attach(struct videocodec_master *master) if ((master->flags & h->codec->flags) == master->flags) { dprintk(4, "%s: try '%s'\n", __func__, h->codec->name); - if (!try_module_get(h->codec->owner)) - return NULL; - codec = kmemdup(h->codec, sizeof(struct videocodec), GFP_KERNEL); if (!codec) - goto out_module_put; + goto out_kfree; res = strlen(codec->name); snprintf(codec->name + res, sizeof(codec->name) - res, "[%d]", h->attached); @@ -113,13 +108,10 @@ struct videocodec *videocodec_attach(struct videocodec_master *master) pr_err("%s: no codec found!\n", __func__); return NULL; - out_module_put: - module_put(h->codec->owner); out_kfree: kfree(codec); return NULL; } -EXPORT_SYMBOL(videocodec_attach); int videocodec_detach(struct videocodec *codec) { @@ -160,7 +152,6 @@ int videocodec_detach(struct videocodec *codec) prev->next = a->next; dprintk(4, "videocodec: delete middle\n"); } - module_put(a->codec->owner); kfree(a->codec); kfree(a); h->attached -= 1; @@ -175,7 +166,6 @@ int videocodec_detach(struct videocodec *codec) pr_err("%s: given codec not found!\n", __func__); return -EINVAL; } -EXPORT_SYMBOL(videocodec_detach); int videocodec_register(const struct videocodec *codec) { @@ -208,7 +198,6 @@ int videocodec_register(const struct videocodec *codec) return 0; } -EXPORT_SYMBOL(videocodec_register); int videocodec_unregister(const struct videocodec *codec) { @@ -255,7 +244,6 @@ int videocodec_unregister(const struct videocodec *codec) pr_err("%s: given codec not found!\n", __func__); return -EINVAL; } -EXPORT_SYMBOL(videocodec_unregister); int videocodec_debugfs_show(struct seq_file *m) { @@ -284,25 +272,3 @@ int videocodec_debugfs_show(struct seq_file *m) return 0; } - -/* ===================== */ -/* hook in driver module */ -/* ===================== */ -static int __init videocodec_init(void) -{ - pr_info("Linux video codec intermediate layer: %s\n", VIDEOCODEC_VERSION); - - return 0; -} - -static void __exit videocodec_exit(void) -{ -} - -module_init(videocodec_init); -module_exit(videocodec_exit); - -MODULE_AUTHOR("Wolfgang Scherr <sc...@ne...>"); -MODULE_DESCRIPTION("Intermediate API module for video codecs " - VIDEOCODEC_VERSION); -MODULE_LICENSE("GPL"); diff --git a/drivers/staging/media/zoran/videocodec.h b/drivers/staging/media/zoran/videocodec.h index 3a508d326049..9dea348fee40 100644 --- a/drivers/staging/media/zoran/videocodec.h +++ b/drivers/staging/media/zoran/videocodec.h @@ -234,7 +234,6 @@ struct jpeg_app_marker { }; struct videocodec { - struct module *owner; /* -- filled in by slave device during register -- */ char name[32]; unsigned long magic; /* may be used for client<->master attaching */ diff --git a/drivers/staging/media/zoran/zoran_card.c b/drivers/staging/media/zoran/zoran_card.c index 28a3363a8838..a7750442ef9e 100644 --- a/drivers/staging/media/zoran/zoran_card.c +++ b/drivers/staging/media/zoran/zoran_card.c @@ -29,6 +29,9 @@ #include "zoran.h" #include "zoran_card.h" #include "zoran_device.h" +#include "zr36016.h" +#include "zr36050.h" +#include "zr36060.h" extern const struct zoran_format zoran_formats[]; @@ -266,6 +269,96 @@ static const char *codecid_to_modulename(u16 codecid) return name; } +static int codec_init(struct zoran *zr, u16 codecid) +{ + switch (codecid) { + case CODEC_TYPE_ZR36060: +#ifdef CONFIG_VIDEO_ZORAN_ZR36060 + return zr36060_init_module(); +#else + pci_err(zr->pci_dev, "ZR36060 support is not enabled\n"); + return -EINVAL; +#endif + break; + case CODEC_TYPE_ZR36050: +#ifdef CONFIG_VIDEO_ZORAN_DC30 + return zr36050_init_module(); +#else + pci_err(zr->pci_dev, "ZR36050 support is not enabled\n"); + return -EINVAL; +#endif + break; + case CODEC_TYPE_ZR36016: +#ifdef CONFIG_VIDEO_ZORAN_DC30 + return zr36016_init_module(); +#else + pci_err(zr->pci_dev, "ZR36016 support is not enabled\n"); + return -EINVAL; +#endif + break; + } + + pci_err(zr->pci_dev, "unknown codec id %x\n", codecid); + return -EINVAL; +} + +static void codec_exit(struct zoran *zr, u16 codecid) +{ + switch (codecid) { + case CODEC_TYPE_ZR36060: +#ifdef CONFIG_VIDEO_ZORAN_ZR36060 + zr36060_cleanup_module(); +#endif + break; + case CODEC_TYPE_ZR36050: +#ifdef CONFIG_VIDEO_ZORAN_DC30 + zr36050_cleanup_module(); +#endif + break; + case CODEC_TYPE_ZR36016: +#ifdef CONFIG_VIDEO_ZORAN_DC30 + zr36016_cleanup_module(); +#endif + break; + } +} + +static int videocodec_init(struct zoran *zr) +{ + const char *codec_name, *vfe_name; + int result; + + codec_name = codecid_to_modulename(zr->card.video_codec); + if (codec_name) { + result = codec_init(zr, zr->card.video_codec); + if (result < 0) { + pci_err(zr->pci_dev, "failed to load video codec %s: %d\n", + codec_name, result); + return result; + } + } + vfe_name = codecid_to_modulename(zr->card.video_vfe); + if (vfe_name) { + result = codec_init(zr, zr->card.video_vfe); + if (result < 0) { + pci_err(zr->pci_dev, "failed to load video vfe %s: %d\n", + vfe_name, result); + if (codec_name) + codec_exit(zr, zr->card.video_codec); + return result; + } + } + return 0; +} + +static void videocodec_exit(struct zoran *zr) +{ + if (zr->card.video_codec != CODEC_TYPE_NONE) + codec_exit(zr, zr->card.video_codec); + if (zr->card.video_vfe != CODEC_TYPE_NONE) + codec_exit(zr, zr->card.video_vfe); +} + // struct tvnorm { // u16 wt, wa, h_start, h_sync_start, ht, ha, v_start; // }; @@ -954,6 +1047,7 @@ static void zoran_remove(struct pci_dev *pdev) videocodec_detach(zr->codec); if (zr->vfe) videocodec_detach(zr->vfe); + videocodec_exit(zr); /* unregister i2c bus */ zoran_unregister_i2c(zr); @@ -1079,6 +1173,8 @@ static int zoran_debugfs_show(struct seq_file *seq, void *v) seq_printf(seq, "Prepared %u\n", zr->prepared); seq_printf(seq, "Queued %u\n", zr->queued); + + videocodec_debugfs_show(seq); return 0; } @@ -1096,7 +1192,6 @@ static int zoran_probe(struct pci_dev *pdev, const struct pci_device_id *ent) struct videocodec_master *master_vfe = NULL; struct videocodec_master *master_codec = NULL; int card_num; - const char *codec_name, *vfe_name; unsigned int nr; int err; @@ -1258,23 +1353,9 @@ static int zoran_probe(struct pci_dev *pdev, const struct pci_device_id *ent) zr->card.addrs_encoder); pci_info(zr->pci_dev, "Initializing videocodec bus...\n"); - - if (zr->card.video_codec) { - codec_name = codecid_to_modulename(zr->card.video_codec); - if (codec_name) { - result = request_module(codec_name); - if (result) - pci_err(pdev, "failed to load modules %s: %d\n", codec_name, result); - } - } - if (zr->card.video_vfe) { - vfe_name = codecid_to_modulename(zr->card.video_vfe); - if (vfe_name) { - result = request_module(vfe_name); - if (result < 0) - pci_err(pdev, "failed to load modules %s: %d\n", vfe_name, result); - } - } + err = videocodec_init(zr); + if (err) + goto zr_unreg_i2c; /* reset JPEG codec */ jpeg_codec_sleep(zr, 1); @@ -1328,6 +1409,8 @@ static int zoran_probe(struct pci_dev *pdev, const struct pci_device_id *ent) videocodec_detach(zr->vfe); zr_detach_codec: videocodec_detach(zr->codec); +zr_unreg_videocodec: + videocodec_exit(zr); zr_unreg_i2c: zoran_unregister_i2c(zr); zr_free_irq: diff --git a/drivers/staging/media/zoran/zr36016.c b/drivers/staging/media/zoran/zr36016.c index 50605460a44b..26c7c32b6bc0 100644 --- a/drivers/staging/media/zoran/zr36016.c +++ b/drivers/staging/media/zoran/zr36016.c @@ -390,7 +390,6 @@ static int zr36016_setup(struct videocodec *codec) } static const struct videocodec zr36016_codec = { - .owner = THIS_MODULE, .name = "zr36016", .magic = 0L, /* magic not used */ .flags = @@ -409,14 +408,13 @@ static const struct videocodec zr36016_codec = { HOOK IN DRIVER AS KERNEL MODULE ========================================================================= */ -static int __init zr36016_init_module(void) +int zr36016_init_module(void) { - //dprintk(1, "ZR36016 driver %s\n",ZR016_VERSION); zr36016_codecs = 0; return videocodec_register(&zr36016_codec); } -static void __exit zr36016_cleanup_module(void) +void zr36016_cleanup_module(void) { if (zr36016_codecs) { dprintk(1, @@ -425,10 +423,3 @@ static void __exit zr36016_cleanup_module(void) } videocodec_unregister(&zr36016_codec); } - -module_init(zr36016_init_module); -module_exit(zr36016_cleanup_module); - -MODULE_AUTHOR("Wolfgang Scherr <sc...@ne...>"); -MODULE_DESCRIPTION("Driver module for ZR36016 video frontends"); -MODULE_LICENSE("GPL"); diff --git a/drivers/staging/media/zoran/zr36016.h b/drivers/staging/media/zoran/zr36016.h index 1475f971cc24..04afba35669d 100644 --- a/drivers/staging/media/zoran/zr36016.h +++ b/drivers/staging/media/zoran/zr36016.h @@ -89,4 +89,6 @@ struct zr36016 { #define ZR016_SIGN 0x02 #define ZR016_YMCS 0x01 +int zr36016_init_module(void); +void zr36016_cleanup_module(void); #endif /*fndef ZR36016_H */ diff --git a/drivers/staging/media/zoran/zr36050.c b/drivers/staging/media/zoran/zr36050.c index 4dc7927fefc3..38f7021e7b06 100644 --- a/drivers/staging/media/zoran/zr36050.c +++ b/drivers/staging/media/zoran/zr36050.c @@ -5,8 +5,6 @@ * Copyright (C) 2001 Wolfgang Scherr <sc...@ne...> */ -#define ZR050_VERSION "v0.7.1" - #include <linux/module.h> #include <linux/init.h> #include <linux/slab.h> @@ -798,7 +796,6 @@ static int zr36050_setup(struct videocodec *codec) } static const struct videocodec zr36050_codec = { - .owner = THIS_MODULE, .name = "zr36050", .magic = 0L, // magic not used .flags = @@ -817,14 +814,13 @@ static const struct videocodec zr36050_codec = { HOOK IN DRIVER AS KERNEL MODULE ========================================================================= */ -static int __init zr36050_init_module(void) +int zr36050_init_module(void) { - //dprintk(1, "ZR36050 driver %s\n",ZR050_VERSION); zr36050_codecs = 0; return videocodec_register(&zr36050_codec); } -static void __exit zr36050_cleanup_module(void) +void zr36050_cleanup_module(void) { if (zr36050_codecs) { dprintk(1, @@ -833,11 +829,3 @@ static void __exit zr36050_cleanup_module(void) } videocodec_unregister(&zr36050_codec); } - -module_init(zr36050_init_module); -module_exit(zr36050_cleanup_module); - -MODULE_AUTHOR("Wolfgang Scherr <sc...@ne...>"); -MODULE_DESCRIPTION("Driver module for ZR36050 jpeg processors " - ZR050_VERSION); -MODULE_LICENSE("GPL"); diff --git a/drivers/staging/media/zoran/zr36050.h b/drivers/staging/media/zoran/zr36050.h index 8f972d045b58..f9b58f4c77b9 100644 --- a/drivers/staging/media/zoran/zr36050.h +++ b/drivers/staging/media/zoran/zr36050.h @@ -160,4 +160,6 @@ struct zr36050 { #define ZR050_U_COMPONENT 1 #define ZR050_V_COMPONENT 2 +int zr36050_init_module(void); +void zr36050_cleanup_module(void); #endif /*fndef ZR36050_H */ diff --git a/drivers/staging/media/zoran/zr36060.c b/drivers/staging/media/zoran/zr36060.c index 7904d5b1f402..d0c369e31c81 100644 --- a/drivers/staging/media/zoran/zr36060.c +++ b/drivers/staging/media/zoran/zr36060.c @@ -5,8 +5,6 @@ * Copyright (C) 2002 Laurent Pinchart <lau...@sk...> */ -#define ZR060_VERSION "v0.7" - #include <linux/module.h> #include <linux/init.h> #include <linux/slab.h> @@ -831,7 +829,6 @@ static int zr36060_setup(struct videocodec *codec) } static const struct videocodec zr36060_codec = { - .owner = THIS_MODULE, .name = "zr36060", .magic = 0L, // magic not used .flags = @@ -846,13 +843,13 @@ static const struct videocodec zr36060_codec = { // others are not used }; -static int __init zr36060_init_module(void) +int zr36060_init_module(void) { zr36060_codecs = 0; return videocodec_register(&zr36060_codec); } -static void __exit zr36060_cleanup_module(void) +void zr36060_cleanup_module(void) { if (zr36060_codecs) { dprintk(1, @@ -863,10 +860,3 @@ static void __exit zr36060_cleanup_module(void) /* however, we can't just stay alive */ videocodec_unregister(&zr36060_codec); } - -module_init(zr36060_init_module); -module_exit(zr36060_cleanup_module); - -MODULE_AUTHOR("Laurent Pinchart <lau...@sk...>"); -MODULE_DESCRIPTION("Driver module for ZR36060 jpeg processors " ZR060_VERSION); -MODULE_LICENSE("GPL"); diff --git a/drivers/staging/media/zoran/zr36060.h b/drivers/staging/media/zoran/zr36060.h index d2cdc26bf625..fbf5429534ac 100644 --- a/drivers/staging/media/zoran/zr36060.h +++ b/drivers/staging/media/zoran/zr36060.h @@ -198,4 +198,6 @@ struct zr36060 { #define ZR060_SR_H_SCALE2 BIT(0) #define ZR060_SR_H_SCALE4 (2 << 0) +int zr36060_init_module(void); +void zr36060_cleanup_module(void); #endif /*fndef ZR36060_H */ -- 2.32.0 |
From: Corentin L. <cl...@ba...> - 2021-12-14 16:39:21
|
From: Hans Verkuil <han...@ci...> TRY_FMT must not set actual capture values (zr->buffer_size in this case), since it is a 'try' only. zoran_try_fmt_vid_cap() also didn't fill in fmt->fmt.pix.bytesperline and fmt->fmt.pix.sizeimage correctly. Signed-off-by: Hans Verkuil <han...@ci...> Signed-off-by: Corentin Labbe <cl...@ba...> --- drivers/staging/media/zoran/zoran_driver.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/staging/media/zoran/zoran_driver.c b/drivers/staging/media/zoran/zoran_driver.c index dd19ee023d91..367fe4be8357 100644 --- a/drivers/staging/media/zoran/zoran_driver.c +++ b/drivers/staging/media/zoran/zoran_driver.c @@ -398,7 +398,6 @@ static int zoran_try_fmt_vid_out(struct file *file, void *__fh, V4L2_FIELD_TOP : V4L2_FIELD_BOTTOM); fmt->fmt.pix.sizeimage = zoran_v4l2_calc_bufsize(&settings); - zr->buffer_size = fmt->fmt.pix.sizeimage; fmt->fmt.pix.bytesperline = 0; fmt->fmt.pix.colorspace = V4L2_COLORSPACE_SMPTE170M; return res; @@ -433,6 +432,8 @@ static int zoran_try_fmt_vid_cap(struct file *file, void *__fh, bpp = DIV_ROUND_UP(zoran_formats[i].depth, 8); v4l_bound_align_image(&fmt->fmt.pix.width, BUZ_MIN_WIDTH, BUZ_MAX_WIDTH, bpp == 2 ? 1 : 2, &fmt->fmt.pix.height, BUZ_MIN_HEIGHT, BUZ_MAX_HEIGHT, 0, 0); + fmt->fmt.pix.bytesperline = fmt->fmt.pix.width * bpp; + fmt->fmt.pix.sizeimage = fmt->fmt.pix.bytesperline * fmt->fmt.pix.height; return 0; } -- 2.32.0 |
From: Corentin L. <cl...@ba...> - 2021-12-14 16:17:13
|
From: Hans Verkuil <hve...@xs...> This fixes several issues found with 'v4l2-compliance -s': 1) read()/write() is supported, but not reported in the capabilities 2) S_STD(G_STD()) failed: setting the same standard should just return 0. 3) G_PARM failed to set readbuffers. 4) different field values in the format vs. what v4l2_buffer reported. 5) zero the sequence number when starting streaming. 6) drop VB_USERPTR: makes no sense with dma_contig streaming. Signed-off-by: Hans Verkuil <hve...@xs...> Signed-off-by: Corentin Labbe <cl...@ba...> --- drivers/staging/media/zoran/zoran_card.c | 2 +- drivers/staging/media/zoran/zoran_driver.c | 13 ++++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/drivers/staging/media/zoran/zoran_card.c b/drivers/staging/media/zoran/zoran_card.c index 59df1e7691f9..e6d3558323a9 100644 --- a/drivers/staging/media/zoran/zoran_card.c +++ b/drivers/staging/media/zoran/zoran_card.c @@ -879,7 +879,7 @@ static int zoran_init_video_device(struct zoran *zr, struct video_device *video_ *video_dev = zoran_template; video_dev->v4l2_dev = &zr->v4l2_dev; video_dev->lock = &zr->lock; - video_dev->device_caps = V4L2_CAP_STREAMING | dir; + video_dev->device_caps = V4L2_CAP_STREAMING | V4L2_CAP_READWRITE | dir; strscpy(video_dev->name, ZR_DEVNAME(zr), sizeof(video_dev->name)); /* diff --git a/drivers/staging/media/zoran/zoran_driver.c b/drivers/staging/media/zoran/zoran_driver.c index 32d76876c683..dd19ee023d91 100644 --- a/drivers/staging/media/zoran/zoran_driver.c +++ b/drivers/staging/media/zoran/zoran_driver.c @@ -253,8 +253,6 @@ static int zoran_querycap(struct file *file, void *__fh, struct v4l2_capability strscpy(cap->card, ZR_DEVNAME(zr), sizeof(cap->card)); strscpy(cap->driver, "zoran", sizeof(cap->driver)); snprintf(cap->bus_info, sizeof(cap->bus_info), "PCI:%s", pci_name(zr->pci_dev)); - cap->device_caps = zr->video_dev->device_caps; - cap->capabilities = cap->device_caps | V4L2_CAP_DEVICE_CAPS; return 0; } @@ -580,6 +578,9 @@ static int zoran_s_std(struct file *file, void *__fh, v4l2_std_id std) struct zoran *zr = video_drvdata(file); int res = 0; + if (zr->norm == std) + return 0; + if (zr->running != ZORAN_MAP_MODE_NONE) return -EBUSY; @@ -737,6 +738,7 @@ static int zoran_g_parm(struct file *file, void *priv, struct v4l2_streamparm *p if (parm->type != V4L2_BUF_TYPE_VIDEO_CAPTURE) return -EINVAL; + parm->parm.capture.readbuffers = 9; return 0; } @@ -867,6 +869,10 @@ int zr_set_buf(struct zoran *zr) vbuf = &buf->vbuf; buf->vbuf.field = V4L2_FIELD_INTERLACED; + if (BUZ_MAX_HEIGHT < (zr->v4l_settings.height * 2)) + buf->vbuf.field = V4L2_FIELD_INTERLACED; + else + buf->vbuf.field = V4L2_FIELD_TOP; vb2_set_plane_payload(&buf->vbuf.vb2_buf, 0, zr->buffer_size); vb2_buffer_done(&buf->vbuf.vb2_buf, VB2_BUF_STATE_DONE); zr->inuse[0] = NULL; @@ -927,6 +933,7 @@ static int zr_vb2_start_streaming(struct vb2_queue *vq, unsigned int count) zr->stat_com[j] = cpu_to_le32(1); zr->inuse[j] = NULL; } + zr->vbseq = 0; if (zr->map_mode != ZORAN_MAP_MODE_RAW) { pci_info(zr->pci_dev, "START JPG\n"); @@ -1017,7 +1024,7 @@ int zoran_queue_init(struct zoran *zr, struct vb2_queue *vq, int dir) vq->dev = &zr->pci_dev->dev; vq->type = dir; - vq->io_modes = VB2_USERPTR | VB2_DMABUF | VB2_MMAP | VB2_READ | VB2_WRITE; + vq->io_modes = VB2_DMABUF | VB2_MMAP | VB2_READ | VB2_WRITE; vq->drv_priv = zr; vq->buf_struct_size = sizeof(struct zr_buffer); vq->ops = &zr_video_qops; -- 2.32.0 |
From: Corentin L. <cl...@ba...> - 2021-12-14 16:17:12
|
On the case tmp_dcim=1, the index of buffer is miscalculated. This generate a NULL pointer dereference later. So let's fix the calcul and add a check to prevent this to reappear. Signed-off-by: Corentin Labbe <cl...@ba...> --- drivers/staging/media/zoran/zoran_device.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/staging/media/zoran/zoran_device.c b/drivers/staging/media/zoran/zoran_device.c index 5b12a730a229..294e459307c3 100644 --- a/drivers/staging/media/zoran/zoran_device.c +++ b/drivers/staging/media/zoran/zoran_device.c @@ -814,7 +814,7 @@ static void zoran_reap_stat_com(struct zoran *zr) if (zr->jpg_settings.tmp_dcm == 1) i = (zr->jpg_dma_tail - zr->jpg_err_shift) & BUZ_MASK_STAT_COM; else - i = ((zr->jpg_dma_tail - zr->jpg_err_shift) & 1) * 2 + 1; + i = ((zr->jpg_dma_tail - zr->jpg_err_shift) & 1) * 2; stat_com = le32_to_cpu(zr->stat_com[i]); if ((stat_com & 1) == 0) { @@ -826,6 +826,11 @@ static void zoran_reap_stat_com(struct zoran *zr) size = (stat_com & GENMASK(22, 1)) >> 1; buf = zr->inuse[i]; + if (!buf) { + spin_unlock_irqrestore(&zr->queued_bufs_lock, flags); + pci_err(zr->pci_dev, "No buffer at slot %d\n", i); + return; + } buf->vbuf.vb2_buf.timestamp = ktime_get_ns(); if (zr->codec_mode == BUZ_MODE_MOTION_COMPRESS) { -- 2.32.0 |
From: LABBE C. <cl...@ba...> - 2021-11-16 14:13:19
|
Le Mon, Nov 08, 2021 at 09:21:22AM +0100, Hans Verkuil a écrit : > On 07/11/2021 17:35, LABBE Corentin wrote: > > Le Wed, Nov 03, 2021 at 05:29:46PM +0100, Hans Verkuil a écrit : > >> On 03/11/2021 16:57, LABBE Corentin wrote: > >>> Le Wed, Nov 03, 2021 at 04:21:02PM +0100, Hans Verkuil a écrit : > >>>> Hi Corentin, > >>>> > >>>> On 26/10/2021 21:34, Corentin Labbe wrote: > >>>>> Hello > >>>>> > >>>>> The main change of this serie is to fusion all zoran related modules in > >>>>> one. > >>>>> This fixes the load order problem when everything is built-in. > >>>> > >>>> I've been testing this series, and while the module load/unload is now working, > >>>> I'm running into a lot of other v4l2 compliance issues. > >>>> > >>>> I've fixed various issues in some follow-up patches available in my tree: > >>>> > >>>> https://git.linuxtv.org/hverkuil/media_tree.git/log/?h=zoran > >>>> > >>>> At least some of the worst offenders are now resolved. Note that the patch > >>>> dropping read/write support relies on this patch: > >>>> > >>>> https://patchwork.linuxtv.org/project/linux-media/patch/4f8...@xs.../ > >>> > >>> Hello > >>> > >>> My test branch already included your "zoran: fix various V4L2 compliance errors" > >>> I have quickly checked other patch and I am ok with them. > >>> I will add and test with them. > >>> > >>>> > >>>> But there is one really major bug that makes me hesitant to merge this: > >>>> > >>>> This works: > >>>> > >>>> v4l2-ctl -v pixelformat=MJPG,width=768,height=576 > >>>> v4l2-ctl --stream-mmap > >>>> > >>>> This fails: > >>>> > >>>> v4l2-ctl -v pixelformat=MJPG,width=768,height=288 > >>>> v4l2-ctl --stream-mmap > >>>> > >>>> It's an immediate lock up with nothing to indicate what is wrong. > >>>> As soon as the height is 288 or less, this happens. > >>>> > >>>> Both with my DC30 and DC30D. > >>> > >>> Just for curiosity, what is the difference between thoses two ? > >> > >> It's the DC30 variant without an adv7175. > >> > >>> > >>>> > >>>> Do you see the same? Any idea what is going on? I would feel much happier > >>>> if this is fixed. > >>>> > >>>> Note that the same problem is present without this patch series, so it's > >>>> been there for some time. > >>>> > >>> > >>> I will start on digging this problem and add thoses commands to my CI. > >>> And I know there are a huge quantity of problem since origins. > >>> A simple example is that just setting MJPEG as default input format does not work. > >>> > >>> But since it is not related to my serie, can you please merge it. > >> > >> Before I do that, I would really like to know a bit more about this issue: > >> can you reproduce it? Is it DC30 specific or a general problem with zoran? > >> > >> The problem with this hard hang is that it is hard to do regression testing > >> with v4l2-compliance, since it will hang as soon as MJPG pixelformat is > >> tested. > >> > >> I would feel much happier if the hang can be avoided, even if it is just > >> with a temporary hack. It will make it much easier going forward. > >> > > > > I found the bug > > > > The null pointer deref was in zoran_reap_stat_com() due to > > buf = zr->inuse[i]; > > ... > > buf->vbuf.vb2_buf.timestamp = ktime_get_ns(); > > with buf = NULL; > > > > It is due to miscalculation of "i". > > > > I will resend my serie with the fix for that. > > Excellent news! Thank you for tracking this one down. > > When you post your series, can you include my patches from > https://git.linuxtv.org/hverkuil/media_tree.git/log/?h=zoran as well? > Hello Yes, I will include them. Regards |