media: i2c/Kconfig: use sub-menus for I2C support
authorMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Wed, 15 Apr 2020 13:39:38 +0000 (15:39 +0200)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Thu, 16 Apr 2020 08:34:40 +0000 (10:34 +0200)
There are *lots* of I2C ancillary drivers. While we're using
comments to group them, all options appear at the same menu.

It should be a lot clearer to group them into sub-menus, with
may help people to go directly to the driver(s) he's needing
to enable.

Suggested-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Acked-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/Kconfig
drivers/media/dvb-frontends/Kconfig
drivers/media/i2c/Kconfig
drivers/media/spi/Kconfig
drivers/media/tuners/Kconfig

index ba24db7eb4d6d958059e5e3e82891073f94cdf17..1b7bcbfa7ff93ad190462da7fdaeed35c51c24c2 100644 (file)
@@ -247,7 +247,6 @@ config MEDIA_HIDE_ANCILLARY_SUBDRV
        default y
 
 menu "Media ancillary drivers"
-       visible if !MEDIA_HIDE_ANCILLARY_SUBDRV
 
 config MEDIA_ATTACH
        bool
index aa24506257b3ae11253e245a769fa86d14ce70f3..fbadba9b328ea6b57d3d6398a706554252d1f1b8 100644 (file)
@@ -2,7 +2,7 @@
 
 if MEDIA_DIGITAL_TV_SUPPORT
 
-comment "DVB Frontend drivers hidden by 'Autoselect ancillary drivers'"
+comment "DVB Frontend drivers auto-selected by 'Autoselect ancillary drivers'"
        depends on MEDIA_HIDE_ANCILLARY_SUBDRV
 
 menu "Customise DVB Frontends"
index efd12bf4f8eb347936784652f978df86a633bc8a..3abc80373ec05917748c68880dcc59d356656bc9 100644 (file)
@@ -5,6 +5,9 @@
 
 if VIDEO_V4L2
 
+comment "IR I2C driver auto-selected by 'Autoselect ancillary drivers'"
+       depends on MEDIA_SUBDRV_AUTOSELECT && I2C && RC_CORE
+
 config VIDEO_IR_I2C
        tristate "I2C module for IR" if !MEDIA_SUBDRV_AUTOSELECT || EXPERT
        depends on I2C && RC_CORE
@@ -22,17 +25,14 @@ config VIDEO_IR_I2C
 # V4L2 I2C drivers that aren't related with Camera support
 #
 
-comment "I2C drivers hidden by 'Autoselect ancillary drivers'"
+comment "audio, video and radio I2C drivers auto-selected by 'Autoselect ancillary drivers'"
        depends on MEDIA_HIDE_ANCILLARY_SUBDRV
-
-menu "I2C Encoders, decoders, sensors and other helper chips"
-       visible if !MEDIA_HIDE_ANCILLARY_SUBDRV
-
 #
 # Encoder / Decoder module configuration
 #
 
-comment "Audio decoders, processors and mixers"
+menu "Audio decoders, processors and mixers"
+       visible if !MEDIA_HIDE_ANCILLARY_SUBDRV
 
 config VIDEO_TVAUDIO
        tristate "Simple audio decoder chips"
@@ -191,8 +191,10 @@ config VIDEO_SONY_BTF_MPX
 
          To compile this driver as a module, choose M here: the
          module will be called sony-btf-mpx.
+endmenu
 
-comment "RDS decoders"
+menu "RDS decoders"
+       visible if !MEDIA_HIDE_ANCILLARY_SUBDRV
 
 config VIDEO_SAA6588
        tristate "SAA6588 Radio Chip RDS decoder support"
@@ -205,8 +207,10 @@ config VIDEO_SAA6588
 
          To compile this driver as a module, choose M here: the
          module will be called saa6588.
+endmenu
 
-comment "Video decoders"
+menu "Video decoders"
+       visible if !MEDIA_HIDE_ANCILLARY_SUBDRV
 
 config VIDEO_ADV7180
        tristate "Analog Devices ADV7180 decoder"
@@ -473,7 +477,10 @@ config VIDEO_SAA717X
 
 source "drivers/media/i2c/cx25840/Kconfig"
 
-comment "Video encoders"
+endmenu
+
+menu "Video encoders"
+       visible if !MEDIA_HIDE_ANCILLARY_SUBDRV
 
 config VIDEO_SAA7127
        tristate "Philips SAA7127/9 digital video encoders"
@@ -580,8 +587,10 @@ config VIDEO_THS8200
 
          To compile this driver as a module, choose M here: the
          module will be called ths8200.
+endmenu
 
