Reorganize media Kconfig
Subsystems (6)
PATCH v2 1/20 media: dvb-usb: auto-select CYPRESS_FIRMWARE
In reply to Mauro Carvalho ChehabAt 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 v2 15/20 media: Kconfig: move media controller core select to main Kconfig
In reply to Mauro Carvalho ChehabLet's place the main API selections at the media/Kconfig file, as this way we can better organize things.
--- drivers/media/Kconfig | 9 +++++++++ drivers/media/mc/Kconfig | 9 --------- 2 files changed, 9 insertions(+), 9 deletions(-)
drivers/media/Kconfig +9 -0
@@ -140,6 +140,15 @@ config VIDEO_DEV depends on MEDIA_SUPPORT default MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT || V4L_PLATFORM_DRIVERS +config MEDIA_CONTROLLER + bool "Media Controller API" + depends on MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT + help + Enable the media controller API used to query media devices internal + topology and configure it dynamically. + + This API is mostly used by camera interfaces in embedded platforms. + source "drivers/media/v4l2-core/Kconfig" #
drivers/media/mc/Kconfig +0 -9
@@ -3,15 +3,6 @@ # Selectable only for webcam/grabbers, as other drivers don't use it # -config MEDIA_CONTROLLER - bool "Media Controller API" - depends on MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT - help - Enable the media controller API used to query media devices internal - topology and configure it dynamically. - - This API is mostly used by camera interfaces in embedded platforms. - config MEDIA_CONTROLLER_DVB bool "Enable Media controller for DVB (EXPERIMENTAL)" depends on MEDIA_CONTROLLER && DVB_CORE
Signature · 1 line
2.24.1
PATCH v2 17/20 media: Kconfig: mode firewire comment to firewire/Kconfig
In reply to Mauro Carvalho ChehabThis comment should only be visible if the DVB_FIREDTV config will show.
--- drivers/media/Kconfig | 2 -- drivers/media/firewire/Kconfig | 5 ++++- 2 files changed, 4 insertions(+), 3 deletions(-)
drivers/media/Kconfig +0 -2
@@ -186,8 +186,6 @@ source "drivers/media/mmc/Kconfig" endif # MEDIA_EMBEDDED_SUPPORT -comment "FireWire (IEEE 1394) Adapters" - depends on DVB_CORE && FIREWIRE source "drivers/media/firewire/Kconfig" comment "Media ancillary drivers (tuners, sensors, i2c, spi, frontends)"
drivers/media/firewire/Kconfig +4 -1
@@ -1,7 +1,9 @@ # SPDX-License-Identifier: GPL-2.0-only +if DVB_CORE && FIREWIRE +comment "FireWire (IEEE 1394) Adapters" + config DVB_FIREDTV tristate "FireDTV and FloppyDTV" - depends on DVB_CORE && FIREWIRE help Support for DVB receivers from Digital Everywhere which are connected via IEEE 1394 (FireWire).
@@ -18,3 +20,4 @@ config DVB_FIREDTV_INPUT def_bool INPUT = y || (INPUT = m && DVB_FIREDTV = m) endif # DVB_FIREDTV +endif # DVB_CORE && FIREWIRE
Signature · 1 line
2.24.1
PATCH v2 9/20 media: Kconfig: make filtering devices optional
In reply to Mauro Carvalho ChehabThe per-device option selection is a feature that some developers love, while others hate...
So, let's make both happy by making it optional.
--- drivers/media/Kconfig | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-)
drivers/media/Kconfig +27 -5
@@ -25,14 +25,32 @@ menuconfig MEDIA_SUPPORT Additional info and docs are available on the web at <https://linuxtv.org> -menu "Types of devices to be supported" +if MEDIA_SUPPORT + +config MEDIA_SUPPORT_FILTER + bool "Filter devices by their types" depends on MEDIA_SUPPORT + help + Configuring the media subsystem can be complex, as there are + hundreds of drivers and other config options. + + This menu offers option that will help the Kernel's config + system to hide drivers that are out of the scope of the + user needs, and disabling core support for unused APIs. + + If not selected, all non-optional media core functionality + needed to support media drivers will be enabled. Also, all + media device drivers should be shown. + +menu "Media device types" + visible if MEDIA_SUPPORT_FILTER # # Multimedia support - automatically enable V4L2 and DVB core # config MEDIA_CAMERA_SUPPORT bool "Cameras and video grabbers" + default y if !MEDIA_SUPPORT_FILTER help Enable support for webcams and video grabbers.
@@ -40,6 +58,7 @@ config MEDIA_CAMERA_SUPPORT config MEDIA_ANALOG_TV_SUPPORT bool "Analog TV" + default y if !MEDIA_SUPPORT_FILTER help Enable analog TV support.
@@ -52,6 +71,7 @@ config MEDIA_ANALOG_TV_SUPPORT config MEDIA_DIGITAL_TV_SUPPORT bool "Digital TV" + default y if !MEDIA_SUPPORT_FILTER help Enable digital TV support.
@@ -60,6 +80,7 @@ config MEDIA_DIGITAL_TV_SUPPORT config MEDIA_RADIO_SUPPORT bool "AM/FM radio receivers/transmitters" + default y if !MEDIA_SUPPORT_FILTER help Enable AM/FM radio support.
@@ -74,6 +95,7 @@ config MEDIA_RADIO_SUPPORT config MEDIA_SDR_SUPPORT bool "Software defined radio" + default y if !MEDIA_SUPPORT_FILTER help Enable software defined radio support.
@@ -81,6 +103,7 @@ config MEDIA_SDR_SUPPORT config MEDIA_CEC_SUPPORT bool "HDMI CEC support" + default y if !MEDIA_SUPPORT_FILTER help Enable support for HDMI CEC (Consumer Electronics Control), which is an optional HDMI feature.
@@ -90,6 +113,7 @@ config MEDIA_CEC_SUPPORT config MEDIA_EMBEDDED_SUPPORT bool "Embedded devices (SoC)" + default y if !MEDIA_SUPPORT_FILTER help Enable support for complex cameras, codecs, and other hardware found on Embedded hardware (SoC).
@@ -98,6 +122,7 @@ config MEDIA_EMBEDDED_SUPPORT config MEDIA_TEST_SUPPORT bool "Test drivers" + default y if !MEDIA_SUPPORT_FILTER help Those drivers should not be used on production Kernels, but can be useful on debug ones. It enables several dummy drivers
@@ -106,10 +131,7 @@ config MEDIA_TEST_SUPPORT have regressions. Say Y when you have a software defined radio device. - -endmenu # media support types - -if MEDIA_SUPPORT +endmenu # media device types comment "Media core options"
Signature · 1 line
2.24.1
PATCH v2 8/20 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 v2 5/20 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
v2 cover Reorganize media Kconfig
This patch series do lots of 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 menus, allowing to select:
- type of devices selection - the filtering options
- Media core options - with API and other core stuff
- Media core extra options
- 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 (20):
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
media: Kconfig: make filtering devices optional
media: Kconfig: move CEC-specific options to cec/Kconfig
media: Kconfig: move comment to siano include
media: Kconfig: move DVB-specific options to dvb-core/Kconfig
media: Kconfig: move V4L2 subdev API to v4l2-core/Kconfig
media: Kconfig: move drivers-specific TTPCI_EEPROM Kconfig var
media: Kconfig: move media controller core select to main Kconfig
media: Kconfig: better organize menu items
media: Kconfig: mode firewire comment to firewire/Kconfig
media: Kconfig: place all options under a sub-menu
media: Kconfig: move the position of sub-driver autoselection
media: Kconfig: on !EMBEDDED && !EXPERT, enable driver filtering
drivers/media/Kconfig | 216 ++++++++++--------
drivers/media/cec/Kconfig | 10 +
drivers/media/common/Kconfig | 2 +-
drivers/media/dvb-core/Kconfig | 26 +++
drivers/media/firewire/Kconfig | 5 +-
drivers/media/mc/Kconfig | 9 -
drivers/media/mmc/Kconfig | 1 -
drivers/media/mmc/siano/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/Kconfig | 6 +
drivers/media/usb/dvb-usb/Kconfig | 1 +
drivers/media/v4l2-core/Kconfig | 19 +-
79 files changed, 222 insertions(+), 151 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 v2 19/20 media: Kconfig: move the position of sub-driver autoselection
Let's place the sub-driver-autoselection option just below the device filtering one, as it also controls a filter menu, with is not even visible if !EXPERT && !EMBEDDED.
--- drivers/media/Kconfig | 50 +++++++++++++++++++++---------------------- 1 file changed, 25 insertions(+), 25 deletions(-)
drivers/media/Kconfig +25 -25
@@ -33,6 +33,28 @@ config MEDIA_SUPPORT_FILTER needed to support media drivers will be enabled. Also, all media device drivers should be shown. +config MEDIA_SUBDRV_AUTOSELECT + bool "Autoselect ancillary drivers (tuners, sensors, i2c, spi, frontends)" + depends on HAS_IOMEM + select I2C + select I2C_MUX + default y if MEDIA_SUPPORT_FILTER + help + By default, a media driver auto-selects all possible ancillary + devices such as tuners, sensors, video encoders/decoders and + frontends, that are used by any of the supported devices. + + This is generally the right thing to do, except when there + are strict constraints with regards to the kernel size, + like on embedded systems. + + Use this option with care, as deselecting ancillary drivers which + are, in fact, necessary will result in the lack of the needed + functionality for your device (it may not tune or may not have + the needed demodulators). + + If unsure say Y. + menu "Media device types" visible if MEDIA_SUPPORT_FILTER
@@ -191,40 +213,18 @@ source "drivers/media/firewire/Kconfig" endmenu -menu "Media ancillary drivers (tuners, sensors, i2c, spi, frontends)" - # # Ancillary drivers (tuners, i2c, spi, frontends) # -config MEDIA_SUBDRV_AUTOSELECT - bool "Autoselect ancillary drivers (tuners, sensors, i2c, spi, frontends)" - depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_CAMERA_SUPPORT || MEDIA_SDR_SUPPORT - depends on HAS_IOMEM - select I2C - select I2C_MUX - default y if !EMBEDDED - help - By default, a media driver auto-selects all possible ancillary - devices such as tuners, sensors, video encoders/decoders and - frontends, that are used by any of the supported devices. - - This is generally the right thing to do, except when there - are strict constraints with regards to the kernel size, - like on embedded systems. - - Use this option with care, as deselecting ancillary drivers which - are, in fact, necessary will result in the lack of the needed - functionality for your device (it may not tune or may not have - the needed demodulators). - - If unsure say Y. - config MEDIA_HIDE_ANCILLARY_SUBDRV bool depends on MEDIA_SUBDRV_AUTOSELECT && !COMPILE_TEST && !EXPERT default y +menu "Media ancillary drivers" + visible if !MEDIA_HIDE_ANCILLARY_SUBDRV + config MEDIA_ATTACH bool depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_RADIO_SUPPORT
Signature · 1 line
2.24.1
PATCH v2 18/20 media: Kconfig: place all options under a sub-menu
In reply to Mauro Carvalho ChehabThat should make easier for people setting the media subsystem config options, as they'll be split by the type of functionality that will be enabled.
--- drivers/media/Kconfig | 43 ++++++++++++++++++++++++------------------- 1 file changed, 24 insertions(+), 19 deletions(-)
drivers/media/Kconfig +24 -19
@@ -124,48 +124,49 @@ config MEDIA_TEST_SUPPORT Say Y when you have a software defined radio device. endmenu # media device types -comment "Media core options" - -# -# Video4Linux support -# Only enables if one of the V4L2 types (ATV, webcam, radio) is selected -# +menu "Media core support" + visible if !MEDIA_SUPPORT_FILTER config VIDEO_DEV - tristate + tristate "Video4Linux core" depends on MEDIA_SUPPORT default MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT || V4L_PLATFORM_DRIVERS + help + Enables the V4L2 API, used by cameras, analog TV, video grabbers, + radio devices and by some input devices. config MEDIA_CONTROLLER bool "Media Controller API" - depends on MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT + default MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_EMBEDDED_SUPPORT help Enable the media controller API used to query media devices internal topology and configure it dynamically. This API is mostly used by camera interfaces in embedded platforms. -# -# DVB Core -# Only enables if one of DTV is selected -# - config DVB_CORE - tristate + tristate "Digital TV core" depends on MEDIA_SUPPORT - depends on MEDIA_DIGITAL_TV_SUPPORT + default MEDIA_DIGITAL_TV_SUPPORT depends on (I2C || I2C=n) - default y select CRC32 - help + Enables the DVB API, used by Digital TV devices. Supports several + standards, including DVB, ATSC, ISDB and CMDB. +endmenu # Media core support + +# +# Extra per-media API core functionality + +menu "Media core additional options" source "drivers/media/v4l2-core/Kconfig" source "drivers/media/mc/Kconfig" source "drivers/media/dvb-core/Kconfig" source "drivers/media/cec/Kconfig" +endmenu -comment "Media drivers" +menu "Media drivers" # # V4L platform/mem2mem drivers
@@ -188,7 +189,9 @@ endif # MEDIA_EMBEDDED_SUPPORT source "drivers/media/firewire/Kconfig" -comment "Media ancillary drivers (tuners, sensors, i2c, spi, frontends)" +endmenu + +menu "Media ancillary drivers (tuners, sensors, i2c, spi, frontends)" # # Ancillary drivers (tuners, i2c, spi, frontends)
@@ -233,4 +236,6 @@ source "drivers/media/spi/Kconfig" source "drivers/media/tuners/Kconfig" source "drivers/media/dvb-frontends/Kconfig" +endmenu + endif # MEDIA_SUPPORT
Signature · 1 line
2.24.1
PATCH v2 6/20 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 v2 14/20 media: Kconfig: move drivers-specific TTPCI_EEPROM Kconfig var
In reply to Mauro Carvalho ChehabThis option is used only by av7110 and by an USB driver. As the av7110 is the first DVB hardware, hardly found those days, let's opt to place it at usb/Kconfig, as the driver with needs it might have a longer lifetime.
--- drivers/media/Kconfig | 8 -------- drivers/media/usb/Kconfig | 6 ++++++ 2 files changed, 6 insertions(+), 8 deletions(-)
drivers/media/Kconfig +0 -8
@@ -157,14 +157,6 @@ config DVB_CORE help - - - -# This Kconfig option is used by both PCI and USB drivers -config TTPCI_EEPROM - tristate - depends on I2C - source "drivers/media/dvb-core/Kconfig" comment "Media drivers"
drivers/media/usb/Kconfig +6 -0
@@ -1,4 +1,10 @@ # SPDX-License-Identifier: GPL-2.0-only + +# This Kconfig option is also used by the legacy av7110 driver +config TTPCI_EEPROM + tristate + depends on I2C + if USB && MEDIA_SUPPORT menuconfig MEDIA_USB_SUPPORT
Signature · 1 line
2.24.1
PATCH v2 13/20 media: Kconfig: move V4L2 subdev API to v4l2-core/Kconfig
In reply to Mauro Carvalho ChehabThis option is part of V4L2 API extra functionality set. Move it to be at the v4l2-core/Kconfig, where it belongs, cleaning the main Kconfig file.
--- drivers/media/Kconfig | 9 --------- drivers/media/v4l2-core/Kconfig | 9 +++++++++ 2 files changed, 9 insertions(+), 9 deletions(-)
drivers/media/Kconfig +0 -9
@@ -140,15 +140,6 @@ config VIDEO_DEV depends on MEDIA_SUPPORT 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" - depends on VIDEO_DEV && MEDIA_CONTROLLER - help - Enables the V4L2 sub-device pad-level userspace API used to configure - video format, size and frame rate between hardware blocks. - - This API is mostly used by camera interfaces in embedded platforms. - source "drivers/media/v4l2-core/Kconfig" #
drivers/media/v4l2-core/Kconfig +9 -0
@@ -16,6 +16,15 @@ config VIDEO_V4L2_I2C depends on I2C && VIDEO_V4L2 default y +config VIDEO_V4L2_SUBDEV_API + bool "V4L2 sub-device userspace API" + depends on VIDEO_DEV && MEDIA_CONTROLLER + help + Enables the V4L2 sub-device pad-level userspace API used to configure + video format, size and frame rate between hardware blocks. + + This API is mostly used by camera interfaces in embedded platforms. + config VIDEO_ADV_DEBUG bool "Enable advanced debug functionality on V4L2 drivers" help
Signature · 1 line
2.24.1
PATCH v2 12/20 media: Kconfig: move DVB-specific options to dvb-core/Kconfig
In reply to Mauro Carvalho ChehabIn order to cleanup the main media Kconfig, move the DVB-core specific options to dvb-core/Kconfig.
--- drivers/media/Kconfig | 21 --------------------- drivers/media/dvb-core/Kconfig | 26 ++++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 21 deletions(-)
drivers/media/Kconfig +0 -21
@@ -164,31 +164,10 @@ config DVB_CORE default y select CRC32 -config DVB_MMAP - bool "Enable DVB memory-mapped API (EXPERIMENTAL)" - depends on DVB_CORE - depends on VIDEO_V4L2=y || VIDEO_V4L2=DVB_CORE - select VIDEOBUF2_VMALLOC help - This option enables DVB experimental memory-mapped API, which - reduces the number of context switches to read DVB buffers, as - the buffers can use mmap() syscalls. - Support for it is experimental. Use with care. If unsure, - say N. -config DVB_NET - bool "DVB Network Support" - default (NET && INET) - depends on NET && INET && DVB_CORE - help - This option enables DVB Network Support which is a part of the DVB - standard. It is used, for example, by automatic firmware updates used - on Set-Top-Boxes. It can also be used to access the Internet via the - DVB card, if the network provider supports it. - You may want to disable the network support on embedded devices. If - unsure say Y. # This Kconfig option is used by both PCI and USB drivers config TTPCI_EEPROM
drivers/media/dvb-core/Kconfig +26 -0
@@ -3,6 +3,32 @@ # DVB device configuration # +config DVB_MMAP + bool "Enable DVB memory-mapped API (EXPERIMENTAL)" + depends on DVB_CORE + depends on VIDEO_V4L2=y || VIDEO_V4L2=DVB_CORE + select VIDEOBUF2_VMALLOC + help + This option enables DVB experimental memory-mapped API, which + reduces the number of context switches to read DVB buffers, as + the buffers can use mmap() syscalls. + + Support for it is experimental. Use with care. If unsure, + say N. + +config DVB_NET + bool "DVB Network Support" + default (NET && INET) + depends on NET && INET && DVB_CORE + help + This option enables DVB Network Support which is a part of the DVB + standard. It is used, for example, by automatic firmware updates used + on Set-Top-Boxes. It can also be used to access the Internet via the + DVB card, if the network provider supports it. + + You may want to disable the network support on embedded devices. If + unsure say Y. + config DVB_MAX_ADAPTERS int "maximum number of DVB/ATSC adapters" depends on DVB_CORE
Signature · 1 line
2.24.1
PATCH v2 20/20 media: Kconfig: on !EMBEDDED && !EXPERT, enable driver filtering
In reply to Mauro Carvalho ChehabAdvanced and embedded users know what to do, so, by default, they will likely want to be able to open the entire set of Kconfig media options.
Normal "poor" users usually needs more help when setting stuff, so let's open an more simplified version to them by default.
--- drivers/media/Kconfig | 1 + 1 file changed, 1 insertion(+)
drivers/media/Kconfig +1 -0
@@ -21,6 +21,7 @@ if MEDIA_SUPPORT config MEDIA_SUPPORT_FILTER bool "Filter devices by their types" depends on MEDIA_SUPPORT + default y if !EMBEDDED && !EXPERT help Configuring the media subsystem can be complex, as there are hundreds of drivers and other config options.
Signature · 1 line
2.24.1
PATCH v2 16/20 media: Kconfig: better organize menu items
In reply to Mauro Carvalho ChehabPlace all API specific bits together
--- drivers/media/Kconfig | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-)
drivers/media/Kconfig +3 -6
@@ -126,10 +126,6 @@ endmenu # media device types comment "Media core options" -source "drivers/media/cec/Kconfig" - -source "drivers/media/mc/Kconfig" - # # Video4Linux support # Only enables if one of the V4L2 types (ATV, webcam, radio) is selected
@@ -149,8 +145,6 @@ config MEDIA_CONTROLLER This API is mostly used by camera interfaces in embedded platforms. -source "drivers/media/v4l2-core/Kconfig" - # # DVB Core # Only enables if one of DTV is selected
@@ -166,7 +160,10 @@ config DVB_CORE help +source "drivers/media/v4l2-core/Kconfig" +source "drivers/media/mc/Kconfig" source "drivers/media/dvb-core/Kconfig" +source "drivers/media/cec/Kconfig" comment "Media drivers"
Signature · 1 line
2.24.1
PATCH v2 10/20 media: Kconfig: move CEC-specific options to cec/Kconfig
In reply to Mauro Carvalho ChehabThere's no need to have the CEC definitions inside the media Kconfig, as the Kconfig parser doesn't require symbols to be declared before their usages.
With that, the main Kconfig menu becomes cleaner.
--- drivers/media/Kconfig | 9 --------- drivers/media/cec/Kconfig | 10 ++++++++++ 2 files changed, 10 insertions(+), 9 deletions(-)
drivers/media/Kconfig +0 -9
@@ -3,15 +3,6 @@ # Multimedia device configuration # -config CEC_CORE - tristate - -config CEC_NOTIFIER - bool - -config CEC_PIN - bool - source "drivers/media/rc/Kconfig" menuconfig MEDIA_SUPPORT
drivers/media/cec/Kconfig +10 -0
@@ -1,4 +1,14 @@ # SPDX-License-Identifier: GPL-2.0-only + +config CEC_CORE + tristate + +config CEC_NOTIFIER + bool + +config CEC_PIN + bool + config MEDIA_CEC_RC bool "HDMI CEC RC integration" depends on CEC_CORE && RC_CORE
Signature · 1 line
2.24.1
PATCH v2 11/20 media: Kconfig: move comment to siano include
In reply to Mauro Carvalho ChehabShowing this comment without showing the Siano mmc option is very weird! Place the option together, and make it visible only when showing Siano configuration.
--- drivers/media/mmc/Kconfig | 1 - drivers/media/mmc/siano/Kconfig | 2 ++ 2 files changed, 2 insertions(+), 1 deletion(-)
drivers/media/mmc/Kconfig +0 -1
@@ -1,3 +1,2 @@ # SPDX-License-Identifier: GPL-2.0-only -comment "MMC/SDIO adapters" source "drivers/media/mmc/siano/Kconfig"
drivers/media/mmc/siano/Kconfig +2 -0
@@ -2,6 +2,8 @@ # # Siano Mobile Silicon Digital TV device configuration # +comment "MMC/SDIO DVB adapters" + depends on DVB_CORE && HAS_DMA && MMC config SMS_SDIO_DRV tristate "Siano SMS1xxx based MDTV via SDIO interface"
Signature · 1 line
2.24.1
PATCH v2 3/20 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
PATCH v2 7/20 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 v2 2/20 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 v2 4/20 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
Laurent Pinchart
maintainerHi Mauro,
Thank you for the patches.
Quoted 23 lines · Mauro Carvalho Chehab
This patch series do lots of reorg at the media
Kconfigoptions. It also move test drivers from platform dir to a new one.After this change, the main config is organized on menus, allowing to select:
- type of devices selection - the filtering options
- Media core options - with API and other core stuff
- Media core extra options
- Media drivers
- Media ancillary driversThe "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
Quoted 5 lines
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".
How about a device such as the Intel IPU3 ? It's a SoC, and is present in laptops. Unlike the physical interface which is a fairly well defined way to categorize devices, creating artificial classes will always leave some devices without a home. We could have a capture card that supports both analog and digital TV. A digital TV capture card with an HDMI input can have a CEC device. Lots of combinations are possible.
Quoted 171 lines
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 (20):
media: dvb-usb: auto-selectCYPRESS_FIRMWARE
media:Kconfig: not all V4L2 platform drivers are for camera
media: pci: moveVIDEO_PCI_SKELETONto a differentKconfig
media: reorganize the drivers menu options
media:Kconfig: update theMEDIA_SUPPORThelp 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
media:Kconfig: make filtering devices optional
media:Kconfig: move CEC-specific options to cec/Kconfig
media:Kconfig: move comment to siano include
media:Kconfig: move DVB-specific options to dvb-core/Kconfig
media:Kconfig: move V4L2 subdev API to v4l2-core/Kconfig
media:Kconfig: move drivers-specificTTPCI_EEPROMKconfigvar
media:Kconfig: move media controller core select to mainKconfig
media:Kconfig: better organize menu items
media:Kconfig: mode firewire comment to firewire/Kconfig
media:Kconfig: place all options under a sub-menu
media:Kconfig: move the position of sub-driver autoselection
media:Kconfig: on !EMBEDDED && !EXPERT, enable driver filteringdrivers/media/Kconfig | 216 ++++++++++-------- drivers/media/cec/Kconfig | 10 + drivers/media/common/Kconfig | 2 +- drivers/media/dvb-core/Kconfig | 26 +++ drivers/media/firewire/Kconfig | 5 +- drivers/media/mc/Kconfig | 9 - drivers/media/mmc/Kconfig | 1 - drivers/media/mmc/siano/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/Kconfig | 6 + drivers/media/usb/dvb-usb/Kconfig | 1 + drivers/media/v4l2-core/Kconfig | 19 +- 79 files changed, 222 insertions(+), 151 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 · 3 lines
Regards, Laurent Pinchart
Quoted 2 lines · Mauro Carvalho Chehab
This patch series do lots of reorg at the media
Kconfigoptions. It also move test drivers from platform dir to a new one.
You sent this to linux-doc, but you probably meant linux-media.
Can you repost?
Regards,
Hans
Quoted 199 lines
After this change, the main config is organized on menus, allowing to select:
- type of devices selection - the filtering options
- Media core options - with API and other core stuff
- Media core extra options
- Media drivers
- Media ancillary driversThe "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 driversThis 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 (20):
media: dvb-usb: auto-selectCYPRESS_FIRMWARE
media:Kconfig: not all V4L2 platform drivers are for camera
media: pci: moveVIDEO_PCI_SKELETONto a differentKconfig
media: reorganize the drivers menu options
media:Kconfig: update theMEDIA_SUPPORThelp 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
media:Kconfig: make filtering devices optional
media:Kconfig: move CEC-specific options to cec/Kconfig
media:Kconfig: move comment to siano include
media:Kconfig: move DVB-specific options to dvb-core/Kconfig
media:Kconfig: move V4L2 subdev API to v4l2-core/Kconfig
media:Kconfig: move drivers-specificTTPCI_EEPROMKconfigvar
media:Kconfig: move media controller core select to mainKconfig
media:Kconfig: better organize menu items
media:Kconfig: mode firewire comment to firewire/Kconfig
media:Kconfig: place all options under a sub-menu
media:Kconfig: move the position of sub-driver autoselection
media:Kconfig: on !EMBEDDED && !EXPERT, enable driver filteringdrivers/media/Kconfig | 216 ++++++++++-------- drivers/media/cec/Kconfig | 10 + drivers/media/common/Kconfig | 2 +- drivers/media/dvb-core/Kconfig | 26 +++ drivers/media/firewire/Kconfig | 5 +- drivers/media/mc/Kconfig | 9 - drivers/media/mmc/Kconfig | 1 - drivers/media/mmc/siano/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/Kconfig | 6 + drivers/media/usb/dvb-usb/Kconfig | 1 + drivers/media/v4l2-core/Kconfig | 19 +- 79 files changed, 222 insertions(+), 151 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%)
Em Tue, 24 Mar 2020 15:53:59 +0200
Laurent Pinchart <[email protected]> escreveu:
Quoted 34 lines
Hi Mauro,
Thank you for the patches.
Quoted 23 lines · Mauro Carvalho Chehab
This patch series do lots of reorg at the media
Kconfigoptions. It also move test drivers from platform dir to a new one.After this change, the main config is organized on menus, allowing to select:
- type of devices selection - the filtering options
- Media core options - with API and other core stuff
- Media core extra options
- Media drivers
- Media ancillary driversThe "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 driversQuoted 5 lines
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".
Quoted 6 lines
How about a device such as the Intel IPU3 ? It's a SoC, and is present in laptops. Unlike the physical interface which is a fairly well defined way to categorize devices, creating artificial classes will always leave some devices without a home. We could have a capture card that supports both analog and digital TV. A digital TV capture card with an HDMI input can have a CEC device. Lots of combinations are possible.
This is basically what we had before, just better organized.
It is a hints based selection. So, a multi-function device like IPU3 would basically do (either directly or the menu which contains it):
depends on MEDIA_EMBEDDED_SUPPORT || MEDIA_CAMERA_SUPPORT
When the filter is disabled, both options tune to "y".
Thanks,
Mauro
Em Tue, 24 Mar 2020 14:58:59 +0100
Hans Verkuil <[email protected]> escreveu:
Quoted 7 lines · Mauro Carvalho Chehab
Quoted 2 lines
This patch series do lots of reorg at the media
Kconfigoptions. It also move test drivers from platform dir to a new one.You sent this to linux-doc, but you probably meant linux-media.
Can you repost?
Oh! Sorry for that. I used the same git clone I have lots of doc patches, as it would make easier for me to rebase, but forgot that the send code inside .git/config was pointing to a different c/c list.
Resent.
Quoted 205 lines
Regards,
Hans
Quoted 199 lines
After this change, the main config is organized on menus, allowing to select:
- type of devices selection - the filtering options
- Media core options - with API and other core stuff
- Media core extra options
- Media drivers
- Media ancillary driversThe "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 driversThis 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 (20):
media: dvb-usb: auto-selectCYPRESS_FIRMWARE
media:Kconfig: not all V4L2 platform drivers are for camera
media: pci: moveVIDEO_PCI_SKELETONto a differentKconfig
media: reorganize the drivers menu options
media:Kconfig: update theMEDIA_SUPPORThelp 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
media:Kconfig: make filtering devices optional
media:Kconfig: move CEC-specific options to cec/Kconfig
media:Kconfig: move comment to siano include
media:Kconfig: move DVB-specific options to dvb-core/Kconfig
media:Kconfig: move V4L2 subdev API to v4l2-core/Kconfig
media:Kconfig: move drivers-specificTTPCI_EEPROMKconfigvar
media:Kconfig: move media controller core select to mainKconfig
media:Kconfig: better organize menu items
media:Kconfig: mode firewire comment to firewire/Kconfig
media:Kconfig: place all options under a sub-menu
media:Kconfig: move the position of sub-driver autoselection
media:Kconfig: on !EMBEDDED && !EXPERT, enable driver filteringdrivers/media/Kconfig | 216 ++++++++++-------- drivers/media/cec/Kconfig | 10 + drivers/media/common/Kconfig | 2 +- drivers/media/dvb-core/Kconfig | 26 +++ drivers/media/firewire/Kconfig | 5 +- drivers/media/mc/Kconfig | 9 - drivers/media/mmc/Kconfig | 1 - drivers/media/mmc/siano/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/Kconfig | 6 + drivers/media/usb/dvb-usb/Kconfig | 1 + drivers/media/v4l2-core/Kconfig | 19 +- 79 files changed, 222 insertions(+), 151 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%)
Thanks,
Mauro
Quoted 46 lines · Mauro Carvalho Chehab
This patch series do lots of reorg at the media
Kconfigoptions. It also move test drivers from platform dir to a new one.After this change, the main config is organized on menus, allowing to select:
- type of devices selection - the filtering options
- Media core options - with API and other core stuff
- Media core extra options
- Media drivers
- Media ancillary driversThe "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 driversThis 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 (20):
media: dvb-usb: auto-selectCYPRESS_FIRMWARE
media:Kconfig: not all V4L2 platform drivers are for camera
media: pci: moveVIDEO_PCI_SKELETONto a differentKconfig
media: reorganize the drivers menu options
media:Kconfig: update theMEDIA_SUPPORThelp 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
media:Kconfig: make filtering devices optional
media:Kconfig: move CEC-specific options to cec/Kconfig
media:Kconfig: move comment to siano include
media:Kconfig: move DVB-specific options to dvb-core/Kconfig
Quoted 9 lines
media:
Kconfig: move V4L2 subdev API to v4l2-core/Kconfig
media:Kconfig: move drivers-specificTTPCI_EEPROMKconfigvar
media:Kconfig: move media controller core select to mainKconfig
media:Kconfig: better organize menu items
media:Kconfig: mode firewire comment to firewire/Kconfig
media:Kconfig: place all options under a sub-menu
media:Kconfig: move the position of sub-driver autoselection
media:Kconfig: on !EMBEDDED && !EXPERT, enable driver filtering
There is a patch in linux-next (which I cannot find on lkml), which breaks the build on s390x:
4be5e8648b0c287aefc6ac3f3a0b12c696054f43 is the first bad commit commit 4be5e8648b0c287aefc6ac3f3a0b12c696054f43
Author: Mauro Carvalho Chehab <[email protected]> Date: Wed Apr 15 11:03:40 2020 +0200
media: move CEC platform drivers to a separate directory
As CEC support doesn't depend on MEDIA_SUPPORT, let's place the platform drivers outside the media menu.
As a side effect, instead of depends on PCI, seco driver can select it (and DMI).
[linux1@rhkvm01 linux]$ make -j4scripts/kconfig/conf --syncconfig Kconfig drivers/pci/Kconfig:16:error: recursive dependency detected! drivers/pci/Kconfig:16: symbol PCI is selected by VIDEO_SECO_CEC drivers/media/cec/platform/Kconfig:100: symbol VIDEO_SECO_CEC depends on MEDIA_CEC_SUPPORTdrivers/media/cec/Kconfig:27: symbol MEDIA_CEC_SUPPORT default is
visible depending on MEDIA_SUPPORT_FILTERdrivers/media/Kconfig:25: symbol MEDIA_SUPPORT_FILTER depends onMEDIA_SUPPORTdrivers/media/Kconfig:12: symbol MEDIA_SUPPORT depends on HAS_IOMEMarch/s390/Kconfig:721: symbol HAS_IOMEM default value contains PCI For a resolution refer to Documentation/kbuild/kconfig-language.rst subsection "Kconfig recursive dependency limitations"
make[3]: *** [syncconfig] Error 1
make[2]: *** [syncconfig] Error 2
make[1]: *** [include/config/auto.conf.cmd] Error 2
make: *** [sub-make] Error 2
Signature · 3 lines
Thanks, David / dhildenb