Most uses of EXPERT are in the form

        bool "something" if EXPERT

but some are

        depends on EXPERT

The difference is the the 'depends on' use makes it
easier to select the CONFIG_EXPERT option.

$ git grep "if EXPERT" -- "*/Kconfig*" | wc -l
155
$ git grep "depends on.*EXPERT" -- "*/Kconfig*" | wc -l
26

Some of the 'depends on' uses with EXPERT are more menus
or complex logic with || and can not easily be modified,
but it's perhaps reasonable to modify the simpler ones
to the "if EXPERT" form.
---
 arch/x86/Kconfig.debug                     |  3 +--
 drivers/char/Kconfig                       |  4 ++--
 drivers/gpu/drm/i915/Kconfig.debug         |  3 +--
 drivers/gpu/drm/msm/Kconfig                |  4 ++--
 drivers/net/wireless/intel/iwlwifi/Kconfig |  4 ++--
 drivers/ssb/Kconfig                        |  4 ++--
 drivers/video/fbdev/Kconfig                |  4 ++--
 init/Kconfig                               | 10 ++++------
 kernel/power/Kconfig                       |  7 +++----
 net/wireless/Kconfig                       |  3 +--
 security/Kconfig                           |  3 +--
 11 files changed, 21 insertions(+), 28 deletions(-)

diff --git a/arch/x86/Kconfig.debug b/arch/x86/Kconfig.debug
index c6dd1d980081..f175c00c3786 100644
--- a/arch/x86/Kconfig.debug
+++ b/arch/x86/Kconfig.debug
@@ -393,8 +393,7 @@ config UNWINDER_FRAME_POINTER
          reliable stack trace (CONFIG_HAVE_RELIABLE_STACKTRACE).
 
 config UNWINDER_GUESS
-       bool "Guess unwinder"
-       depends on EXPERT
+       bool "Guess unwinder" if EXPERT
        depends on !STACKDEPOT
        ---help---
          This option enables the "guess" unwinder for unwinding kernel stack
diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
index ce277ee0a28a..c1c231a32521 100644
--- a/drivers/char/Kconfig
+++ b/drivers/char/Kconfig
@@ -52,8 +52,8 @@ source "drivers/tty/serial/Kconfig"
 source "drivers/tty/serdev/Kconfig"
 
 config TTY_PRINTK
