[RFC PATCH v2 3/3] treewide: drivers: Convert to "uses" keyword for Kconfig weak dependencies

From: Saeed Mahameed
Date: Fri Apr 17 2020 - 16:07:48 EST


With the introduction of the "uses" keyword we can avoid repetition and
the explicit confusing expression statement of weak Kconfig dependencies
i.e. (FOO || !FOO).

Convert all single appearances of the above pattern treewide.

This was done via the following script: Courtesy of Arnd Bergmann.

$ git ls-files | grep Kconfig | xargs sed -i 's:depends.on.\([A-Z0-9_a-z]\+\) || \(\1 \?= \?n\|!\1\):uses \1:'

Tested only with make olddefconfig.

Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx>
Suggested-by: Arnd Bergmann <arnd@xxxxxxxx>
Cc: Masahiro Yamada <masahiroy@xxxxxxxxxx>
Cc: linux-kbuild@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
---
drivers/bluetooth/Kconfig | 4 +-
drivers/crypto/hisilicon/Kconfig | 8 +--
drivers/edac/Kconfig | 4 +-
drivers/gpu/drm/Kconfig | 2 +-
drivers/gpu/drm/bridge/Kconfig | 2 +-
drivers/gpu/drm/msm/Kconfig | 4 +-
drivers/gpu/ipu-v3/Kconfig | 2 +-
drivers/hid/Kconfig | 2 +-
drivers/hwmon/Kconfig | 14 ++---
drivers/iio/adc/Kconfig | 2 +-
drivers/infiniband/hw/i40iw/Kconfig | 2 +-
drivers/input/serio/Kconfig | 2 +-
drivers/input/touchscreen/Kconfig | 2 +-
drivers/leds/Kconfig | 6 +-
drivers/md/Kconfig | 2 +-
drivers/media/platform/Kconfig | 2 +-
drivers/media/usb/dvb-usb/Kconfig | 2 +-
drivers/media/usb/gspca/Kconfig | 2 +-
drivers/misc/Kconfig | 2 +-
drivers/net/Kconfig | 14 ++---
drivers/net/dsa/b53/Kconfig | 2 +-
drivers/net/ethernet/aquantia/Kconfig | 2 +-
drivers/net/ethernet/broadcom/Kconfig | 2 +-
drivers/net/ethernet/mellanox/mlxsw/Kconfig | 12 ++--
drivers/net/ethernet/netronome/Kconfig | 2 +-
drivers/net/phy/Kconfig | 4 +-
drivers/net/wireless/ath/wcn36xx/Kconfig | 4 +-
drivers/phy/motorola/Kconfig | 2 +-
drivers/phy/qualcomm/Kconfig | 8 +--
drivers/phy/renesas/Kconfig | 2 +-
drivers/phy/ti/Kconfig | 2 +-
drivers/pinctrl/Kconfig | 2 +-
drivers/platform/x86/Kconfig | 62 ++++++++++-----------
drivers/power/supply/Kconfig | 2 +-
drivers/remoteproc/Kconfig | 20 +++----
drivers/scsi/Kconfig | 4 +-
drivers/scsi/cxgbi/cxgb4i/Kconfig | 2 +-
drivers/scsi/qla2xxx/Kconfig | 2 +-
drivers/staging/wfx/Kconfig | 2 +-
drivers/thermal/Kconfig | 4 +-
drivers/usb/dwc2/Kconfig | 2 +-
drivers/usb/dwc3/Kconfig | 4 +-
drivers/usb/gadget/udc/Kconfig | 2 +-
drivers/usb/mtu3/Kconfig | 2 +-
drivers/usb/musb/Kconfig | 2 +-
drivers/usb/phy/Kconfig | 12 ++--
drivers/usb/renesas_usbhs/Kconfig | 2 +-
drivers/usb/typec/tcpm/Kconfig | 2 +-
drivers/watchdog/Kconfig | 4 +-
lib/crypto/Kconfig | 12 ++--
net/bluetooth/Kconfig | 2 +-
net/bridge/Kconfig | 2 +-
net/dsa/Kconfig | 2 +-
net/ipv4/Kconfig | 2 +-
net/mpls/Kconfig | 2 +-
net/netfilter/Kconfig | 24 ++++----
net/nfc/Kconfig | 2 +-
net/rds/Kconfig | 2 +-
net/sctp/Kconfig | 2 +-
net/wimax/Kconfig | 2 +-
net/wireless/Kconfig | 2 +-
sound/soc/fsl/Kconfig | 2 +-
62 files changed, 156 insertions(+), 156 deletions(-)

diff --git a/drivers/bluetooth/Kconfig b/drivers/bluetooth/Kconfig
index 4e73a531b377..c3cb5b739dd7 100644
--- a/drivers/bluetooth/Kconfig
+++ b/drivers/bluetooth/Kconfig
@@ -87,8 +87,8 @@ config BT_HCIBTSDIO

config BT_HCIUART
tristate "HCI UART driver"
- depends on SERIAL_DEV_BUS || !SERIAL_DEV_BUS
- depends on NVMEM || !NVMEM
+ uses SERIAL_DEV_BUS
+ uses NVMEM
depends on TTY
help
Bluetooth HCI UART driver.
diff --git a/drivers/crypto/hisilicon/Kconfig b/drivers/crypto/hisilicon/Kconfig
index f09c6cf7823e..89425b453aa4 100644
--- a/drivers/crypto/hisilicon/Kconfig
+++ b/drivers/crypto/hisilicon/Kconfig
@@ -27,7 +27,7 @@ config CRYPTO_DEV_HISI_SEC2
select CRYPTO_SHA256
select CRYPTO_SHA512
depends on PCI && PCI_MSI
- depends on UACCE || UACCE=n
+ uses UACCE
depends on ARM64 || (COMPILE_TEST && 64BIT)
help
Support for HiSilicon SEC Engine of version 2 in crypto subsystem.
@@ -41,7 +41,7 @@ config CRYPTO_DEV_HISI_QM
tristate
depends on ARM64 || COMPILE_TEST
depends on PCI && PCI_MSI
- depends on UACCE || UACCE=n
+ uses UACCE
help
HiSilicon accelerator engines use a common queue management
interface. Specific engine driver may use this module.
@@ -51,7 +51,7 @@ config CRYPTO_DEV_HISI_ZIP
depends on PCI && PCI_MSI
depends on ARM64 || (COMPILE_TEST && 64BIT)
depends on !CPU_BIG_ENDIAN || COMPILE_TEST
- depends on UACCE || UACCE=n
+ uses UACCE
select CRYPTO_DEV_HISI_QM
help
Support for HiSilicon ZIP Driver
@@ -59,7 +59,7 @@ config CRYPTO_DEV_HISI_ZIP
config CRYPTO_DEV_HISI_HPRE
tristate "Support for HISI HPRE accelerator"
depends on PCI && PCI_MSI
- depends on UACCE || UACCE=n
+ uses UACCE
depends on ARM64 || (COMPILE_TEST && 64BIT)
select CRYPTO_DEV_HISI_QM
select CRYPTO_DH
diff --git a/drivers/edac/Kconfig b/drivers/edac/Kconfig
index fe2eb892a1bd..2e065ff5c1dc 100644
--- a/drivers/edac/Kconfig
+++ b/drivers/edac/Kconfig
@@ -232,7 +232,7 @@ config EDAC_SBRIDGE
config EDAC_SKX
tristate "Intel Skylake server Integrated MC"
depends on PCI && X86_64 && X86_MCE_INTEL && PCI_MMCONFIG && ACPI
- depends on ACPI_NFIT || !ACPI_NFIT # if ACPI_NFIT=m, EDAC_SKX can't be y
+ uses ACPI_NFIT # if ACPI_NFIT=m, EDAC_SKX can't be y
select DMI
select ACPI_ADXL
help
@@ -244,7 +244,7 @@ config EDAC_SKX
config EDAC_I10NM
tristate "Intel 10nm server Integrated MC"
depends on PCI && X86_64 && X86_MCE_INTEL && PCI_MMCONFIG && ACPI
- depends on ACPI_NFIT || !ACPI_NFIT # if ACPI_NFIT=m, EDAC_I10NM can't be y
+ uses ACPI_NFIT # if ACPI_NFIT=m, EDAC_I10NM can't be y
select DMI
select ACPI_ADXL
help
diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
index 43594978958e..a009dfc20bec 100644
--- a/drivers/gpu/drm/Kconfig
+++ b/drivers/gpu/drm/Kconfig
@@ -445,7 +445,7 @@ config DRM_MGA
config DRM_SIS
tristate "SiS video cards"
depends on DRM && AGP
- depends on FB_SIS || FB_SIS=n
+ uses FB_SIS
help
Choose this option if you have a SiS 630 or compatible video
chipset. If M is selected the module will be called sis. AGP
diff --git a/drivers/gpu/drm/bridge/Kconfig b/drivers/gpu/drm/bridge/Kconfig
index aaed2347ace9..b8a097ff3671 100644
--- a/drivers/gpu/drm/bridge/Kconfig
+++ b/drivers/gpu/drm/bridge/Kconfig
@@ -91,7 +91,7 @@ config DRM_SIL_SII8620
depends on OF
select DRM_KMS_HELPER
imply EXTCON
- depends on RC_CORE || !RC_CORE
+ uses RC_CORE
help
Silicon Image SII8620 HDMI/MHL bridge chip driver.