-comment "Video improvement chips"
+menu "Video improvement chips"
+       visible if !MEDIA_HIDE_ANCILLARY_SUBDRV
 
 config VIDEO_UPD64031A
        tristate "NEC Electronics uPD64031A Ghost Reduction"
@@ -605,8 +614,10 @@ config VIDEO_UPD64083
 
          To compile this driver as a module, choose M here: the
          module will be called upd64083.
+endmenu
 
-comment "Audio/Video compression chips"
+menu "Audio/Video compression chips"
+       visible if !MEDIA_HIDE_ANCILLARY_SUBDRV
 
 config VIDEO_SAA6752HS
        tristate "Philips SAA6752HS MPEG-2 Audio/Video Encoder"
@@ -619,7 +630,10 @@ config VIDEO_SAA6752HS
          To compile this driver as a module, choose M here: the
          module will be called saa6752hs.
 
-comment "SDR tuner chips"
+endmenu
+
+menu "SDR tuner chips"
+       visible if !MEDIA_HIDE_ANCILLARY_SUBDRV
 
 config SDR_MAX2175
        tristate "Maxim 2175 RF to Bits tuner"
@@ -632,7 +646,11 @@ config SDR_MAX2175
          To compile this driver as a module, choose M here; the
          module will be called max2175.
 
-comment "Miscellaneous helper chips"
+
+endmenu
+
+menu "Miscellaneous helper chips"
+       visible if !MEDIA_HIDE_ANCILLARY_SUBDRV
 
 config VIDEO_THS7303
        tristate "THS7303/53 Video Amplifier"
@@ -679,16 +697,14 @@ config VIDEO_ST_MIPID02
 
          To compile this driver as a module, choose M here: the
          module will be called st-mipid02.
-
 endmenu
 
 #
-# All drivers that are related to Media Camera Support should be here
+# V4L2 I2C drivers that are related with Camera support
 #
 
-if MEDIA_CAMERA_SUPPORT
-
-comment "Camera sensor devices"
+menu "Camera sensor devices"
+       visible if MEDIA_CAMERA_SUPPORT
 
 config VIDEO_APTINA_PLL
        tristate
@@ -1189,7 +1205,10 @@ config VIDEO_S5C73M3
          This is a V4L2 sensor driver for Samsung S5C73M3
          8 Mpixel camera.
 
-comment "Lens drivers"
+endmenu
+
+menu "Lens drivers"
+       visible if MEDIA_CAMERA_SUPPORT
 
 config VIDEO_AD5820
        tristate "AD5820 lens voice coil support"
@@ -1232,8 +1251,10 @@ config VIDEO_DW9807_VCM
          capability. This is designed for linear control of
          voice coil motors, controlled via I2C serial interface.
 
+endmenu
 
-comment "Flash devices"
+menu "Flash devices"
+       visible if MEDIA_CAMERA_SUPPORT
 
 config VIDEO_ADP1653
        tristate "ADP1653 flash support"
@@ -1260,7 +1281,6 @@ config VIDEO_LM3646
        help
          This is a driver for the lm3646 dual flash controllers. It controls
          flash, torch LEDs.
-
-endif # MEDIA_CAMERA_SUPPORT
+endmenu
 
 endif # VIDEO_V4L2
index bf385d503cab6d96132220be65ed123f88a5a50e..857ef4ace6e9b9dd27d6b9f14b88ab6ea2971f58 100644 (file)
@@ -1,8 +1,8 @@
 # SPDX-License-Identifier: GPL-2.0-only
 if VIDEO_V4L2
 
-comment "SPI drivers hidden by 'Autoselect ancillary drivers'"
-       depends on MEDIA_HIDE_ANCILLARY_SUBDRV
+comment "SPI I2C drivers auto-selected by 'Autoselect ancillary drivers'"
+       depends on MEDIA_HIDE_ANCILLARY_SUBDRV && SPI
 
 menu "SPI helper chips"
        visible if !MEDIA_HIDE_ANCILLARY_SUBDRV
index e104bb7766e1d57f7986fdf9bb9a5fa1f8a7335c..2368b0e230e53e25c09b67fd5e6bb1acec68915e 100644 (file)
@@ -15,7 +15,7 @@ config MEDIA_TUNER
        select MEDIA_TUNER_TDA9887 if MEDIA_SUBDRV_AUTOSELECT
        select MEDIA_TUNER_MC44S803 if MEDIA_SUBDRV_AUTOSELECT
 
-comment "Tuner drivers hidden by 'Autoselect ancillary drivers'"
+comment "Tuner drivers auto-selected by 'Autoselect ancillary drivers'"
        depends on MEDIA_HIDE_ANCILLARY_SUBDRV
        depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT