[PATCH] media: Kconfig: make filtering devices optional
From: Mauro Carvalho Chehab
Date: Tue Mar 24 2020 - 08:01:27 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>
---
v2: simplify the Kconfig options by using a visible menu
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