diff --git a/drivers/gpu/drm/msm/Kconfig b/drivers/gpu/drm/msm/Kconfig
index 6deaa7d01654..ae9a397a2e53 100644
--- a/drivers/gpu/drm/msm/Kconfig
+++ b/drivers/gpu/drm/msm/Kconfig
@@ -6,8 +6,8 @@ config DRM_MSM
depends on ARCH_QCOM || SOC_IMX5 || (ARM && COMPILE_TEST)
depends on OF && COMMON_CLK
depends on MMU
- depends on INTERCONNECT || !INTERCONNECT
- depends on QCOM_OCMEM || QCOM_OCMEM=n
+ uses INTERCONNECT
+ uses QCOM_OCMEM
select QCOM_MDT_LOADER if ARCH_QCOM
select REGULATOR
select DRM_KMS_HELPER
diff --git a/drivers/gpu/ipu-v3/Kconfig b/drivers/gpu/ipu-v3/Kconfig
index 061fb990c120..e1c489144f94 100644
--- a/drivers/gpu/ipu-v3/Kconfig
+++ b/drivers/gpu/ipu-v3/Kconfig
@@ -2,7 +2,7 @@
config IMX_IPUV3_CORE
tristate "IPUv3 core support"
depends on SOC_IMX5 || SOC_IMX6Q || ARCH_MULTIPLATFORM || COMPILE_TEST
- depends on DRM || !DRM # if DRM=m, this can't be 'y'
+ uses DRM # if DRM=m, this can't be 'y'
select BITREVERSE
select GENERIC_ALLOCATOR if DRM
select GENERIC_IRQ_CHIP
diff --git a/drivers/hid/Kconfig b/drivers/hid/Kconfig
index 7c89edbd6c5a..df7728b17fa4 100644
--- a/drivers/hid/Kconfig
+++ b/drivers/hid/Kconfig
@@ -150,7 +150,7 @@ config HID_APPLEIR
config HID_ASUS
tristate "Asus"
depends on LEDS_CLASS
- depends on ASUS_WMI || ASUS_WMI=n
+ uses ASUS_WMI
select POWER_SUPPLY
---help---
Support for Asus notebook built-in keyboard and touchpad via i2c, and
diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig
index 05a30832c6ba..9416c968fdd6 100644
--- a/drivers/hwmon/Kconfig
+++ b/drivers/hwmon/Kconfig
@@ -350,7 +350,7 @@ config SENSORS_APPLESMC
config SENSORS_ARM_SCMI
tristate "ARM SCMI Sensors"
depends on ARM_SCMI_PROTOCOL
- depends on THERMAL || !THERMAL_OF
+ uses THERMAL_OF
help
This driver provides support for temperature, voltage, current
and power sensors available on SCMI based platforms. The actual
@@ -362,7 +362,7 @@ config SENSORS_ARM_SCMI
config SENSORS_ARM_SCPI
tristate "ARM SCPI Sensors"
depends on ARM_SCPI_PROTOCOL
- depends on THERMAL || !THERMAL_OF
+ uses THERMAL_OF
help
This driver provides support for temperature, voltage, current
and power sensors available on ARM Ltd's SCP based platforms. The
@@ -381,7 +381,7 @@ config SENSORS_ASB100

config SENSORS_ASPEED
tristate "ASPEED AST2400/AST2500 PWM and Fan tach driver"
- depends on THERMAL || THERMAL=n
+ uses THERMAL
select REGMAP
help
This driver provides support for ASPEED AST2400/AST2500 PWM
@@ -602,7 +602,7 @@ config SENSORS_GPIO_FAN
tristate "GPIO fan"
depends on OF_GPIO
depends on GPIOLIB || COMPILE_TEST
- depends on THERMAL || THERMAL=n
+ uses THERMAL
help
If you say yes here you get support for fans connected to GPIO lines.

@@ -975,7 +975,7 @@ config SENSORS_MAX6642
config SENSORS_MAX6650
tristate "Maxim MAX6650 sensor chip"
depends on I2C
- depends on THERMAL || THERMAL=n
+ uses THERMAL
help
If you say yes here you get support for the MAX6650 / MAX6651
sensor chips.
@@ -1289,7 +1289,7 @@ config SENSORS_PC87427
config SENSORS_NTC_THERMISTOR
tristate "NTC thermistor support from Murata"
depends on !OF || IIO=n || IIO
- depends on THERMAL || !THERMAL_OF
+ uses THERMAL_OF
help
This driver supports NTC thermistors sensor reading and its
interpretation. The driver can also monitor the temperature and
@@ -1393,7 +1393,7 @@ source "drivers/hwmon/pmbus/Kconfig"
config SENSORS_PWM_FAN
tristate "PWM fan"
depends on (PWM && OF) || COMPILE_TEST
- depends on THERMAL || THERMAL=n
+ uses THERMAL
help
If you say yes here you get support for fans connected to PWM lines.
The driver uses the generic PWM interface, thus it will work on a
diff --git a/drivers/iio/adc/Kconfig b/drivers/iio/adc/Kconfig
index 12bb8b7ca1ff..dbdcb4380bf6 100644
--- a/drivers/iio/adc/Kconfig
+++ b/drivers/iio/adc/Kconfig
@@ -929,7 +929,7 @@ config SUN4I_GPADC
tristate "Support for the Allwinner SoCs GPADC"
depends on IIO
depends on MFD_SUN4I_GPADC || MACH_SUN8I
- depends on THERMAL || !THERMAL_OF
+ uses THERMAL_OF
select REGMAP_IRQ
help
Say yes here to build support for Allwinner (A10, A13 and A31) SoCs
diff --git a/drivers/infiniband/hw/i40iw/Kconfig b/drivers/infiniband/hw/i40iw/Kconfig
index e4b45f4cd8f8..a83eb0be04af 100644
--- a/drivers/infiniband/hw/i40iw/Kconfig
+++ b/drivers/infiniband/hw/i40iw/Kconfig
@@ -2,7 +2,7 @@
config INFINIBAND_I40IW
tristate "Intel(R) Ethernet X722 iWARP Driver"
depends on INET && I40E
- depends on IPV6 || !IPV6
+ uses IPV6
depends on PCI
select GENERIC_ALLOCATOR
---help---
diff --git a/drivers/input/serio/Kconfig b/drivers/input/serio/Kconfig
index 373a1646019e..1dc0c792c642 100644
--- a/drivers/input/serio/Kconfig
+++ b/drivers/input/serio/Kconfig
@@ -177,7 +177,7 @@ config SERIO_SGI_IOC3

