Reorganize media Kconfig
Subsystems (2)
PATCH 3/8 media: pci: move VIDEO_PCI_SKELETON to a different Kconfig
In reply to Mauro Carvalho ChehabThe V4L2 PCI skeleton is not part of the V4L2 core. Move it to appear together with the other PCI drivers, at the end, as this is something that normal users don't even need to bother.
--- drivers/media/pci/Kconfig | 10 ++++++++++ drivers/media/v4l2-core/Kconfig | 10 ---------- 2 files changed, 10 insertions(+), 10 deletions(-)
drivers/media/pci/Kconfig +10 -0
@@ -56,5 +56,15 @@ endif source "drivers/media/pci/intel/ipu3/Kconfig" +config VIDEO_PCI_SKELETON + tristate "Skeleton PCI V4L2 driver" + depends on PCI + depends on SAMPLES + depends on VIDEO_V4L2 && VIDEOBUF2_CORE + depends on VIDEOBUF2_MEMOPS && VIDEOBUF2_DMA_CONTIG + help + Enable build of the skeleton PCI driver, used as a reference + when developing new drivers. + endif #MEDIA_PCI_SUPPORT endif #PCI
drivers/media/v4l2-core/Kconfig +0 -10
@@ -31,16 +31,6 @@ config VIDEO_FIXED_MINOR_RANGES When in doubt, say N. -config VIDEO_PCI_SKELETON - tristate "Skeleton PCI V4L2 driver" - depends on PCI - depends on SAMPLES - depends on VIDEO_V4L2 && VIDEOBUF2_CORE - depends on VIDEOBUF2_MEMOPS && VIDEOBUF2_DMA_CONTIG - help - Enable build of the skeleton PCI driver, used as a reference - when developing new drivers. - # Used by drivers that need tuner.ko config VIDEO_TUNER tristate
Signature · 1 line
2.24.1
cover Reorganize media Kconfig
This patch series do some reorg at the media Kconfig options. It also move test drivers from platform dir to a new one.
After this change, the main config is organized on 4 sections, indicated via "comment" directives:
- type of devices selection - the filtering options
- Media core options - with API and other core stuff
- Media drivers
- Media ancillary drivers
The "type of devices" menu has the filtering options for:
- Cameras and video grabbers
- Analog TV
- Digital TV
- AM/FM radio receivers/transmitters
- SDR
- CEC
- Embeded devices (SoC)
- Test drivers
This way, one interested only on embedded devices can unselect everything but "Embedded devices (SoC)" option.
Distros for PC/Laptops can enable everything but
"Embedded devices (SoC)" and "Test drivers".
Users can select just what they want, without bothering with hundreds of options that he won't have any clue about their meanings.
Mauro Carvalho Chehab (8):
media: dvb-usb: auto-select CYPRESS_FIRMWARE
media: Kconfig: not all V4L2 platform drivers are for camera
media: pci: move VIDEO_PCI_SKELETON to a different Kconfig
media: reorganize the drivers menu options
media: Kconfig: update the MEDIA_SUPPORT help message
media: Kconfig: use a sub-menu to select supported devices
media: Kconfig: add an option to filter in/out the embedded drivers
media: split test drivers from platform directory
drivers/media/Kconfig | 65 ++++++++++++++-----
drivers/media/common/Kconfig | 2 +-
drivers/media/mmc/Kconfig | 2 +-
drivers/media/pci/Kconfig | 10 +++
drivers/media/platform/Kconfig | 24 -------
drivers/media/platform/Makefile | 5 --
drivers/media/test_drivers/Kconfig | 28 ++++++++
drivers/media/test_drivers/Makefile | 9 +++
.../vicodec/Kconfig | 0
.../vicodec/Makefile | 0
.../vicodec/codec-fwht.c | 0
.../vicodec/codec-fwht.h | 0
.../vicodec/codec-v4l2-fwht.c | 0
.../vicodec/codec-v4l2-fwht.h | 0
.../vicodec/vicodec-core.c | 0
.../media/{platform => test_drivers}/vim2m.c | 0
.../{platform => test_drivers}/vimc/Kconfig | 0
.../{platform => test_drivers}/vimc/Makefile | 0
.../vimc/vimc-capture.c | 0
.../vimc/vimc-common.c | 0
.../vimc/vimc-common.h | 0
.../vimc/vimc-core.c | 0
.../vimc/vimc-debayer.c | 0
.../vimc/vimc-scaler.c | 0
.../vimc/vimc-sensor.c | 0
.../vimc/vimc-streamer.c | 0
.../vimc/vimc-streamer.h | 0
.../{platform => test_drivers}/vivid/Kconfig | 0
.../{platform => test_drivers}/vivid/Makefile | 0
.../vivid/vivid-cec.c | 0
.../vivid/vivid-cec.h | 0
.../vivid/vivid-core.c | 0
.../vivid/vivid-core.h | 0
.../vivid/vivid-ctrls.c | 0
.../vivid/vivid-ctrls.h | 0
.../vivid/vivid-kthread-cap.c | 0
.../vivid/vivid-kthread-cap.h | 0
.../vivid/vivid-kthread-out.c | 0
.../vivid/vivid-kthread-out.h | 0
.../vivid/vivid-kthread-touch.c | 0
.../vivid/vivid-kthread-touch.h | 0
.../vivid/vivid-meta-cap.c | 0
.../vivid/vivid-meta-cap.h | 0
.../vivid/vivid-meta-out.c | 0
.../vivid/vivid-meta-out.h | 0
.../vivid/vivid-osd.c | 0
.../vivid/vivid-osd.h | 0
.../vivid/vivid-radio-common.c | 0
.../vivid/vivid-radio-common.h | 0
.../vivid/vivid-radio-rx.c | 0
.../vivid/vivid-radio-rx.h | 0
.../vivid/vivid-radio-tx.c | 0
.../vivid/vivid-radio-tx.h | 0
.../vivid/vivid-rds-gen.c | 0
.../vivid/vivid-rds-gen.h | 0
.../vivid/vivid-sdr-cap.c | 0
.../vivid/vivid-sdr-cap.h | 0
.../vivid/vivid-touch-cap.c | 0
.../vivid/vivid-touch-cap.h | 0
.../vivid/vivid-vbi-cap.c | 0
.../vivid/vivid-vbi-cap.h | 0
.../vivid/vivid-vbi-gen.c | 0
.../vivid/vivid-vbi-gen.h | 0
.../vivid/vivid-vbi-out.c | 0
.../vivid/vivid-vbi-out.h | 0
.../vivid/vivid-vid-cap.c | 0
.../vivid/vivid-vid-cap.h | 0
.../vivid/vivid-vid-common.c | 0
.../vivid/vivid-vid-common.h | 0
.../vivid/vivid-vid-out.c | 0
.../vivid/vivid-vid-out.h | 0
drivers/media/usb/dvb-usb/Kconfig | 1 +
drivers/media/v4l2-core/Kconfig | 10 ---
73 files changed, 98 insertions(+), 58 deletions(-)
create mode 100644 drivers/media/test_drivers/Kconfig
create mode 100644 drivers/media/test_drivers/Makefile
rename drivers/media/{platform => test_drivers}/vicodec/Kconfig (100%)
rename drivers/media/{platform => test_drivers}/vicodec/Makefile (100%)
rename drivers/media/{platform => test_drivers}/vicodec/codec-fwht.c (100%)
rename drivers/media/{platform => test_drivers}/vicodec/codec-fwht.h (100%)
rename drivers/media/{platform => test_drivers}/vicodec/codec-v4l2-fwht.c (100%)
rename drivers/media/{platform => test_drivers}/vicodec/codec-v4l2-fwht.h (100%)
rename drivers/media/{platform => test_drivers}/vicodec/vicodec-core.c (100%)
rename drivers/media/{platform => test_drivers}/vim2m.c (100%)
rename drivers/media/{platform => test_drivers}/vimc/Kconfig (100%)
rename drivers/media/{platform => test_drivers}/vimc/Makefile (100%)
rename drivers/media/{platform => test_drivers}/vimc/vimc-capture.c (100%)
rename drivers/media/{platform => test_drivers}/vimc/vimc-common.c (100%)
rename drivers/media/{platform => test_drivers}/vimc/vimc-common.h (100%)
rename drivers/media/{platform => test_drivers}/vimc/vimc-core.c (100%)
rename drivers/media/{platform => test_drivers}/vimc/vimc-debayer.c (100%)
rename drivers/media/{platform => test_drivers}/vimc/vimc-scaler.c (100%)
rename drivers/media/{platform => test_drivers}/vimc/vimc-sensor.c (100%)
rename drivers/media/{platform => test_drivers}/vimc/vimc-streamer.c (100%)
rename drivers/media/{platform => test_drivers}/vimc/vimc-streamer.h (100%)
rename drivers/media/{platform => test_drivers}/vivid/Kconfig (100%)
rename drivers/media/{platform => test_drivers}/vivid/Makefile (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-cec.c (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-cec.h (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-core.c (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-core.h (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-ctrls.c (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-ctrls.h (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-cap.c (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-cap.h (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-out.c (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-out.h (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-touch.c (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-touch.h (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-meta-cap.c (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-meta-cap.h (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-meta-out.c (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-meta-out.h (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-osd.c (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-osd.h (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-common.c (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-common.h (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-rx.c (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-rx.h (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-tx.c (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-tx.h (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-rds-gen.c (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-rds-gen.h (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-sdr-cap.c (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-sdr-cap.h (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-touch-cap.c (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-touch-cap.h (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-cap.c (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-cap.h (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-gen.c (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-gen.h (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-out.c (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-out.h (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-cap.c (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-cap.h (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-common.c (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-common.h (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-out.c (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-out.h (100%)Signature · 1 line
2.24.1
PATCH 1/8 media: dvb-usb: auto-select CYPRESS_FIRMWARE
At least some of the supported boards by dvb-usb driver need to load the cypress firmware, so select it, as otherwise missing dependencies may popup.
Also, as the cypress firmware load routines are needed only by the dvb-usb, dvb-usb-v2 and go7007 drivers, and those all (now) select it, there's no need to ask the user for manually select it.
--- drivers/media/common/Kconfig | 2 +- drivers/media/usb/dvb-usb/Kconfig | 1 + 2 files changed, 2 insertions(+), 1 deletion(-)
drivers/media/common/Kconfig +1 -1
@@ -14,7 +14,7 @@ config VIDEO_TVEEPROM depends on I2C config CYPRESS_FIRMWARE - tristate "Cypress firmware helper routines" + tristate depends on USB source "drivers/media/common/videobuf2/Kconfig"
drivers/media/usb/dvb-usb/Kconfig +1 -0
@@ -2,6 +2,7 @@ config DVB_USB tristate "Support for various USB DVB devices" depends on DVB_CORE && USB && I2C && RC_CORE + select CYPRESS_FIRMWARE help By enabling this you will be able to choose the various supported USB1.1 and USB2.0 DVB devices.
Signature · 1 line
2.24.1
PATCH 8/8 media: split test drivers from platform directory
In reply to Mauro Carvalho ChehabWhen the first test device was added (vivi.c), there were just one file. I was too lazy on that time to create a separate directory just for it, so I kept it together with platform.
Now, we have vivid, vicodec, vim2m and vimc. Also, a new virtual driver has been prepared to support DVB API.
So, it is time to solve this mess, by placing test stuff on a separate directory.
It should be noticed that we also have some skeleton drivers (for V4L and for DVB). For now, we'll keep them separate, as they're not really test drivers, but instead, just examples. The DVB frontend ones will likely be part of a new DVB test driver. By that time, it should make sense to move them here as well.
---
drivers/media/Kconfig | 12 ++++++++
drivers/media/platform/Kconfig | 23 ---------------
drivers/media/platform/Makefile | 5 ----
drivers/media/test_drivers/Kconfig | 28 +++++++++++++++++++
drivers/media/test_drivers/Makefile | 9 ++++++
.../vicodec/Kconfig | 0
.../vicodec/Makefile | 0
.../vicodec/codec-fwht.c | 0
.../vicodec/codec-fwht.h | 0
.../vicodec/codec-v4l2-fwht.c | 0
.../vicodec/codec-v4l2-fwht.h | 0
.../vicodec/vicodec-core.c | 0
.../media/{platform => test_drivers}/vim2m.c | 0
.../{platform => test_drivers}/vimc/Kconfig | 0
.../{platform => test_drivers}/vimc/Makefile | 0
.../vimc/vimc-capture.c | 0
.../vimc/vimc-common.c | 0
.../vimc/vimc-common.h | 0
.../vimc/vimc-core.c | 0
.../vimc/vimc-debayer.c | 0
.../vimc/vimc-scaler.c | 0
.../vimc/vimc-sensor.c | 0
.../vimc/vimc-streamer.c | 0
.../vimc/vimc-streamer.h | 0
.../{platform => test_drivers}/vivid/Kconfig | 0
.../{platform => test_drivers}/vivid/Makefile | 0
.../vivid/vivid-cec.c | 0
.../vivid/vivid-cec.h | 0
.../vivid/vivid-core.c | 0
.../vivid/vivid-core.h | 0
.../vivid/vivid-ctrls.c | 0
.../vivid/vivid-ctrls.h | 0
.../vivid/vivid-kthread-cap.c | 0
.../vivid/vivid-kthread-cap.h | 0
.../vivid/vivid-kthread-out.c | 0
.../vivid/vivid-kthread-out.h | 0
.../vivid/vivid-kthread-touch.c | 0
.../vivid/vivid-kthread-touch.h | 0
.../vivid/vivid-meta-cap.c | 0
.../vivid/vivid-meta-cap.h | 0
.../vivid/vivid-meta-out.c | 0
.../vivid/vivid-meta-out.h | 0
.../vivid/vivid-osd.c | 0
.../vivid/vivid-osd.h | 0
.../vivid/vivid-radio-common.c | 0
.../vivid/vivid-radio-common.h | 0
.../vivid/vivid-radio-rx.c | 0
.../vivid/vivid-radio-rx.h | 0
.../vivid/vivid-radio-tx.c | 0
.../vivid/vivid-radio-tx.h | 0
.../vivid/vivid-rds-gen.c | 0
.../vivid/vivid-rds-gen.h | 0
.../vivid/vivid-sdr-cap.c | 0
.../vivid/vivid-sdr-cap.h | 0
.../vivid/vivid-touch-cap.c | 0
.../vivid/vivid-touch-cap.h | 0
.../vivid/vivid-vbi-cap.c | 0
.../vivid/vivid-vbi-cap.h | 0
.../vivid/vivid-vbi-gen.c | 0
.../vivid/vivid-vbi-gen.h | 0
.../vivid/vivid-vbi-out.c | 0
.../vivid/vivid-vbi-out.h | 0
.../vivid/vivid-vid-cap.c | 0
.../vivid/vivid-vid-cap.h | 0
.../vivid/vivid-vid-common.c | 0
.../vivid/vivid-vid-common.h | 0
.../vivid/vivid-vid-out.c | 0
.../vivid/vivid-vid-out.h | 0
68 files changed, 49 insertions(+), 28 deletions(-)
create mode 100644 drivers/media/test_drivers/Kconfig
create mode 100644 drivers/media/test_drivers/Makefile
rename drivers/media/{platform => test_drivers}/vicodec/Kconfig (100%)
rename drivers/media/{platform => test_drivers}/vicodec/Makefile (100%)
rename drivers/media/{platform => test_drivers}/vicodec/codec-fwht.c (100%)
rename drivers/media/{platform => test_drivers}/vicodec/codec-fwht.h (100%)
rename drivers/media/{platform => test_drivers}/vicodec/codec-v4l2-fwht.c (100%)
rename drivers/media/{platform => test_drivers}/vicodec/codec-v4l2-fwht.h (100%)
rename drivers/media/{platform => test_drivers}/vicodec/vicodec-core.c (100%)
rename drivers/media/{platform => test_drivers}/vim2m.c (100%)
rename drivers/media/{platform => test_drivers}/vimc/Kconfig (100%)
rename drivers/media/{platform => test_drivers}/vimc/Makefile (100%)
rename drivers/media/{platform => test_drivers}/vimc/vimc-capture.c (100%)
rename drivers/media/{platform => test_drivers}/vimc/vimc-common.c (100%)
rename drivers/media/{platform => test_drivers}/vimc/vimc-common.h (100%)
rename drivers/media/{platform => test_drivers}/vimc/vimc-core.c (100%)
rename drivers/media/{platform => test_drivers}/vimc/vimc-debayer.c (100%)
rename drivers/media/{platform => test_drivers}/vimc/vimc-scaler.c (100%)
rename drivers/media/{platform => test_drivers}/vimc/vimc-sensor.c (100%)
rename drivers/media/{platform => test_drivers}/vimc/vimc-streamer.c (100%)
rename drivers/media/{platform => test_drivers}/vimc/vimc-streamer.h (100%)
rename drivers/media/{platform => test_drivers}/vivid/Kconfig (100%)
rename drivers/media/{platform => test_drivers}/vivid/Makefile (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-cec.c (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-cec.h (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-core.c (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-core.h (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-ctrls.c (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-ctrls.h (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-cap.c (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-cap.h (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-out.c (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-out.h (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-touch.c (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-touch.h (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-meta-cap.c (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-meta-cap.h (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-meta-out.c (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-meta-out.h (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-osd.c (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-osd.h (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-common.c (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-common.h (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-rx.c (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-rx.h (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-tx.c (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-tx.h (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-rds-gen.c (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-rds-gen.h (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-sdr-cap.c (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-sdr-cap.h (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-touch-cap.c (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-touch-cap.h (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-cap.c (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-cap.h (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-gen.c (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-gen.h (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-out.c (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-out.h (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-cap.c (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-cap.h (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-common.c (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-common.h (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-out.c (100%)
rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-out.h (100%)drivers/media/Kconfig +12 -0
@@ -96,6 +96,17 @@ config MEDIA_EMBEDDED_SUPPORT Say Y when you have a software defined radio device. +config MEDIA_TEST_SUPPORT + bool "Test drivers" + help + Those drivers should not be used on production Kernels, but + can be useful on debug ones. It enables several dummy drivers + that simulate a real hardware. Very useful to test userspace + applications and to validate if the subsystem core is doesn't + have regressions. + + Say Y when you have a software defined radio device. + endmenu # media support types if MEDIA_SUPPORT
@@ -185,6 +196,7 @@ source "drivers/media/radio/Kconfig" # Common driver options source "drivers/media/common/Kconfig" +source "drivers/media/test_drivers/Kconfig" if MEDIA_EMBEDDED_SUPPORT
drivers/media/platform/Kconfig +0 -23
@@ -531,29 +531,6 @@ config VIDEO_TI_SC config VIDEO_TI_CSC tristate -menuconfig V4L_TEST_DRIVERS - bool "Media test drivers" - depends on MEDIA_CAMERA_SUPPORT - -if V4L_TEST_DRIVERS - -source "drivers/media/platform/vimc/Kconfig" - -source "drivers/media/platform/vivid/Kconfig" - -config VIDEO_VIM2M - tristate "Virtual Memory-to-Memory Driver" - depends on VIDEO_DEV && VIDEO_V4L2 - select VIDEOBUF2_VMALLOC - select V4L2_MEM2MEM_DEV - help - This is a virtual test device for the memory-to-memory driver - framework. - -source "drivers/media/platform/vicodec/Kconfig" - -endif #V4L_TEST_DRIVERS - menuconfig DVB_PLATFORM_DRIVERS bool "DVB platform devices" depends on MEDIA_DIGITAL_TV_SUPPORT
drivers/media/platform/Makefile +0 -5
@@ -14,11 +14,6 @@ obj-$(CONFIG_VIDEO_PXA27x) += pxa_camera.o obj-$(CONFIG_VIDEO_VIU) += fsl-viu.o -obj-$(CONFIG_VIDEO_VIMC) += vimc/ -obj-$(CONFIG_VIDEO_VIVID) += vivid/ -obj-$(CONFIG_VIDEO_VIM2M) += vim2m.o -obj-$(CONFIG_VIDEO_VICODEC) += vicodec/ - obj-y += ti-vpe/ obj-$(CONFIG_VIDEO_MX2_EMMAPRP) += mx2_emmaprp.o
drivers/media/test_drivers/Kconfig new file +28 -0
@@ -0,0 +1,28 @@ +# SPDX-License-Identifier: GPL-2.0-only + +if MEDIA_TEST_SUPPORT + +menuconfig V4L_TEST_DRIVERS + bool "V4L test drivers" + depends on MEDIA_CAMERA_SUPPORT + +if V4L_TEST_DRIVERS + +source "drivers/media/test_drivers/vimc/Kconfig" + +source "drivers/media/test_drivers/vivid/Kconfig" + +config VIDEO_VIM2M + tristate "Virtual Memory-to-Memory Driver" + depends on VIDEO_DEV && VIDEO_V4L2 + select VIDEOBUF2_VMALLOC + select V4L2_MEM2MEM_DEV + help + This is a virtual test device for the memory-to-memory driver + framework. + +source "drivers/media/test_drivers/vicodec/Kconfig" + +endif #V4L_TEST_DRIVERS + +endif #MEDIA_TEST_SUPPORT
drivers/media/test_drivers/Makefile new file +9 -0
@@ -0,0 +1,9 @@ +# SPDX-License-Identifier: GPL-2.0 +# +# Makefile for the test drivers. +# + +obj-$(CONFIG_VIDEO_VIMC) += vimc/ +obj-$(CONFIG_VIDEO_VIVID) += vivid/ +obj-$(CONFIG_VIDEO_VIM2M) += vim2m.o +obj-$(CONFIG_VIDEO_VICODEC) += vicodec/
drivers/media/test_drivers/vicodec/Kconfig renamed from drivers/media/platform/vicodec/Kconfig +0 -0
drivers/media/test_drivers/vicodec/Makefile renamed from drivers/media/platform/vicodec/Makefile +0 -0
drivers/media/test_drivers/vicodec/codec-fwht.c renamed from drivers/media/platform/vicodec/codec-fwht.c +0 -0
drivers/media/test_drivers/vicodec/codec-fwht.h renamed from drivers/media/platform/vicodec/codec-fwht.h +0 -0
drivers/media/test_drivers/vicodec/codec-v4l2-fwht.c renamed from drivers/media/platform/vicodec/codec-v4l2-fwht.c +0 -0
drivers/media/test_drivers/vicodec/codec-v4l2-fwht.h renamed from drivers/media/platform/vicodec/codec-v4l2-fwht.h +0 -0
drivers/media/test_drivers/vicodec/vicodec-core.c renamed from drivers/media/platform/vicodec/vicodec-core.c +0 -0
drivers/media/test_drivers/vim2m.c renamed from drivers/media/platform/vim2m.c +0 -0
drivers/media/test_drivers/vimc/Kconfig renamed from drivers/media/platform/vimc/Kconfig +0 -0
drivers/media/test_drivers/vimc/Makefile renamed from drivers/media/platform/vimc/Makefile +0 -0
drivers/media/test_drivers/vimc/vimc-capture.c renamed from drivers/media/platform/vimc/vimc-capture.c +0 -0
drivers/media/test_drivers/vimc/vimc-common.c renamed from drivers/media/platform/vimc/vimc-common.c +0 -0
drivers/media/test_drivers/vimc/vimc-common.h renamed from drivers/media/platform/vimc/vimc-common.h +0 -0
drivers/media/test_drivers/vimc/vimc-core.c renamed from drivers/media/platform/vimc/vimc-core.c +0 -0
drivers/media/test_drivers/vimc/vimc-debayer.c renamed from drivers/media/platform/vimc/vimc-debayer.c +0 -0
drivers/media/test_drivers/vimc/vimc-scaler.c renamed from drivers/media/platform/vimc/vimc-scaler.c +0 -0
drivers/media/test_drivers/vimc/vimc-sensor.c renamed from drivers/media/platform/vimc/vimc-sensor.c +0 -0
drivers/media/test_drivers/vimc/vimc-streamer.c renamed from drivers/media/platform/vimc/vimc-streamer.c +0 -0
drivers/media/test_drivers/vimc/vimc-streamer.h renamed from drivers/media/platform/vimc/vimc-streamer.h +0 -0
drivers/media/test_drivers/vivid/Kconfig renamed from drivers/media/platform/vivid/Kconfig +0 -0
drivers/media/test_drivers/vivid/Makefile renamed from drivers/media/platform/vivid/Makefile +0 -0
drivers/media/test_drivers/vivid/vivid-cec.c renamed from drivers/media/platform/vivid/vivid-cec.c +0 -0
drivers/media/test_drivers/vivid/vivid-cec.h renamed from drivers/media/platform/vivid/vivid-cec.h +0 -0
drivers/media/test_drivers/vivid/vivid-core.c renamed from drivers/media/platform/vivid/vivid-core.c +0 -0
drivers/media/test_drivers/vivid/vivid-core.h renamed from drivers/media/platform/vivid/vivid-core.h +0 -0
drivers/media/test_drivers/vivid/vivid-ctrls.c renamed from drivers/media/platform/vivid/vivid-ctrls.c +0 -0
drivers/media/test_drivers/vivid/vivid-ctrls.h renamed from drivers/media/platform/vivid/vivid-ctrls.h +0 -0
drivers/media/test_drivers/vivid/vivid-kthread-cap.c renamed from drivers/media/platform/vivid/vivid-kthread-cap.c +0 -0
drivers/media/test_drivers/vivid/vivid-kthread-cap.h renamed from drivers/media/platform/vivid/vivid-kthread-cap.h +0 -0
drivers/media/test_drivers/vivid/vivid-kthread-out.c renamed from drivers/media/platform/vivid/vivid-kthread-out.c +0 -0
drivers/media/test_drivers/vivid/vivid-kthread-out.h renamed from drivers/media/platform/vivid/vivid-kthread-out.h +0 -0
drivers/media/test_drivers/vivid/vivid-kthread-touch.c renamed from drivers/media/platform/vivid/vivid-kthread-touch.c +0 -0
drivers/media/test_drivers/vivid/vivid-kthread-touch.h renamed from drivers/media/platform/vivid/vivid-kthread-touch.h +0 -0
drivers/media/test_drivers/vivid/vivid-meta-cap.c renamed from drivers/media/platform/vivid/vivid-meta-cap.c +0 -0
drivers/media/test_drivers/vivid/vivid-meta-cap.h renamed from drivers/media/platform/vivid/vivid-meta-cap.h +0 -0
drivers/media/test_drivers/vivid/vivid-meta-out.c renamed from drivers/media/platform/vivid/vivid-meta-out.c +0 -0
drivers/media/test_drivers/vivid/vivid-meta-out.h renamed from drivers/media/platform/vivid/vivid-meta-out.h +0 -0
drivers/media/test_drivers/vivid/vivid-osd.c renamed from drivers/media/platform/vivid/vivid-osd.c +0 -0
drivers/media/test_drivers/vivid/vivid-osd.h renamed from drivers/media/platform/vivid/vivid-osd.h +0 -0
drivers/media/test_drivers/vivid/vivid-radio-common.c renamed from drivers/media/platform/vivid/vivid-radio-common.c +0 -0
drivers/media/test_drivers/vivid/vivid-radio-common.h renamed from drivers/media/platform/vivid/vivid-radio-common.h +0 -0
drivers/media/test_drivers/vivid/vivid-radio-rx.c renamed from drivers/media/platform/vivid/vivid-radio-rx.c +0 -0
drivers/media/test_drivers/vivid/vivid-radio-rx.h renamed from drivers/media/platform/vivid/vivid-radio-rx.h +0 -0
drivers/media/test_drivers/vivid/vivid-radio-tx.c renamed from drivers/media/platform/vivid/vivid-radio-tx.c +0 -0
drivers/media/test_drivers/vivid/vivid-radio-tx.h renamed from drivers/media/platform/vivid/vivid-radio-tx.h +0 -0
drivers/media/test_drivers/vivid/vivid-rds-gen.c renamed from drivers/media/platform/vivid/vivid-rds-gen.c +0 -0
drivers/media/test_drivers/vivid/vivid-rds-gen.h renamed from drivers/media/platform/vivid/vivid-rds-gen.h +0 -0
drivers/media/test_drivers/vivid/vivid-sdr-cap.c renamed from drivers/media/platform/vivid/vivid-sdr-cap.c +0 -0
drivers/media/test_drivers/vivid/vivid-sdr-cap.h renamed from drivers/media/platform/vivid/vivid-sdr-cap.h +0 -0
drivers/media/test_drivers/vivid/vivid-touch-cap.c renamed from drivers/media/platform/vivid/vivid-touch-cap.c +0 -0
drivers/media/test_drivers/vivid/vivid-touch-cap.h renamed from drivers/media/platform/vivid/vivid-touch-cap.h +0 -0
drivers/media/test_drivers/vivid/vivid-vbi-cap.c renamed from drivers/media/platform/vivid/vivid-vbi-cap.c +0 -0
drivers/media/test_drivers/vivid/vivid-vbi-cap.h renamed from drivers/media/platform/vivid/vivid-vbi-cap.h +0 -0
drivers/media/test_drivers/vivid/vivid-vbi-gen.c renamed from drivers/media/platform/vivid/vivid-vbi-gen.c +0 -0
drivers/media/test_drivers/vivid/vivid-vbi-gen.h renamed from drivers/media/platform/vivid/vivid-vbi-gen.h +0 -0
drivers/media/test_drivers/vivid/vivid-vbi-out.c renamed from drivers/media/platform/vivid/vivid-vbi-out.c +0 -0
drivers/media/test_drivers/vivid/vivid-vbi-out.h renamed from drivers/media/platform/vivid/vivid-vbi-out.h +0 -0
drivers/media/test_drivers/vivid/vivid-vid-cap.c renamed from drivers/media/platform/vivid/vivid-vid-cap.c +0 -0
drivers/media/test_drivers/vivid/vivid-vid-cap.h renamed from drivers/media/platform/vivid/vivid-vid-cap.h +0 -0
drivers/media/test_drivers/vivid/vivid-vid-common.c renamed from drivers/media/platform/vivid/vivid-vid-common.c +0 -0
drivers/media/test_drivers/vivid/vivid-vid-common.h renamed from drivers/media/platform/vivid/vivid-vid-common.h +0 -0
drivers/media/test_drivers/vivid/vivid-vid-out.c renamed from drivers/media/platform/vivid/vivid-vid-out.c +0 -0
drivers/media/test_drivers/vivid/vivid-vid-out.h renamed from drivers/media/platform/vivid/vivid-vid-out.h +0 -0
Signature · 1 line
2.24.1
PATCH 2/8 media: Kconfig: not all V4L2 platform drivers are for camera
In reply to Mauro Carvalho ChehabWhen the platform drivers got added, they were all part of complex camera support. This is not the case anymore, as we now have codecs and other stuff there too.
So, fix the dependencies, in order to not require users to manually select something that it doesn't make sense.
--- drivers/media/Kconfig | 3 +-- drivers/media/platform/Kconfig | 1 - 2 files changed, 1 insertion(+), 3 deletions(-)
drivers/media/Kconfig +1 -2
@@ -99,8 +99,7 @@ source "drivers/media/mc/Kconfig" config VIDEO_DEV tristate depends on MEDIA_SUPPORT - depends on MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT - default y + default MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT || V4L_PLATFORM_DRIVERS config VIDEO_V4L2_SUBDEV_API bool "V4L2 sub-device userspace API"
drivers/media/platform/Kconfig +0 -1
@@ -5,7 +5,6 @@ menuconfig V4L_PLATFORM_DRIVERS bool "V4L platform devices" - depends on MEDIA_CAMERA_SUPPORT help Say Y here to enable support for platform-specific V4L drivers.
Signature · 1 line
2.24.1
PATCH 6/8 media: Kconfig: use a sub-menu to select supported devices
In reply to Mauro Carvalho ChehabThe media subsystem has hundreds of driver-specific options. The *_SUPPORT config options work as a sort of filter, allowing to reduce its complexity for users that won't want to dig into thousands of options they don't need.
Yet, it the filtering options are becoming large. So, let's place it on a sub-menu.
--- drivers/media/Kconfig | 22 +++++++++++++--------- drivers/media/mmc/Kconfig | 2 +- 2 files changed, 14 insertions(+), 10 deletions(-)
drivers/media/Kconfig +13 -9
@@ -25,22 +25,21 @@ menuconfig MEDIA_SUPPORT Additional info and docs are available on the web at <https://linuxtv.org> -if MEDIA_SUPPORT - -comment "Multimedia core support" +menu "Types of devices to be supported" + depends on MEDIA_SUPPORT # # Multimedia support - automatically enable V4L2 and DVB core # config MEDIA_CAMERA_SUPPORT - bool "Cameras/video grabbers support" + bool "Cameras and video grabbers" help Enable support for webcams and video grabbers. Say Y when you have a webcam or a video capture grabber board. config MEDIA_ANALOG_TV_SUPPORT - bool "Analog TV support" + bool "Analog TV" help Enable analog TV support.
@@ -52,7 +51,7 @@ config MEDIA_ANALOG_TV_SUPPORT will disable support for them. config MEDIA_DIGITAL_TV_SUPPORT - bool "Digital TV support" + bool "Digital TV" help Enable digital TV support.
@@ -60,7 +59,7 @@ config MEDIA_DIGITAL_TV_SUPPORT hybrid digital TV and analog TV. config MEDIA_RADIO_SUPPORT - bool "AM/FM radio receivers/transmitters support" + bool "AM/FM radio receivers/transmitters" help Enable AM/FM radio support.
@@ -74,7 +73,7 @@ config MEDIA_RADIO_SUPPORT disable support for them. config MEDIA_SDR_SUPPORT - bool "Software defined radio support" + bool "Software defined radio" help Enable software defined radio support.
@@ -89,6 +88,10 @@ config MEDIA_CEC_SUPPORT Say Y when you have an HDMI receiver, transmitter or a USB CEC adapter that supports HDMI CEC. +endmenu # media support types + +if MEDIA_SUPPORT + comment "Media core options" source "drivers/media/cec/Kconfig"
@@ -177,7 +180,8 @@ source "drivers/media/common/Kconfig" source "drivers/media/platform/Kconfig" source "drivers/media/mmc/Kconfig" -comment "Supported FireWire (IEEE 1394) Adapters" + +comment "FireWire (IEEE 1394) Adapters" depends on DVB_CORE && FIREWIRE source "drivers/media/firewire/Kconfig"
drivers/media/mmc/Kconfig +1 -1
@@ -1,3 +1,3 @@ # SPDX-License-Identifier: GPL-2.0-only -comment "Supported MMC/SDIO adapters" +comment "MMC/SDIO adapters" source "drivers/media/mmc/siano/Kconfig"
Signature · 1 line
2.24.1
PATCH 7/8 media: Kconfig: add an option to filter in/out the embedded drivers
In reply to Mauro Carvalho ChehabMost systems don't need support for those, while others only need those, instead of the others.
So, add an option to filter in/out the SoC specific drivers.
--- drivers/media/Kconfig | 12 ++++++++++++ 1 file changed, 12 insertions(+)
drivers/media/Kconfig +12 -0
@@ -88,6 +88,14 @@ config MEDIA_CEC_SUPPORT Say Y when you have an HDMI receiver, transmitter or a USB CEC adapter that supports HDMI CEC. +config MEDIA_EMBEDDED_SUPPORT + bool "Embedded devices (SoC)" + help + Enable support for complex cameras, codecs, and other hardware + found on Embedded hardware (SoC). + + Say Y when you have a software defined radio device. + endmenu # media support types if MEDIA_SUPPORT
@@ -177,9 +185,13 @@ source "drivers/media/radio/Kconfig" # Common driver options source "drivers/media/common/Kconfig" + +if MEDIA_EMBEDDED_SUPPORT + source "drivers/media/platform/Kconfig" source "drivers/media/mmc/Kconfig" +endif # MEDIA_EMBEDDED_SUPPORT comment "FireWire (IEEE 1394) Adapters" depends on DVB_CORE && FIREWIRE
Signature · 1 line
2.24.1
PATCH 4/8 media: reorganize the drivers menu options
In reply to Mauro Carvalho ChehabThe comments before some of the drivers support look weird, because their Kconfig have their own "comment" directive inside it. So, rearrange them to make it look a little nicer for the ones with are not too familiar with the media system.
--- drivers/media/Kconfig | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-)
drivers/media/Kconfig +6 -4
@@ -87,6 +87,8 @@ config MEDIA_CEC_SUPPORT Say Y when you have an HDMI receiver, transmitter or a USB CEC adapter that supports HDMI CEC. +comment "Media core options" + source "drivers/media/cec/Kconfig" source "drivers/media/mc/Kconfig"
@@ -166,17 +168,17 @@ comment "Media drivers" source "drivers/media/usb/Kconfig" source "drivers/media/pci/Kconfig" +source "drivers/media/radio/Kconfig" + +# Common driver options +source "drivers/media/common/Kconfig" source "drivers/media/platform/Kconfig" source "drivers/media/mmc/Kconfig" -source "drivers/media/radio/Kconfig" comment "Supported FireWire (IEEE 1394) Adapters" depends on DVB_CORE && FIREWIRE source "drivers/media/firewire/Kconfig" -# Common driver options -source "drivers/media/common/Kconfig" - comment "Media ancillary drivers (tuners, sensors, i2c, spi, frontends)" #
Signature · 1 line
2.24.1
PATCH 5/8 media: Kconfig: update the MEDIA_SUPPORT help message
In reply to Mauro Carvalho ChehabThere are more things than just cameras and TV devices on media. Update the help message accordingly.
--- drivers/media/Kconfig | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
drivers/media/Kconfig +4 -2
@@ -18,8 +18,10 @@ menuconfig MEDIA_SUPPORT tristate "Multimedia support" depends on HAS_IOMEM help - If you want to use Webcams, Video grabber devices and/or TV devices - enable this option and other options below. + If you want to use media devices, including Webcams, Video grabber + devices and/or TV devices, V4L2 codecs, etc, enable this option + and other options below. + Additional info and docs are available on the web at <https://linuxtv.org>
Signature · 1 line
2.24.1