[PATCH v2 09/20] media: Kconfig: make filtering devices optional

From: Mauro Carvalho Chehab
Date: Tue Mar 24 2020 - 09:43:28 EST


The per-device option selection is a feature that some
developers love, while others hate...

So, let's make both happy by making it optional.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@xxxxxxxxxx>
---
drivers/media/Kconfig | 32 +++++++++++++++++++++++++++-----
1 file changed, 27 insertions(+), 5 deletions(-)

diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig
index 4c06728a4ab7..e372029ac41f 100644
--- a/drivers/media/Kconfig
+++ b/drivers/media/Kconfig
@@ -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"

--
2.24.1