config SERIO_LIBPS2
tristate "PS/2 driver library"
- depends on SERIO_I8042 || SERIO_I8042=n
+ uses SERIO_I8042
help
Say Y here if you are using a driver for device connected
to a PS/2 port, such as PS/2 mouse or standard AT keyboard.
diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig
index c071f7c407b6..fcc040d7ff98 100644
--- a/drivers/input/touchscreen/Kconfig
+++ b/drivers/input/touchscreen/Kconfig
@@ -1196,7 +1196,7 @@ config TOUCHSCREEN_SUN4I
tristate "Allwinner sun4i resistive touchscreen controller support"
depends on ARCH_SUNXI || COMPILE_TEST
depends on HWMON
- depends on THERMAL || !THERMAL_OF
+ uses THERMAL_OF
help
This selects support for the resistive touchscreen controller
found on Allwinner sunxi SoCs.
diff --git a/drivers/leds/Kconfig b/drivers/leds/Kconfig
index c664d84e1667..93acfab6789b 100644
--- a/drivers/leds/Kconfig
+++ b/drivers/leds/Kconfig
@@ -52,7 +52,7 @@ config LEDS_88PM860X
config LEDS_AAT1290
tristate "LED support for the AAT1290"
depends on LEDS_CLASS_FLASH
- depends on V4L2_FLASH_LED_CLASS || !V4L2_FLASH_LED_CLASS
+ uses V4L2_FLASH_LED_CLASS
depends on GPIOLIB || COMPILE_TEST
depends on OF
depends on PINCTRL
@@ -86,7 +86,7 @@ config LEDS_APU
config LEDS_AS3645A
tristate "AS3645A and LM3555 LED flash controllers support"
depends on I2C && LEDS_CLASS_FLASH
- depends on V4L2_FLASH_LED_CLASS || !V4L2_FLASH_LED_CLASS
+ uses V4L2_FLASH_LED_CLASS
help
Enable LED flash class support for AS3645A LED flash
controller. V4L2 flash API is provided as well if
@@ -646,7 +646,7 @@ config LEDS_MAX77650
config LEDS_MAX77693
tristate "LED support for MAX77693 Flash"
depends on LEDS_CLASS_FLASH
- depends on V4L2_FLASH_LED_CLASS || !V4L2_FLASH_LED_CLASS
+ uses V4L2_FLASH_LED_CLASS
depends on MFD_MAX77693
depends on OF
help
diff --git a/drivers/md/Kconfig b/drivers/md/Kconfig
index d6d5ab23c088..86e1c999c24e 100644
--- a/drivers/md/Kconfig
+++ b/drivers/md/Kconfig
@@ -202,7 +202,7 @@ config BLK_DEV_DM_BUILTIN
config BLK_DEV_DM
tristate "Device mapper support"
select BLK_DEV_DM_BUILTIN
- depends on DAX || DAX=n
+ uses DAX
---help---
Device-mapper is a low level volume manager. It works by allowing
people to specify mappings for ranges of logical sectors. Various
diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig
index e01bbb9dd1c1..ef21d74a0b7e 100644
--- a/drivers/media/platform/Kconfig
+++ b/drivers/media/platform/Kconfig
@@ -483,7 +483,7 @@ config VIDEO_QCOM_VENUS
tristate "Qualcomm Venus V4L2 encoder/decoder driver"
depends on VIDEO_DEV && VIDEO_V4L2
depends on (ARCH_QCOM && IOMMU_DMA) || COMPILE_TEST
- depends on INTERCONNECT || !INTERCONNECT
+ uses INTERCONNECT
select QCOM_MDT_LOADER if ARCH_QCOM
select QCOM_SCM if ARCH_QCOM
select VIDEOBUF2_DMA_SG
diff --git a/drivers/media/usb/dvb-usb/Kconfig b/drivers/media/usb/dvb-usb/Kconfig
index 1a3e5f965ae4..d153f50a7349 100644
--- a/drivers/media/usb/dvb-usb/Kconfig
+++ b/drivers/media/usb/dvb-usb/Kconfig
@@ -45,7 +45,7 @@ config DVB_USB_DIBUSB_MB
depends on DVB_USB
select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT
select DVB_DIB3000MB
- depends on DVB_DIB3000MC || !DVB_DIB3000MC
+ uses DVB_DIB3000MC
select MEDIA_TUNER_MT2060 if MEDIA_SUBDRV_AUTOSELECT
help
Support for USB 1.1 and 2.0 DVB-T receivers based on reference designs made by
diff --git a/drivers/media/usb/gspca/Kconfig b/drivers/media/usb/gspca/Kconfig
index 77a360958239..79ce2ff04632 100644
--- a/drivers/media/usb/gspca/Kconfig
+++ b/drivers/media/usb/gspca/Kconfig
@@ -2,7 +2,7 @@
menuconfig USB_GSPCA
tristate "GSPCA based webcams"
depends on VIDEO_V4L2
- depends on INPUT || INPUT=n
+ uses INPUT
select VIDEOBUF2_VMALLOC
default m
help
diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
index 99e151475d8f..43c0809cc811 100644
--- a/drivers/misc/Kconfig
+++ b/drivers/misc/Kconfig
@@ -68,7 +68,7 @@ config DUMMY_IRQ
config IBM_ASM
tristate "Device driver for IBM RSA service processor"
depends on X86 && PCI && INPUT
- depends on SERIAL_8250 || SERIAL_8250=n
+ uses SERIAL_8250
---help---
This option enables device driver support for in-band access to the
IBM RSA (Condor) service processor in eServer xSeries systems.
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
index b103fbdd0f68..b7fd398a16a6 100644
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
@@ -41,7 +41,7 @@ if NET_CORE
config BONDING
tristate "Bonding driver support"
depends on INET
- depends on IPV6 || IPV6=n
+ uses IPV6
---help---
Say 'Y' or 'M' if you wish to be able to 'bond' multiple Ethernet
Channels together. This is called 'Etherchannel' by Cisco,
@@ -74,7 +74,7 @@ config DUMMY
config WIREGUARD
tristate "WireGuard secure network tunnel"
depends on NET && INET
- depends on IPV6 || !IPV6
+ uses IPV6
select NET_UDP_TUNNEL
select DST_CACHE
select CRYPTO
@@ -199,7 +199,7 @@ config IPVLAN_L3S
config IPVLAN
tristate "IP-VLAN support"
depends on INET
- depends on IPV6 || !IPV6
+ uses IPV6
---help---
This allows one to create virtual devices off of a main interface
and packets will be delivered based on the dest L3 (IPv6/IPv4 addr)
@@ -246,7 +246,7 @@ config VXLAN
config GENEVE
tristate "Generic Network Virtualization Encapsulation"
depends on INET
- depends on IPV6 || !IPV6
+ uses IPV6
select NET_UDP_TUNNEL
select GRO_CELLS
---help---
@@ -262,7 +262,7 @@ config GENEVE
config BAREUDP
tristate "Bare UDP Encapsulation"
depends on INET
- depends on IPV6 || !IPV6
+ uses IPV6
select NET_UDP_TUNNEL
select GRO_CELLS
help
@@ -412,7 +412,7 @@ config NET_VRF
tristate "Virtual Routing and Forwarding (Lite)"
depends on IP_MULTIPLE_TABLES
depends on NET_L3_MASTER_DEV
- depends on IPV6 || IPV6=n
+ uses IPV6
depends on IPV6_MULTIPLE_TABLES || IPV6=n
---help---
This option enables the support for mapping interfaces into VRF's. The
@@ -566,7 +566,7 @@ config NETDEVSIM
tristate "Simulated networking device"
depends on DEBUG_FS
depends on INET
- depends on IPV6 || IPV6=n
+ uses IPV6
select NET_DEVLINK
help
This driver is a developer testing tool and software model that can
diff --git a/drivers/net/dsa/b53/Kconfig b/drivers/net/dsa/b53/Kconfig
index f9891a81c808..d4b124247cda 100644
--- a/drivers/net/dsa/b53/Kconfig
+++ b/drivers/net/dsa/b53/Kconfig
@@ -32,7 +32,7 @@ config B53_MMAP_DRIVER
config B53_SRAB_DRIVER
tristate "B53 SRAB connected switch driver"
depends on B53 && HAS_IOMEM
- depends on B53_SERDES || !B53_SERDES
+ uses B53_SERDES
default ARCH_BCM_IPROC
help
Select to enable support for memory-mapped Switch Register Access
diff --git a/drivers/net/ethernet/aquantia/Kconfig b/drivers/net/ethernet/aquantia/Kconfig
index 76a44b2546ff..575ea831511f 100644
--- a/drivers/net/ethernet/aquantia/Kconfig
+++ b/drivers/net/ethernet/aquantia/Kconfig
@@ -20,7 +20,7 @@ config AQTION
tristate "aQuantia AQtion(tm) Support"
depends on PCI
depends on X86_64 || ARM64 || COMPILE_TEST
- depends on MACSEC || MACSEC=n
+ uses MACSEC
---help---
This enables the support for the aQuantia AQtion(tm) Ethernet card.

diff --git a/drivers/net/ethernet/broadcom/Kconfig b/drivers/net/ethernet/broadcom/Kconfig
index 53055ce5dfd6..462331914f92 100644
--- a/drivers/net/ethernet/broadcom/Kconfig
+++ b/drivers/net/ethernet/broadcom/Kconfig
@@ -184,7 +184,7 @@ config BGMAC_PLATFORM
config SYSTEMPORT
tristate "Broadcom SYSTEMPORT internal MAC support"
depends on HAS_IOMEM
- depends on NET_DSA || !NET_DSA
+ uses NET_DSA
select MII
select PHYLIB
select FIXED_PHY
diff --git a/drivers/net/ethernet/mellanox/mlxsw/Kconfig b/drivers/net/ethernet/mellanox/mlxsw/Kconfig
index f458fd1ce9f8..8642aee4f028 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/Kconfig
+++ b/drivers/net/ethernet/mellanox/mlxsw/Kconfig
@@ -73,12 +73,12 @@ config MLXSW_SWITCHX2
config MLXSW_SPECTRUM
tristate "Mellanox Technologies Spectrum family support"
depends on MLXSW_CORE && MLXSW_PCI && NET_SWITCHDEV && VLAN_8021Q
- depends on PSAMPLE || PSAMPLE=n
- depends on BRIDGE || BRIDGE=n
- depends on IPV6 || IPV6=n
- depends on NET_IPGRE || NET_IPGRE=n
- depends on IPV6_GRE || IPV6_GRE=n
- depends on VXLAN || VXLAN=n
+ uses PSAMPLE
+ uses BRIDGE
+ uses IPV6
+ uses NET_IPGRE
+ uses IPV6_GRE
+ uses VXLAN
select GENERIC_ALLOCATOR
select PARMAN
select OBJAGG
diff --git a/drivers/net/ethernet/netronome/Kconfig b/drivers/net/ethernet/netronome/Kconfig
index a3f68a718813..246b36a9ea39 100644
--- a/drivers/net/ethernet/netronome/Kconfig
+++ b/drivers/net/ethernet/netronome/Kconfig
@@ -19,7 +19,7 @@ if NET_VENDOR_NETRONOME
config NFP
tristate "Netronome(R) NFP4000/NFP6000 NIC driver"
depends on PCI && PCI_MSI
- depends on VXLAN || VXLAN=n
+ uses VXLAN
depends on TLS && TLS_DEVICE || TLS_DEVICE=n
select NET_DEVLINK
---help---
diff --git a/drivers/net/phy/Kconfig b/drivers/net/phy/Kconfig
index 3fa33d27eeba..87c8e408f32c 100644
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
@@ -276,7 +276,7 @@ comment "MII PHY device drivers"
config SFP
tristate "SFP cage support"
depends on I2C && PHYLINK
- depends on HWMON || HWMON=n
+ uses HWMON
select MDIO_I2C