-       tristate "TTY driver to output user messages via printk"
-       depends on EXPERT && TTY
+       tristate "TTY driver to output user messages via printk" if EXPERT
+       depends on TTY
        default n
        ---help---
          If you say Y here, the support for writing user messages (i.e.
diff --git a/drivers/gpu/drm/i915/Kconfig.debug 
b/drivers/gpu/drm/i915/Kconfig.debug
index 459f8f88a34c..cbf61c0d3917 100644
--- a/drivers/gpu/drm/i915/Kconfig.debug
+++ b/drivers/gpu/drm/i915/Kconfig.debug
@@ -1,8 +1,7 @@
 config DRM_I915_WERROR
-        bool "Force GCC to throw an error instead of a warning when compiling"
+        bool "Force GCC to throw an error instead of a warning when compiling" 
if EXPERT
         # As this may inadvertently break the build, only allow the user
         # to shoot oneself in the foot iff they aim really hard
-        depends on EXPERT
         # We use the dependency on !COMPILE_TEST to not be enabled in
         # allmodconfig or allyesconfig configurations
         depends on !COMPILE_TEST
diff --git a/drivers/gpu/drm/msm/Kconfig b/drivers/gpu/drm/msm/Kconfig
index 843a9d40c05e..4fe57693005f 100644
--- a/drivers/gpu/drm/msm/Kconfig
+++ b/drivers/gpu/drm/msm/Kconfig
@@ -30,8 +30,8 @@ config DRM_MSM_REGISTER_LOGGING
          logging can be switched on via msm.reglog=y module param.
 
 config DRM_MSM_GPU_SUDO
-       bool "Enable SUDO flag on submits"
-       depends on DRM_MSM && EXPERT
+       bool "Enable SUDO flag on submits" if EXPERT
+       depends on DRM_MSM
        default n
        help
          Enable userspace that has CAP_SYS_RAWIO to submit GPU commands
diff --git a/drivers/net/wireless/intel/iwlwifi/Kconfig 
b/drivers/net/wireless/intel/iwlwifi/Kconfig
index e5a2fc738ac3..d82d0bdd837e 100644
--- a/drivers/net/wireless/intel/iwlwifi/Kconfig
+++ b/drivers/net/wireless/intel/iwlwifi/Kconfig
@@ -89,8 +89,8 @@ config IWLWIFI_BCAST_FILTERING
          expect incoming broadcasts for their normal operations.
 
 config IWLWIFI_PCIE_RTPM
-       bool "Enable runtime power management mode for PCIe devices"
-       depends on IWLMVM && PM && EXPERT
+       bool "Enable runtime power management mode for PCIe devices" if EXPERT
+       depends on IWLMVM && PM
        help
          Say Y here to enable runtime power management for PCIe
          devices.  If enabled, the device will go into low power mode
diff --git a/drivers/ssb/Kconfig b/drivers/ssb/Kconfig
index c574dd210500..e6036784c260 100644
--- a/drivers/ssb/Kconfig
+++ b/drivers/ssb/Kconfig
@@ -90,8 +90,8 @@ config SSB_HOST_SOC
          If unsure, say N
 
 config SSB_SILENT
-       bool "No SSB kernel messages"
-       depends on SSB && EXPERT
+       bool "No SSB kernel messages" if EXPERT
+       depends on SSB
        help
          This option turns off all Sonics Silicon Backplane printks.
          Note that you won't be able to identify problems, once
diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index 591a13a59787..371c6c6ac414 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -1076,8 +1076,8 @@ config FB_CARILLO_RANCH
          This driver supports the LE80578 (Carillo Ranch) board
 
 config FB_INTEL
-       tristate "Intel 830M/845G/852GM/855GM/865G/915G/945G/945GM/965G/965GM 
support"
-       depends on FB && PCI && X86 && AGP_INTEL && EXPERT
+       tristate "Intel 830M/845G/852GM/855GM/865G/915G/945G/945GM/965G/965GM 
support" if EXPERT
+       depends on FB && PCI && X86 && AGP_INTEL
        select FB_MODE_HELPERS
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
diff --git a/init/Kconfig b/init/Kconfig
index 3f44cae1f88c..fe17a3261a8f 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -1086,9 +1086,8 @@ config HAVE_LD_DEAD_CODE_DATA_ELIMINATION
          is used to distinguish them from label names / C identifiers.
 
 config LD_DEAD_CODE_DATA_ELIMINATION
-       bool "Dead code and data elimination (EXPERIMENTAL)"
+       bool "Dead code and data elimination (EXPERIMENTAL)" if EXPERT
        depends on HAVE_LD_DEAD_CODE_DATA_ELIMINATION
-       depends on EXPERT
        help
          Enable this if you want to do dead code and data elimination with
          the linker by compiling with -ffunction-sections -fdata-sections,
@@ -1626,8 +1625,7 @@ config SLUB
           a slab allocator.
 
 config SLOB
-       depends on EXPERT
-       bool "SLOB (Simple Allocator)"
+       bool "SLOB (Simple Allocator)" if EXPERT
        help
           SLOB replaces the stock allocator with a drastically simpler
           allocator. SLOB is generally more space efficient but
@@ -1679,8 +1677,8 @@ config SLUB_CPU_PARTIAL
          Typically one would choose no for a realtime system.
 
 config MMAP_ALLOW_UNINITIALIZED
-       bool "Allow mmapped anonymous memory to be uninitialized"
-       depends on EXPERT && !MMU
+       bool "Allow mmapped anonymous memory to be uninitialized" if EXPERT
+       depends on !MMU
        default n
        help
          Normally, and according to the Linux spec, anonymous memory obtained
diff --git a/kernel/power/Kconfig b/kernel/power/Kconfig
index e880ca22c5a5..d684fcdeaa89 100644
--- a/kernel/power/Kconfig
+++ b/kernel/power/Kconfig
@@ -19,9 +19,8 @@ config SUSPEND_FREEZER
          Turning OFF this setting is NOT recommended! If in doubt, say Y.
 
 config SUSPEND_SKIP_SYNC
-       bool "Skip kernel's sys_sync() on suspend to RAM/standby"
+       bool "Skip kernel's sys_sync() on suspend to RAM/standby" if EXPERT
        depends on SUSPEND
-       depends on EXPERT
        help
          Skip the kernel sys_sync() before freezing user processes.
          Some systems prefer not to pay this cost on every invocation
@@ -185,8 +184,8 @@ config PM_SLEEP_DEBUG
        depends on PM_DEBUG && PM_SLEEP
 
 config DPM_WATCHDOG
-       bool "Device suspend/resume watchdog"
-       depends on PM_DEBUG && PSTORE && EXPERT
+       bool "Device suspend/resume watchdog" if EXPERT
+       depends on PM_DEBUG && PSTORE
        ---help---
          Sets up a watchdog timer to capture drivers that are
          locked up attempting to suspend/resume a device.
diff --git a/net/wireless/Kconfig b/net/wireless/Kconfig
index 41722046b937..50bcd75cc881 100644
--- a/net/wireless/Kconfig
+++ b/net/wireless/Kconfig
@@ -67,8 +67,7 @@ config CFG80211_DEVELOPER_WARNINGS
 
 
 config CFG80211_CERTIFICATION_ONUS
-       bool "cfg80211 certification onus"
-       depends on EXPERT
+       bool "cfg80211 certification onus" if EXPERT
        default n
        ---help---
          You should disable this option unless you are both capable
diff --git a/security/Kconfig b/security/Kconfig
index afa91c6f06bb..b017771a3012 100644
--- a/security/Kconfig
+++ b/security/Kconfig
@@ -179,9 +179,8 @@ config HARDENED_USERCOPY_FALLBACK
          this setting.
 
 config HARDENED_USERCOPY_PAGESPAN
-       bool "Refuse to copy allocations that span multiple pages"
+       bool "Refuse to copy allocations that span multiple pages" if EXPERT
        depends on HARDENED_USERCOPY
-       depends on EXPERT
        help
          When a multi-page allocation is done without __GFP_COMP,
          hardened usercopy will reject attempts to copy it. There are,

Reply via email to