config ADIN_PHY
@@ -460,7 +460,7 @@ config MICROCHIP_T1_PHY

config MICROSEMI_PHY
tristate "Microsemi PHYs"
- depends on MACSEC || MACSEC=n
+ uses MACSEC
select CRYPTO_AES
select CRYPTO_ECB
---help---
diff --git a/drivers/net/wireless/ath/wcn36xx/Kconfig b/drivers/net/wireless/ath/wcn36xx/Kconfig
index a4b153470a2c..04ee6aa301b1 100644
--- a/drivers/net/wireless/ath/wcn36xx/Kconfig
+++ b/drivers/net/wireless/ath/wcn36xx/Kconfig
@@ -2,8 +2,8 @@
config WCN36XX
tristate "Qualcomm Atheros WCN3660/3680 support"
depends on MAC80211 && HAS_DMA
- depends on QCOM_WCNSS_CTRL || QCOM_WCNSS_CTRL=n
- depends on RPMSG || RPMSG=n
+ uses QCOM_WCNSS_CTRL
+ uses RPMSG
---help---
This module adds support for wireless adapters based on
Qualcomm Atheros WCN3660 and WCN3680 mobile chipsets.
diff --git a/drivers/phy/motorola/Kconfig b/drivers/phy/motorola/Kconfig
index 4b5e605a3daa..1ff125e33ed2 100644
--- a/drivers/phy/motorola/Kconfig
+++ b/drivers/phy/motorola/Kconfig
@@ -5,7 +5,7 @@
config PHY_CPCAP_USB
tristate "CPCAP PMIC USB PHY driver"
depends on USB_SUPPORT && IIO
- depends on USB_MUSB_HDRC || USB_MUSB_HDRC=n
+ uses USB_MUSB_HDRC
select GENERIC_PHY
select USB_PHY
help
diff --git a/drivers/phy/qualcomm/Kconfig b/drivers/phy/qualcomm/Kconfig
index 98674ed094d9..2117ea22778c 100644
--- a/drivers/phy/qualcomm/Kconfig
+++ b/drivers/phy/qualcomm/Kconfig
@@ -44,7 +44,7 @@ config PHY_QCOM_QMP
config PHY_QCOM_QUSB2
tristate "Qualcomm QUSB2 PHY Driver"
depends on OF && (ARCH_QCOM || COMPILE_TEST)
- depends on NVMEM || !NVMEM
+ uses NVMEM
select GENERIC_PHY
help
Enable this to support the HighSpeed QUSB2 PHY transceiver for USB
@@ -79,7 +79,7 @@ endif
config PHY_QCOM_USB_HS
tristate "Qualcomm USB HS PHY module"
depends on USB_ULPI_BUS
- depends on EXTCON || !EXTCON # if EXTCON=m, this cannot be built-in
+ uses EXTCON # if EXTCON=m, this cannot be built-in
select GENERIC_PHY
help
Support for the USB high-speed ULPI compliant phy on Qualcomm
@@ -95,7 +95,7 @@ config PHY_QCOM_USB_HSIC
config PHY_QCOM_USB_HS_28NM
tristate "Qualcomm 28nm High-Speed PHY"
depends on ARCH_QCOM || COMPILE_TEST
- depends on EXTCON || !EXTCON # if EXTCON=m, this cannot be built-in
+ uses EXTCON # if EXTCON=m, this cannot be built-in
select GENERIC_PHY
help
Enable this to support the Qualcomm Synopsys DesignWare Core 28nm
@@ -106,7 +106,7 @@ config PHY_QCOM_USB_HS_28NM
config PHY_QCOM_USB_SS
tristate "Qualcomm USB Super-Speed PHY driver"
depends on ARCH_QCOM || COMPILE_TEST
- depends on EXTCON || !EXTCON # if EXTCON=m, this cannot be built-in
+ uses EXTCON # if EXTCON=m, this cannot be built-in
select GENERIC_PHY
help
Enable this to support the Super-Speed USB transceiver on various
diff --git a/drivers/phy/renesas/Kconfig b/drivers/phy/renesas/Kconfig
index 111bdcae775c..6d0bb0abf441 100644
--- a/drivers/phy/renesas/Kconfig
+++ b/drivers/phy/renesas/Kconfig
@@ -19,7 +19,7 @@ config PHY_RCAR_GEN3_PCIE
config PHY_RCAR_GEN3_USB2
tristate "Renesas R-Car generation 3 USB 2.0 PHY driver"
depends on ARCH_RENESAS
- depends on EXTCON || !EXTCON # if EXTCON=m, this cannot be built-in
+ uses EXTCON # if EXTCON=m, this cannot be built-in
depends on USB_SUPPORT
select GENERIC_PHY
select USB_COMMON
diff --git a/drivers/phy/ti/Kconfig b/drivers/phy/ti/Kconfig
index 15a3bcf32308..18a8dfa07a29 100644
--- a/drivers/phy/ti/Kconfig
+++ b/drivers/phy/ti/Kconfig
@@ -95,7 +95,7 @@ config TWL4030_USB
tristate "TWL4030 USB Transceiver Driver"
depends on TWL4030_CORE && REGULATOR_TWL4030 && USB_MUSB_OMAP2PLUS
depends on USB_SUPPORT
- depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't 'y'
+ uses USB_GADGET # if USB_GADGET=m, this can't 'y'
select GENERIC_PHY
select USB_PHY
help
diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig
index 834c59950d1c..9e9479b427b1 100644
--- a/drivers/pinctrl/Kconfig
+++ b/drivers/pinctrl/Kconfig
@@ -175,7 +175,7 @@ config PINCTRL_GEMINI
config PINCTRL_MCP23S08
tristate "Microchip MCP23xxx I/O expander"
depends on SPI_MASTER || I2C
- depends on I2C || I2C=n
+ uses I2C
select GPIOLIB
select GPIOLIB_IRQCHIP
select REGMAP_I2C if I2C
diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
index 0ad7ad8cf8e1..dd10a0a06ac4 100644
--- a/drivers/platform/x86/Kconfig
+++ b/drivers/platform/x86/Kconfig
@@ -157,7 +157,7 @@ config ACER_WMI
depends on BACKLIGHT_CLASS_DEVICE
depends on SERIO_I8042
depends on INPUT
- depends on RFKILL || RFKILL = n
+ uses RFKILL
depends on ACPI_WMI
select INPUT_SPARSEKMAP
# Acer WMI depends on ACPI_VIDEO when ACPI is enabled
@@ -190,8 +190,8 @@ config ASUS_LAPTOP
select NEW_LEDS
depends on BACKLIGHT_CLASS_DEVICE
depends on INPUT
- depends on RFKILL || RFKILL = n
- depends on ACPI_VIDEO || ACPI_VIDEO = n
+ uses RFKILL
+ uses ACPI_VIDEO
select INPUT_SPARSEKMAP
---help---
This is a driver for Asus laptops, Lenovo SL and the Pegatron
@@ -230,9 +230,9 @@ config ASUS_WMI
depends on INPUT
depends on HWMON
depends on BACKLIGHT_CLASS_DEVICE
- depends on RFKILL || RFKILL = n
+ uses RFKILL
depends on HOTPLUG_PCI
- depends on ACPI_VIDEO || ACPI_VIDEO = n
+ uses ACPI_VIDEO
select INPUT_SPARSEKMAP
select LEDS_CLASS
select NEW_LEDS
@@ -246,7 +246,7 @@ config ASUS_WMI
config ASUS_NB_WMI
tristate "Asus Notebook WMI Driver"
depends on ASUS_WMI
- depends on SERIO_I8042 || SERIO_I8042 = n
+ uses SERIO_I8042
---help---
This is a driver for newer Asus notebooks. It adds extra features
like wireless radio and bluetooth control, leds, hotkeys, backlight...
@@ -261,8 +261,8 @@ config EEEPC_LAPTOP
tristate "Eee PC Hotkey Driver"
depends on ACPI
depends on INPUT
- depends on RFKILL || RFKILL = n
- depends on ACPI_VIDEO || ACPI_VIDEO = n
+ uses RFKILL
+ uses ACPI_VIDEO
depends on HOTPLUG_PCI
depends on BACKLIGHT_CLASS_DEVICE
select HWMON
@@ -315,8 +315,8 @@ config DCDBAS
#
config DELL_SMBIOS
tristate "Dell SMBIOS driver"
- depends on DCDBAS || DCDBAS=n
- depends on ACPI_WMI || ACPI_WMI=n
+ uses DCDBAS
+ uses ACPI_WMI
---help---
This provides support for the Dell SMBIOS calling interface.
If you have a Dell computer you should enable this option.
@@ -354,8 +354,8 @@ config DELL_LAPTOP
tristate "Dell Laptop Extras"
depends on DMI
depends on BACKLIGHT_CLASS_DEVICE
- depends on ACPI_VIDEO || ACPI_VIDEO = n
- depends on RFKILL || RFKILL = n
+ uses ACPI_VIDEO
+ uses RFKILL
depends on SERIO_I8042
depends on DELL_SMBIOS
select POWER_SUPPLY
@@ -410,7 +410,7 @@ config DELL_WMI
depends on ACPI_WMI
depends on DMI
depends on INPUT
- depends on ACPI_VIDEO || ACPI_VIDEO = n
+ uses ACPI_VIDEO
depends on DELL_SMBIOS
select DELL_WMI_DESCRIPTOR
select INPUT_SPARSEKMAP
@@ -457,7 +457,7 @@ config FUJITSU_LAPTOP
depends on ACPI
depends on INPUT
depends on BACKLIGHT_CLASS_DEVICE
- depends on ACPI_VIDEO || ACPI_VIDEO = n
+ uses ACPI_VIDEO
select INPUT_SPARSEKMAP
select LEDS_CLASS
---help---
@@ -534,7 +534,7 @@ config HP_WMI
tristate "HP WMI extras"
depends on ACPI_WMI
depends on INPUT
- depends on RFKILL || RFKILL = n
+ uses RFKILL
select INPUT_SPARSEKMAP
help
Say Y here if you want to support WMI-based hotkeys on HP laptops and
@@ -574,8 +574,8 @@ config IDEAPAD_LAPTOP
depends on RFKILL && INPUT
depends on SERIO_I8042
depends on BACKLIGHT_CLASS_DEVICE
- depends on ACPI_VIDEO || ACPI_VIDEO = n
- depends on ACPI_WMI || ACPI_WMI = n
+ uses ACPI_VIDEO
+ uses ACPI_WMI
select INPUT_SPARSEKMAP
help
This is a driver for Lenovo IdeaPad netbooks contains drivers for
@@ -604,8 +604,8 @@ config THINKPAD_ACPI
depends on ACPI
depends on ACPI_BATTERY
depends on INPUT
- depends on RFKILL || RFKILL = n
- depends on ACPI_VIDEO || ACPI_VIDEO = n
+ uses RFKILL
+ uses ACPI_VIDEO
depends on BACKLIGHT_CLASS_DEVICE
select HWMON
select NVRAM
@@ -818,7 +818,7 @@ config INTEL_MENLOW
config INTEL_OAKTRAIL
tristate "Intel Oaktrail Platform Extras"
depends on ACPI
- depends on ACPI_VIDEO || ACPI_VIDEO = n
+ uses ACPI_VIDEO
depends on RFKILL && BACKLIGHT_CLASS_DEVICE && ACPI
---help---
Intel Oaktrail platform need this driver to provide interfaces to
@@ -872,7 +872,7 @@ config MSI_LAPTOP
tristate "MSI Laptop Extras"
depends on ACPI
depends on BACKLIGHT_CLASS_DEVICE
- depends on ACPI_VIDEO || ACPI_VIDEO = n
+ uses ACPI_VIDEO
depends on RFKILL
depends on INPUT && SERIO_I8042
select INPUT_SPARSEKMAP
@@ -895,7 +895,7 @@ config MSI_WMI
depends on ACPI_WMI
depends on INPUT
depends on BACKLIGHT_CLASS_DEVICE
- depends on ACPI_VIDEO || ACPI_VIDEO = n
+ uses ACPI_VIDEO
select INPUT_SPARSEKMAP
help
Say Y here if you want to support WMI-based hotkeys on MSI laptops.
@@ -937,8 +937,8 @@ config PCENGINES_APU2

config SAMSUNG_LAPTOP
tristate "Samsung Laptop driver"
- depends on RFKILL || RFKILL = n
- depends on ACPI_VIDEO || ACPI_VIDEO = n
+ uses RFKILL
+ uses ACPI_VIDEO
depends on BACKLIGHT_CLASS_DEVICE
select LEDS_CLASS
select NEW_LEDS
@@ -969,9 +969,9 @@ config ACPI_TOSHIBA
select NEW_LEDS
depends on BACKLIGHT_CLASS_DEVICE
depends on INPUT
- depends on SERIO_I8042 || SERIO_I8042 = n
- depends on ACPI_VIDEO || ACPI_VIDEO = n
- depends on RFKILL || RFKILL = n
+ uses SERIO_I8042
+ uses ACPI_VIDEO
+ uses RFKILL
depends on IIO
select INPUT_SPARSEKMAP
---help---
@@ -1000,7 +1000,7 @@ config ACPI_TOSHIBA
config TOSHIBA_BT_RFKILL
tristate "Toshiba Bluetooth RFKill switch support"
depends on ACPI
- depends on RFKILL || RFKILL = n
+ uses RFKILL
---help---
This driver adds support for Bluetooth events for the RFKill
switch on modern Toshiba laptops with full ACPI support and
@@ -1052,7 +1052,7 @@ config TOSHIBA_WMI
config ACPI_CMPC
tristate "CMPC Laptop Extras"
depends on ACPI && INPUT
- depends on RFKILL || RFKILL=n
+ uses RFKILL
select BACKLIGHT_CLASS_DEVICE
help
Support for Intel Classmate PC ACPI devices, including some
@@ -1063,7 +1063,7 @@ config COMPAL_LAPTOP
tristate "Compal (and others) Laptop Extras"
depends on ACPI
depends on BACKLIGHT_CLASS_DEVICE
- depends on ACPI_VIDEO || ACPI_VIDEO = n
+ uses ACPI_VIDEO
depends on RFKILL
depends on HWMON
depends on POWER_SUPPLY
@@ -1103,7 +1103,7 @@ config PANASONIC_LAPTOP
config SONY_LAPTOP
tristate "Sony Laptop Extras"
depends on ACPI
- depends on ACPI_VIDEO || ACPI_VIDEO = n
+ uses ACPI_VIDEO
depends on BACKLIGHT_CLASS_DEVICE
depends on INPUT
depends on RFKILL
diff --git a/drivers/power/supply/Kconfig b/drivers/power/supply/Kconfig
index f3424fdce341..9ad2218b2c59 100644
--- a/drivers/power/supply/Kconfig
+++ b/drivers/power/supply/Kconfig
@@ -436,7 +436,7 @@ config CHARGER_CPCAP
config CHARGER_ISP1704
tristate "ISP1704 USB Charger Detection"
depends on USB_PHY
- depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
+ uses USB_GADGET # if USB_GADGET=m, this can't be 'y'
help
Say Y to enable support for USB Charger Detection with
ISP1707/ISP1704 USB transceivers.
diff --git a/drivers/remoteproc/Kconfig b/drivers/remoteproc/Kconfig
index fbaed079b299..b9c1c92db1bc 100644
--- a/drivers/remoteproc/Kconfig
+++ b/drivers/remoteproc/Kconfig
@@ -120,8 +120,8 @@ config QCOM_Q6V5_ADSP
depends on OF && ARCH_QCOM
depends on QCOM_SMEM
depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
- depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
- depends on QCOM_SYSMON || QCOM_SYSMON=n
+ uses RPMSG_QCOM_GLINK_SMEM
+ uses QCOM_SYSMON
select MFD_SYSCON
select QCOM_MDT_LOADER
select QCOM_Q6V5_COMMON
@@ -135,8 +135,8 @@ config QCOM_Q6V5_MSS
depends on OF && ARCH_QCOM
depends on QCOM_SMEM
depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
- depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
- depends on QCOM_SYSMON || QCOM_SYSMON=n
+ uses RPMSG_QCOM_GLINK_SMEM
+ uses QCOM_SYSMON
select MFD_SYSCON
select QCOM_MDT_LOADER
select QCOM_Q6V5_COMMON
@@ -152,8 +152,8 @@ config QCOM_Q6V5_PAS
depends on OF && ARCH_QCOM
depends on QCOM_SMEM
depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
- depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
- depends on QCOM_SYSMON || QCOM_SYSMON=n
+ uses RPMSG_QCOM_GLINK_SMEM
+ uses QCOM_SYSMON
select MFD_SYSCON
select QCOM_MDT_LOADER
select QCOM_Q6V5_COMMON
@@ -169,8 +169,8 @@ config QCOM_Q6V5_WCSS
depends on OF && ARCH_QCOM
depends on QCOM_SMEM
depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
- depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
- depends on QCOM_SYSMON || QCOM_SYSMON=n
+ uses RPMSG_QCOM_GLINK_SMEM
+ uses QCOM_SYSMON
select MFD_SYSCON
select QCOM_MDT_LOADER
select QCOM_Q6V5_COMMON
@@ -202,9 +202,9 @@ config QCOM_WCNSS_PIL
tristate "Qualcomm WCNSS Peripheral Image Loader"
depends on OF && ARCH_QCOM
depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
- depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
+ uses RPMSG_QCOM_GLINK_SMEM
depends on QCOM_SMEM
- depends on QCOM_SYSMON || QCOM_SYSMON=n
+ uses QCOM_SYSMON
select QCOM_MDT_LOADER
select QCOM_RPROC_COMMON
select QCOM_SCM
diff --git a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig
index 17feff174f57..86cf1b5aaf0f 100644
--- a/drivers/scsi/Kconfig
+++ b/drivers/scsi/Kconfig
@@ -1155,8 +1155,8 @@ config SCSI_LPFC
tristate "Emulex LightPulse Fibre Channel Support"
depends on PCI && SCSI
depends on SCSI_FC_ATTRS
- depends on NVME_TARGET_FC || NVME_TARGET_FC=n
- depends on NVME_FC || NVME_FC=n
+ uses NVME_TARGET_FC
+ uses NVME_FC
select CRC_T10DIF
---help---
This lpfc driver supports the Emulex LightPulse
diff --git a/drivers/scsi/cxgbi/cxgb4i/Kconfig b/drivers/scsi/cxgbi/cxgb4i/Kconfig
index d1f1baba3285..69daae0fff1f 100644
--- a/drivers/scsi/cxgbi/cxgb4i/Kconfig
+++ b/drivers/scsi/cxgbi/cxgb4i/Kconfig
@@ -2,7 +2,7 @@
config SCSI_CXGB4_ISCSI
tristate "Chelsio T4 iSCSI support"
depends on PCI && INET && (IPV6 || IPV6=n)
- depends on THERMAL || !THERMAL
+ uses THERMAL
depends on ETHERNET
select NET_VENDOR_CHELSIO
select CHELSIO_T4
diff --git a/drivers/scsi/qla2xxx/Kconfig b/drivers/scsi/qla2xxx/Kconfig
index 764501838e21..909d4213d947 100644
--- a/drivers/scsi/qla2xxx/Kconfig
+++ b/drivers/scsi/qla2xxx/Kconfig
@@ -3,7 +3,7 @@ config SCSI_QLA_FC
tristate "QLogic QLA2XXX Fibre Channel Support"
depends on PCI && SCSI
depends on SCSI_FC_ATTRS
- depends on NVME_FC || !NVME_FC
+ uses NVME_FC
select FW_LOADER
select BTREE
---help---
diff --git a/drivers/staging/wfx/Kconfig b/drivers/staging/wfx/Kconfig
index 83ee4d0ca8c6..cc2dadfbf0b7 100644
--- a/drivers/staging/wfx/Kconfig
+++ b/drivers/staging/wfx/Kconfig
@@ -1,7 +1,7 @@
config WFX
tristate "Silicon Labs wireless chips WF200 and further"
depends on MAC80211
- depends on MMC || !MMC # do not allow WFX=y if MMC=m
+ uses MMC # do not allow WFX=y if MMC=m
depends on (SPI || MMC)
help
This is a driver for Silicons Labs WFxxx series (WF200 and further)
diff --git a/drivers/thermal/Kconfig b/drivers/thermal/Kconfig
index 91af271e9bb0..c53ec95afdef 100644
--- a/drivers/thermal/Kconfig
+++ b/drivers/thermal/Kconfig
@@ -243,7 +243,7 @@ config HISI_THERMAL
config IMX_THERMAL
tristate "Temperature sensor driver for Freescale i.MX SoCs"
depends on ARCH_MXC || COMPILE_TEST
- depends on NVMEM || !NVMEM
+ uses NVMEM
depends on MFD_SYSCON
depends on OF
help
@@ -396,7 +396,7 @@ config MTK_THERMAL
tristate "Temperature sensor driver for mediatek SoCs"
depends on ARCH_MEDIATEK || COMPILE_TEST
depends on HAS_IOMEM
- depends on NVMEM || NVMEM=n
+ uses NVMEM
depends on RESET_CONTROLLER
default y
help
diff --git a/drivers/usb/dwc2/Kconfig b/drivers/usb/dwc2/Kconfig
index 16e1aa304edc..717794bf28ad 100644
--- a/drivers/usb/dwc2/Kconfig
+++ b/drivers/usb/dwc2/Kconfig
@@ -57,7 +57,7 @@ endchoice
config USB_DWC2_PCI
tristate "DWC2 PCI"
depends on USB_PCI
- depends on USB_GADGET || !USB_GADGET
+ uses USB_GADGET
select NOP_USB_XCEIV
help
The Designware USB2.0 PCI interface module for controllers
diff --git a/drivers/usb/dwc3/Kconfig b/drivers/usb/dwc3/Kconfig
index 206caa0ea1c6..41b7bfc56bbf 100644
--- a/drivers/usb/dwc3/Kconfig
+++ b/drivers/usb/dwc3/Kconfig
@@ -55,7 +55,7 @@ comment "Platform Glue Driver Support"
config USB_DWC3_OMAP
tristate "Texas Instruments OMAP5 and similar Platforms"
depends on ARCH_OMAP2PLUS || COMPILE_TEST
- depends on EXTCON || !EXTCON
+ uses EXTCON
depends on OF
default USB_DWC3
help
@@ -128,7 +128,7 @@ config USB_DWC3_ST
config USB_DWC3_QCOM
tristate "Qualcomm Platform"
depends on ARCH_QCOM || COMPILE_TEST
- depends on EXTCON || !EXTCON
+ uses EXTCON
depends on (OF || ACPI)
default USB_DWC3
help
diff --git a/drivers/usb/gadget/udc/Kconfig b/drivers/usb/gadget/udc/Kconfig
index 3a7179e90f4e..4ab9c120ac0c 100644
--- a/drivers/usb/gadget/udc/Kconfig
+++ b/drivers/usb/gadget/udc/Kconfig
@@ -276,7 +276,7 @@ config USB_SNP_CORE
config USB_SNP_UDC_PLAT
tristate "Synopsys USB 2.0 Device controller"
depends on USB_GADGET && OF && HAS_DMA
- depends on EXTCON || EXTCON=n
+ uses EXTCON
select USB_SNP_CORE
default ARCH_BCM_IPROC
help
diff --git a/drivers/usb/mtu3/Kconfig b/drivers/usb/mtu3/Kconfig
index bf98fd36341d..ca299de89485 100644
--- a/drivers/usb/mtu3/Kconfig
+++ b/drivers/usb/mtu3/Kconfig
@@ -6,7 +6,7 @@ config USB_MTU3
tristate "MediaTek USB3 Dual Role controller"
depends on USB || USB_GADGET
depends on ARCH_MEDIATEK || COMPILE_TEST
- depends on EXTCON || !EXTCON
+ uses EXTCON
select USB_XHCI_MTK if USB_SUPPORT && USB_XHCI_HCD
help
Say Y or M here if your system runs on MediaTek SoCs with
diff --git a/drivers/usb/musb/Kconfig b/drivers/usb/musb/Kconfig
index 3b0d1c20ebe6..6e90462f258c 100644
--- a/drivers/usb/musb/Kconfig
+++ b/drivers/usb/musb/Kconfig
@@ -91,7 +91,7 @@ config USB_MUSB_TUSB6010
config USB_MUSB_OMAP2PLUS
tristate "OMAP2430 and onwards"
depends on ARCH_OMAP2PLUS && USB
- depends on OMAP_CONTROL_PHY || !OMAP_CONTROL_PHY
+ uses OMAP_CONTROL_PHY
select GENERIC_PHY

config USB_MUSB_AM35X
diff --git a/drivers/usb/phy/Kconfig b/drivers/usb/phy/Kconfig
index 4b3fa78995cf..4270bce85eda 100644
--- a/drivers/usb/phy/Kconfig
+++ b/drivers/usb/phy/Kconfig
@@ -23,7 +23,7 @@ config AB8500_USB
config FSL_USB2_OTG
tristate "Freescale USB OTG Transceiver Driver"
depends on USB_EHCI_FSL && USB_FSL_USB2 && USB_OTG_FSM=y && PM
- depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
+ uses USB_GADGET # if USB_GADGET=m, this can't be 'y'
select USB_PHY
help
Enable this to support Freescale USB OTG transceiver.
@@ -32,7 +32,7 @@ config ISP1301_OMAP
tristate "Philips ISP1301 with OMAP OTG"
depends on I2C && ARCH_OMAP_OTG
depends on USB
- depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
+ uses USB_GADGET # if USB_GADGET=m, this can't be 'y'
select USB_PHY
help
If you say yes here you get support for the Philips ISP1301
@@ -55,7 +55,7 @@ config KEYSTONE_USB_PHY

config NOP_USB_XCEIV
tristate "NOP USB Transceiver Driver"
- depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, NOP can't be built-in
+ uses USB_GADGET # if USB_GADGET=m, NOP can't be built-in
select USB_PHY
help
This driver is to be used by all the usb transceiver which are either
@@ -91,7 +91,7 @@ config TWL6030_USB
config USB_GPIO_VBUS
tristate "GPIO based peripheral-only VBUS sensing 'transceiver'"
depends on GPIOLIB || COMPILE_TEST
- depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
+ uses USB_GADGET # if USB_GADGET=m, this can't be 'y'
select USB_PHY
help
Provides simple GPIO VBUS sensing for controllers with an
@@ -112,7 +112,7 @@ config OMAP_OTG
config TAHVO_USB
tristate "Tahvo USB transceiver driver"
depends on MFD_RETU
- depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
+ uses USB_GADGET # if USB_GADGET=m, this can't be 'y'
select USB_PHY
help
Enable this to support USB transceiver on Tahvo. This is used
@@ -141,7 +141,7 @@ config USB_ISP1301
config USB_MV_OTG
tristate "Marvell USB OTG support"
depends on USB_EHCI_MV && USB_MV_UDC && PM && USB_OTG
- depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
+ uses USB_GADGET # if USB_GADGET=m, this can't be 'y'
select USB_PHY
help
Say Y here if you want to build Marvell USB OTG transciever
diff --git a/drivers/usb/renesas_usbhs/Kconfig b/drivers/usb/renesas_usbhs/Kconfig
index d6b3fef3e55b..d9313450c81b 100644
--- a/drivers/usb/renesas_usbhs/Kconfig
+++ b/drivers/usb/renesas_usbhs/Kconfig
@@ -7,7 +7,7 @@ config USB_RENESAS_USBHS
tristate 'Renesas USBHS controller'
depends on USB_GADGET
depends on ARCH_RENESAS || SUPERH || COMPILE_TEST
- depends on EXTCON || !EXTCON # if EXTCON=m, USBHS cannot be built-in
+ uses EXTCON # if EXTCON=m, USBHS cannot be built-in
help
Renesas USBHS is a discrete USB host and peripheral controller chip
that supports both full and high speed USB 2.0 data transfers.
diff --git a/drivers/usb/typec/tcpm/Kconfig b/drivers/usb/typec/tcpm/Kconfig
index 5b986d6c801d..9b50593559c5 100644
--- a/drivers/usb/typec/tcpm/Kconfig
+++ b/drivers/usb/typec/tcpm/Kconfig
@@ -32,7 +32,7 @@ endif # TYPEC_TCPCI
config TYPEC_FUSB302
tristate "Fairchild FUSB302 Type-C chip driver"
depends on I2C
- depends on EXTCON || !EXTCON
+ uses EXTCON
help
The Fairchild FUSB302 Type-C chip driver that works with
Type-C Port Controller Manager to provide USB PD and USB
diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
index 0663c604bd64..3f5e354515fb 100644
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig
@@ -319,7 +319,7 @@ config ZIIRAVE_WATCHDOG
config RAVE_SP_WATCHDOG
tristate "RAVE SP Watchdog timer"
depends on RAVE_SP_CORE
- depends on NVMEM || !NVMEM
+ uses NVMEM
select WATCHDOG_CORE
help
Support for the watchdog on RAVE SP device.
@@ -1216,7 +1216,7 @@ config ITCO_WDT
tristate "Intel TCO Timer/Watchdog"
depends on (X86 || IA64) && PCI
select WATCHDOG_CORE
- depends on I2C || I2C=n
+ uses I2C
select LPC_ICH if !EXPERT
select I2C_I801 if !EXPERT && I2C
---help---
diff --git a/lib/crypto/Kconfig b/lib/crypto/Kconfig
index 14c032de276e..b88ef7adeb02 100644
--- a/lib/crypto/Kconfig
+++ b/lib/crypto/Kconfig
@@ -26,7 +26,7 @@ config CRYPTO_LIB_BLAKE2S_GENERIC

config CRYPTO_LIB_BLAKE2S
tristate "BLAKE2s hash function library"
- depends on CRYPTO_ARCH_HAVE_LIB_BLAKE2S || !CRYPTO_ARCH_HAVE_LIB_BLAKE2S
+ uses CRYPTO_ARCH_HAVE_LIB_BLAKE2S
select CRYPTO_LIB_BLAKE2S_GENERIC if CRYPTO_ARCH_HAVE_LIB_BLAKE2S=n
help
Enable the Blake2s library interface. This interface may be fulfilled
@@ -52,7 +52,7 @@ config CRYPTO_LIB_CHACHA_GENERIC

config CRYPTO_LIB_CHACHA
tristate "ChaCha library interface"
- depends on CRYPTO_ARCH_HAVE_LIB_CHACHA || !CRYPTO_ARCH_HAVE_LIB_CHACHA
+ uses CRYPTO_ARCH_HAVE_LIB_CHACHA
select CRYPTO_LIB_CHACHA_GENERIC if CRYPTO_ARCH_HAVE_LIB_CHACHA=n
help
Enable the ChaCha library interface. This interface may be fulfilled
@@ -77,7 +77,7 @@ config CRYPTO_LIB_CURVE25519_GENERIC

config CRYPTO_LIB_CURVE25519
tristate "Curve25519 scalar multiplication library"
- depends on CRYPTO_ARCH_HAVE_LIB_CURVE25519 || !CRYPTO_ARCH_HAVE_LIB_CURVE25519
+ uses CRYPTO_ARCH_HAVE_LIB_CURVE25519
select CRYPTO_LIB_CURVE25519_GENERIC if CRYPTO_ARCH_HAVE_LIB_CURVE25519=n
help
Enable the Curve25519 library interface. This interface may be
@@ -112,7 +112,7 @@ config CRYPTO_LIB_POLY1305_GENERIC

config CRYPTO_LIB_POLY1305
tristate "Poly1305 library interface"
- depends on CRYPTO_ARCH_HAVE_LIB_POLY1305 || !CRYPTO_ARCH_HAVE_LIB_POLY1305
+ uses CRYPTO_ARCH_HAVE_LIB_POLY1305
select CRYPTO_LIB_POLY1305_GENERIC if CRYPTO_ARCH_HAVE_LIB_POLY1305=n
help
Enable the Poly1305 library interface. This interface may be fulfilled
@@ -121,8 +121,8 @@ config CRYPTO_LIB_POLY1305

config CRYPTO_LIB_CHACHA20POLY1305
tristate "ChaCha20-Poly1305 AEAD support (8-byte nonce library version)"
- depends on CRYPTO_ARCH_HAVE_LIB_CHACHA || !CRYPTO_ARCH_HAVE_LIB_CHACHA
- depends on CRYPTO_ARCH_HAVE_LIB_POLY1305 || !CRYPTO_ARCH_HAVE_LIB_POLY1305
+ uses CRYPTO_ARCH_HAVE_LIB_CHACHA
+ uses CRYPTO_ARCH_HAVE_LIB_POLY1305
select CRYPTO_LIB_CHACHA
select CRYPTO_LIB_POLY1305

diff --git a/net/bluetooth/Kconfig b/net/bluetooth/Kconfig
index 165148c7c4ce..3ee130c770ce 100644
--- a/net/bluetooth/Kconfig
+++ b/net/bluetooth/Kconfig
@@ -6,7 +6,7 @@
menuconfig BT
tristate "Bluetooth subsystem support"
depends on NET && !S390
- depends on RFKILL || !RFKILL
+ uses RFKILL
select CRC16
select CRYPTO
select CRYPTO_SKCIPHER
diff --git a/net/bridge/Kconfig b/net/bridge/Kconfig
index e4fb050e2078..0a4fb1076cb3 100644
--- a/net/bridge/Kconfig
+++ b/net/bridge/Kconfig
@@ -7,7 +7,7 @@ config BRIDGE
tristate "802.1d Ethernet Bridging"
select LLC
select STP
- depends on IPV6 || IPV6=n
+ uses IPV6
---help---
If you say Y here, then your Linux box will be able to act as an
Ethernet bridge, which means that the different Ethernet segments it
diff --git a/net/dsa/Kconfig b/net/dsa/Kconfig
index 92663dcb3aa2..2ca052a59a52 100644
--- a/net/dsa/Kconfig
+++ b/net/dsa/Kconfig
@@ -8,7 +8,7 @@ config HAVE_NET_DSA
menuconfig NET_DSA
tristate "Distributed Switch Architecture"
depends on HAVE_NET_DSA
- depends on BRIDGE || BRIDGE=n
+ uses BRIDGE
select NET_SWITCHDEV
select PHYLINK
select NET_DEVLINK
diff --git a/net/ipv4/Kconfig b/net/ipv4/Kconfig
index 25a8888826b8..d173c882ddf1 100644
--- a/net/ipv4/Kconfig
+++ b/net/ipv4/Kconfig
@@ -303,7 +303,7 @@ config SYN_COOKIES

config NET_IPVTI
tristate "Virtual (secure) IP: tunneling"
- depends on IPV6 || IPV6=n
+ uses IPV6
select INET_TUNNEL
select NET_IP_TUNNEL
select XFRM
diff --git a/net/mpls/Kconfig b/net/mpls/Kconfig
index d1ad69b7942a..1b6ede06a594 100644
--- a/net/mpls/Kconfig
+++ b/net/mpls/Kconfig
@@ -25,7 +25,7 @@ config NET_MPLS_GSO

config MPLS_ROUTING
tristate "MPLS: routing support"
- depends on NET_IP_TUNNEL || NET_IP_TUNNEL=n
+ uses NET_IP_TUNNEL
depends on PROC_SYSCTL
---help---
Add support for forwarding of mpls packets.
diff --git a/net/netfilter/Kconfig b/net/netfilter/Kconfig
index 468fea1aebba..38433805e499 100644
--- a/net/netfilter/Kconfig
+++ b/net/netfilter/Kconfig
@@ -228,7 +228,7 @@ config NF_CONNTRACK_FTP

config NF_CONNTRACK_H323
tristate "H.323 protocol support"
- depends on IPV6 || IPV6=n
+ uses IPV6
depends on NETFILTER_ADVANCED
help
H.323 is a VoIP signalling protocol from ITU-T. As one of the most
@@ -617,7 +617,7 @@ config NFT_XFRM

config NFT_SOCKET
tristate "Netfilter nf_tables socket match support"
- depends on IPV6 || IPV6=n
+ uses IPV6
select NF_SOCKET_IPV4
select NF_SOCKET_IPV6 if NF_TABLES_IPV6
help
@@ -633,7 +633,7 @@ config NFT_OSF

config NFT_TPROXY
tristate "Netfilter nf_tables tproxy support"
- depends on IPV6 || IPV6=n
+ uses IPV6
select NF_DEFRAG_IPV4
select NF_DEFRAG_IPV6 if NF_TABLES_IPV6
select NF_TPROXY_IPV4
@@ -861,7 +861,7 @@ config NETFILTER_XT_TARGET_HL

config NETFILTER_XT_TARGET_HMARK
tristate '"HMARK" target support'
- depends on IP6_NF_IPTABLES || IP6_NF_IPTABLES=n
+ uses IP6_NF_IPTABLES
depends on NETFILTER_ADVANCED
---help---
This option adds the "HMARK" target.
@@ -1016,9 +1016,9 @@ config NETFILTER_XT_TARGET_MASQUERADE
config NETFILTER_XT_TARGET_TEE
tristate '"TEE" - packet cloning to alternate destination'
depends on NETFILTER_ADVANCED
- depends on IPV6 || IPV6=n
+ uses IPV6
depends on !NF_CONNTRACK || NF_CONNTRACK
- depends on IP6_NF_IPTABLES || !IP6_NF_IPTABLES
+ uses IP6_NF_IPTABLES
select NF_DUP_IPV4
select NF_DUP_IPV6 if IP6_NF_IPTABLES
---help---
@@ -1029,8 +1029,8 @@ config NETFILTER_XT_TARGET_TPROXY
tristate '"TPROXY" target transparent proxying support'
depends on NETFILTER_XTABLES
depends on NETFILTER_ADVANCED
- depends on IPV6 || IPV6=n
- depends on IP6_NF_IPTABLES || IP6_NF_IPTABLES=n
+ uses IPV6
+ uses IP6_NF_IPTABLES
depends on IP_NF_MANGLE
select NF_DEFRAG_IPV4
select NF_DEFRAG_IPV6 if IP6_NF_IPTABLES != n
@@ -1071,7 +1071,7 @@ config NETFILTER_XT_TARGET_SECMARK

config NETFILTER_XT_TARGET_TCPMSS
tristate '"TCPMSS" target support'
- depends on IPV6 || IPV6=n
+ uses IPV6
default m if NETFILTER_ADVANCED=n
---help---
This option adds a `TCPMSS' target, which allows you to alter the
@@ -1284,7 +1284,7 @@ config NETFILTER_XT_MATCH_ESP

config NETFILTER_XT_MATCH_HASHLIMIT
tristate '"hashlimit" match support'
- depends on IP6_NF_IPTABLES || IP6_NF_IPTABLES=n
+ uses IP6_NF_IPTABLES
depends on NETFILTER_ADVANCED
help
This option adds a `hashlimit' match.
@@ -1526,8 +1526,8 @@ config NETFILTER_XT_MATCH_SOCKET
tristate '"socket" match support'
depends on NETFILTER_XTABLES
depends on NETFILTER_ADVANCED
- depends on IPV6 || IPV6=n
- depends on IP6_NF_IPTABLES || IP6_NF_IPTABLES=n
+ uses IPV6
+ uses IP6_NF_IPTABLES
select NF_SOCKET_IPV4
select NF_SOCKET_IPV6 if IP6_NF_IPTABLES
select NF_DEFRAG_IPV4
diff --git a/net/nfc/Kconfig b/net/nfc/Kconfig
index 9b27599870e3..751c2011da4a 100644
--- a/net/nfc/Kconfig
+++ b/net/nfc/Kconfig
@@ -5,7 +5,7 @@

menuconfig NFC
depends on NET
- depends on RFKILL || !RFKILL
+ uses RFKILL
tristate "NFC subsystem support"
default n
help
diff --git a/net/rds/Kconfig b/net/rds/Kconfig
index c64e154bc18f..ff5fc0380b3d 100644
--- a/net/rds/Kconfig
+++ b/net/rds/Kconfig
@@ -17,7 +17,7 @@ config RDS_RDMA
config RDS_TCP
tristate "RDS over TCP"
depends on RDS
- depends on IPV6 || !IPV6
+ uses IPV6
---help---
Allow RDS to use TCP as a transport.
This transport does not support RDMA operations.
diff --git a/net/sctp/Kconfig b/net/sctp/Kconfig
index 6e2eb1dd64ed..9843ec78f9d6 100644
--- a/net/sctp/Kconfig
+++ b/net/sctp/Kconfig
@@ -6,7 +6,7 @@
menuconfig IP_SCTP
tristate "The SCTP Protocol"
depends on INET
- depends on IPV6 || IPV6=n
+ uses IPV6
select CRYPTO
select CRYPTO_HMAC
select CRYPTO_SHA1
diff --git a/net/wimax/Kconfig b/net/wimax/Kconfig
index d13762bc4abc..8c79eed1ba67 100644
--- a/net/wimax/Kconfig
+++ b/net/wimax/Kconfig
@@ -5,7 +5,7 @@

menuconfig WIMAX
tristate "WiMAX Wireless Broadband support"
- depends on RFKILL || !RFKILL
+ uses RFKILL
help

Select to configure support for devices that provide
diff --git a/net/wireless/Kconfig b/net/wireless/Kconfig
index 63cf7131f601..e07801f56010 100644
--- a/net/wireless/Kconfig
+++ b/net/wireless/Kconfig
@@ -19,7 +19,7 @@ config WEXT_PRIV

config CFG80211
tristate "cfg80211 - wireless configuration API"
- depends on RFKILL || !RFKILL
+ uses RFKILL
select FW_LOADER
# may need to update this when certificates are changed and are
# using a different algorithm, though right now they shouldn't
diff --git a/sound/soc/fsl/Kconfig b/sound/soc/fsl/Kconfig
index 65e8cd4be930..d521fdc5930b 100644
--- a/sound/soc/fsl/Kconfig
+++ b/sound/soc/fsl/Kconfig
@@ -303,7 +303,7 @@ config SND_SOC_FSL_ASOC_CARD
tristate "Generic ASoC Sound Card with ASRC support"
depends on OF && I2C
# enforce SND_SOC_FSL_ASOC_CARD=m if SND_AC97_CODEC=m:
- depends on SND_AC97_CODEC || SND_AC97_CODEC=n
+ uses SND_AC97_CODEC
select SND_SOC_IMX_AUDMUX
select SND_SOC_IMX_PCM_DMA
select SND_SOC_FSL_ESAI
--
2.25.2