leds: fix up dependencies

It's not useful to build LED triggers when there's no LEDs that can be
triggered by them.  Therefore, fix up the dependencies so that this
cannot happen, and fix a few users that select triggers to depend on
LEDS_CLASS as well (there is also one user that also selects LEDS_CLASS,
which is OK).

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Reported-by: Randy Dunlap <randy.dunlap@oracle.com>
Acked-by: Randy Dunlap <randy.dunlap@oracle.com>
Tested-by: Ingo Molnar <mingo@elte.hu>
Cc: Arnd Hannemann <arnd@arndnet.de>
Cc: Michal Hocko <mhocko@suse.cz>
Cc: Richard Purdie <rpurdie@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Johannes Berg 2010-12-02 14:31:14 -08:00 committed by Linus Torvalds
parent e172662d11
commit 0bae35e14b
3 changed files with 43 additions and 10 deletions

View file

@ -7,20 +7,20 @@ menuconfig NEW_LEDS
This is not related to standard keyboard LEDs which are controlled This is not related to standard keyboard LEDs which are controlled
via the input system. via the input system.
if NEW_LEDS
config LEDS_CLASS config LEDS_CLASS
bool "LED Class Support" bool "LED Class Support"
depends on NEW_LEDS
help help
This option enables the led sysfs class in /sys/class/leds. You'll This option enables the led sysfs class in /sys/class/leds. You'll
need this to do anything useful with LEDs. If unsure, say N. need this to do anything useful with LEDs. If unsure, say N.
if LEDS_CLASS if NEW_LEDS
comment "LED drivers" comment "LED drivers"
config LEDS_88PM860X config LEDS_88PM860X
tristate "LED Support for Marvell 88PM860x PMIC" tristate "LED Support for Marvell 88PM860x PMIC"
depends on LEDS_CLASS
depends on MFD_88PM860X depends on MFD_88PM860X
help help
This option enables support for on-chip LED drivers found on Marvell This option enables support for on-chip LED drivers found on Marvell
@ -28,6 +28,7 @@ config LEDS_88PM860X
config LEDS_ATMEL_PWM config LEDS_ATMEL_PWM
tristate "LED Support using Atmel PWM outputs" tristate "LED Support using Atmel PWM outputs"
depends on LEDS_CLASS
depends on ATMEL_PWM depends on ATMEL_PWM
help help
This option enables support for LEDs driven using outputs This option enables support for LEDs driven using outputs
@ -35,6 +36,7 @@ config LEDS_ATMEL_PWM
config LEDS_LOCOMO config LEDS_LOCOMO
tristate "LED Support for Locomo device" tristate "LED Support for Locomo device"
depends on LEDS_CLASS
depends on SHARP_LOCOMO depends on SHARP_LOCOMO
help help
This option enables support for the LEDs on Sharp Locomo. This option enables support for the LEDs on Sharp Locomo.
@ -42,6 +44,7 @@ config LEDS_LOCOMO
config LEDS_MIKROTIK_RB532 config LEDS_MIKROTIK_RB532
tristate "LED Support for Mikrotik Routerboard 532" tristate "LED Support for Mikrotik Routerboard 532"
depends on LEDS_CLASS
depends on MIKROTIK_RB532 depends on MIKROTIK_RB532
help help
This option enables support for the so called "User LED" of This option enables support for the so called "User LED" of
@ -49,6 +52,7 @@ config LEDS_MIKROTIK_RB532
config LEDS_S3C24XX config LEDS_S3C24XX
tristate "LED Support for Samsung S3C24XX GPIO LEDs" tristate "LED Support for Samsung S3C24XX GPIO LEDs"
depends on LEDS_CLASS
depends on ARCH_S3C2410 depends on ARCH_S3C2410
help help
This option enables support for LEDs connected to GPIO lines This option enables support for LEDs connected to GPIO lines
@ -56,12 +60,14 @@ config LEDS_S3C24XX
config LEDS_AMS_DELTA config LEDS_AMS_DELTA
tristate "LED Support for the Amstrad Delta (E3)" tristate "LED Support for the Amstrad Delta (E3)"
depends on LEDS_CLASS
depends on MACH_AMS_DELTA depends on MACH_AMS_DELTA
help help
This option enables support for the LEDs on Amstrad Delta (E3). This option enables support for the LEDs on Amstrad Delta (E3).
config LEDS_NET48XX config LEDS_NET48XX
tristate "LED Support for Soekris net48xx series Error LED" tristate "LED Support for Soekris net48xx series Error LED"
depends on LEDS_CLASS
depends on SCx200_GPIO depends on SCx200_GPIO
help help
This option enables support for the Soekris net4801 and net4826 error This option enables support for the Soekris net4801 and net4826 error
@ -79,18 +85,21 @@ config LEDS_NET5501
config LEDS_FSG config LEDS_FSG
tristate "LED Support for the Freecom FSG-3" tristate "LED Support for the Freecom FSG-3"
depends on LEDS_CLASS
depends on MACH_FSG depends on MACH_FSG
help help
This option enables support for the LEDs on the Freecom FSG-3. This option enables support for the LEDs on the Freecom FSG-3.
config LEDS_WRAP config LEDS_WRAP
tristate "LED Support for the WRAP series LEDs" tristate "LED Support for the WRAP series LEDs"
depends on LEDS_CLASS
depends on SCx200_GPIO depends on SCx200_GPIO
help help
This option enables support for the PCEngines WRAP programmable LEDs. This option enables support for the PCEngines WRAP programmable LEDs.
config LEDS_ALIX2 config LEDS_ALIX2
tristate "LED Support for ALIX.2 and ALIX.3 series" tristate "LED Support for ALIX.2 and ALIX.3 series"
depends on LEDS_CLASS
depends on X86 && !GPIO_CS5535 && !CS5535_GPIO depends on X86 && !GPIO_CS5535 && !CS5535_GPIO
help help
This option enables support for the PCEngines ALIX.2 and ALIX.3 LEDs. This option enables support for the PCEngines ALIX.2 and ALIX.3 LEDs.
@ -98,12 +107,14 @@ config LEDS_ALIX2
config LEDS_H1940 config LEDS_H1940
tristate "LED Support for iPAQ H1940 device" tristate "LED Support for iPAQ H1940 device"
depends on LEDS_CLASS
depends on ARCH_H1940 depends on ARCH_H1940
help help
This option enables support for the LEDs on the h1940. This option enables support for the LEDs on the h1940.
config LEDS_COBALT_QUBE config LEDS_COBALT_QUBE
tristate "LED Support for the Cobalt Qube series front LED" tristate "LED Support for the Cobalt Qube series front LED"
depends on LEDS_CLASS
depends on MIPS_COBALT depends on MIPS_COBALT
help help
This option enables support for the front LED on Cobalt Qube series This option enables support for the front LED on Cobalt Qube series
@ -117,6 +128,7 @@ config LEDS_COBALT_RAQ
config LEDS_SUNFIRE config LEDS_SUNFIRE
tristate "LED support for SunFire servers." tristate "LED support for SunFire servers."
depends on LEDS_CLASS
depends on SPARC64 depends on SPARC64
select LEDS_TRIGGERS select LEDS_TRIGGERS
help help
@ -125,6 +137,7 @@ config LEDS_SUNFIRE
config LEDS_HP6XX config LEDS_HP6XX
tristate "LED Support for the HP Jornada 6xx" tristate "LED Support for the HP Jornada 6xx"
depends on LEDS_CLASS
depends on SH_HP6XX depends on SH_HP6XX
help help
This option enables LED support for the handheld This option enables LED support for the handheld
@ -132,6 +145,7 @@ config LEDS_HP6XX
config LEDS_PCA9532 config LEDS_PCA9532
tristate "LED driver for PCA9532 dimmer" tristate "LED driver for PCA9532 dimmer"
depends on LEDS_CLASS
depends on I2C && INPUT && EXPERIMENTAL depends on I2C && INPUT && EXPERIMENTAL
help help
This option enables support for NXP pca9532 This option enables support for NXP pca9532
@ -140,6 +154,7 @@ config LEDS_PCA9532
config LEDS_GPIO config LEDS_GPIO
tristate "LED Support for GPIO connected LEDs" tristate "LED Support for GPIO connected LEDs"
depends on LEDS_CLASS
depends on GENERIC_GPIO depends on GENERIC_GPIO
help help
This option enables support for the LEDs connected to GPIO This option enables support for the LEDs connected to GPIO
@ -167,6 +182,7 @@ config LEDS_GPIO_OF
config LEDS_LP3944 config LEDS_LP3944
tristate "LED Support for N.S. LP3944 (Fun Light) I2C chip" tristate "LED Support for N.S. LP3944 (Fun Light) I2C chip"
depends on LEDS_CLASS
depends on I2C depends on I2C
help help
This option enables support for LEDs connected to the National This option enables support for LEDs connected to the National
@ -196,6 +212,7 @@ config LEDS_LP5523
config LEDS_CLEVO_MAIL config LEDS_CLEVO_MAIL
tristate "Mail LED on Clevo notebook" tristate "Mail LED on Clevo notebook"
depends on LEDS_CLASS
depends on X86 && SERIO_I8042 && DMI depends on X86 && SERIO_I8042 && DMI
help help
This driver makes the mail LED accessible from userspace This driver makes the mail LED accessible from userspace
@ -226,6 +243,7 @@ config LEDS_CLEVO_MAIL
config LEDS_PCA955X config LEDS_PCA955X
tristate "LED Support for PCA955x I2C chips" tristate "LED Support for PCA955x I2C chips"
depends on LEDS_CLASS
depends on I2C depends on I2C
help help
This option enables support for LEDs connected to PCA955x This option enables support for LEDs connected to PCA955x
@ -234,6 +252,7 @@ config LEDS_PCA955X
config LEDS_WM831X_STATUS config LEDS_WM831X_STATUS
tristate "LED support for status LEDs on WM831x PMICs" tristate "LED support for status LEDs on WM831x PMICs"
depends on LEDS_CLASS
depends on MFD_WM831X depends on MFD_WM831X
help help
This option enables support for the status LEDs of the WM831x This option enables support for the status LEDs of the WM831x
@ -241,6 +260,7 @@ config LEDS_WM831X_STATUS
config LEDS_WM8350 config LEDS_WM8350
tristate "LED Support for WM8350 AudioPlus PMIC" tristate "LED Support for WM8350 AudioPlus PMIC"
depends on LEDS_CLASS
depends on MFD_WM8350 depends on MFD_WM8350
help help
This option enables support for LEDs driven by the Wolfson This option enables support for LEDs driven by the Wolfson
@ -248,6 +268,7 @@ config LEDS_WM8350
config LEDS_DA903X config LEDS_DA903X
tristate "LED Support for DA9030/DA9034 PMIC" tristate "LED Support for DA9030/DA9034 PMIC"
depends on LEDS_CLASS
depends on PMIC_DA903X depends on PMIC_DA903X
help help
This option enables support for on-chip LED drivers found This option enables support for on-chip LED drivers found
@ -255,6 +276,7 @@ config LEDS_DA903X
config LEDS_DAC124S085 config LEDS_DAC124S085
tristate "LED Support for DAC124S085 SPI DAC" tristate "LED Support for DAC124S085 SPI DAC"
depends on LEDS_CLASS
depends on SPI depends on SPI
help help
This option enables support for DAC124S085 SPI DAC from NatSemi, This option enables support for DAC124S085 SPI DAC from NatSemi,
@ -262,18 +284,21 @@ config LEDS_DAC124S085
config LEDS_PWM config LEDS_PWM
tristate "PWM driven LED Support" tristate "PWM driven LED Support"
depends on LEDS_CLASS
depends on HAVE_PWM depends on HAVE_PWM
help help
This option enables support for pwm driven LEDs This option enables support for pwm driven LEDs
config LEDS_REGULATOR config LEDS_REGULATOR
tristate "REGULATOR driven LED support" tristate "REGULATOR driven LED support"
depends on LEDS_CLASS
depends on REGULATOR depends on REGULATOR
help help
This option enables support for regulator driven LEDs. This option enables support for regulator driven LEDs.
config LEDS_BD2802 config LEDS_BD2802
tristate "LED driver for BD2802 RGB LED" tristate "LED driver for BD2802 RGB LED"
depends on LEDS_CLASS
depends on I2C depends on I2C
help help
This option enables support for BD2802GU RGB LED driver chips This option enables support for BD2802GU RGB LED driver chips
@ -281,6 +306,7 @@ config LEDS_BD2802
config LEDS_INTEL_SS4200 config LEDS_INTEL_SS4200
tristate "LED driver for Intel NAS SS4200 series" tristate "LED driver for Intel NAS SS4200 series"
depends on LEDS_CLASS
depends on PCI && DMI depends on PCI && DMI
help help
This option enables support for the Intel SS4200 series of This option enables support for the Intel SS4200 series of
@ -290,6 +316,7 @@ config LEDS_INTEL_SS4200
config LEDS_LT3593 config LEDS_LT3593
tristate "LED driver for LT3593 controllers" tristate "LED driver for LT3593 controllers"
depends on LEDS_CLASS
depends on GENERIC_GPIO depends on GENERIC_GPIO
help help
This option enables support for LEDs driven by a Linear Technology This option enables support for LEDs driven by a Linear Technology
@ -298,6 +325,7 @@ config LEDS_LT3593
config LEDS_ADP5520 config LEDS_ADP5520
tristate "LED Support for ADP5520/ADP5501 PMIC" tristate "LED Support for ADP5520/ADP5501 PMIC"
depends on LEDS_CLASS
depends on PMIC_ADP5520 depends on PMIC_ADP5520
help help
This option enables support for on-chip LED drivers found This option enables support for on-chip LED drivers found
@ -308,6 +336,7 @@ config LEDS_ADP5520
config LEDS_DELL_NETBOOKS config LEDS_DELL_NETBOOKS
tristate "External LED on Dell Business Netbooks" tristate "External LED on Dell Business Netbooks"
depends on LEDS_CLASS
depends on X86 && ACPI_WMI depends on X86 && ACPI_WMI
help help
This adds support for the Latitude 2100 and similar This adds support for the Latitude 2100 and similar
@ -315,6 +344,7 @@ config LEDS_DELL_NETBOOKS
config LEDS_MC13783 config LEDS_MC13783
tristate "LED Support for MC13783 PMIC" tristate "LED Support for MC13783 PMIC"
depends on LEDS_CLASS
depends on MFD_MC13783 depends on MFD_MC13783
help help
This option enable support for on-chip LED drivers found This option enable support for on-chip LED drivers found
@ -322,6 +352,7 @@ config LEDS_MC13783
config LEDS_NS2 config LEDS_NS2
tristate "LED support for Network Space v2 GPIO LEDs" tristate "LED support for Network Space v2 GPIO LEDs"
depends on LEDS_CLASS
depends on MACH_NETSPACE_V2 || MACH_INETSPACE_V2 || MACH_NETSPACE_MAX_V2 || D2NET_V2 depends on MACH_NETSPACE_V2 || MACH_INETSPACE_V2 || MACH_NETSPACE_MAX_V2 || D2NET_V2
default y default y
help help
@ -340,17 +371,17 @@ config LEDS_NETXBIG
config LEDS_TRIGGERS config LEDS_TRIGGERS
bool "LED Trigger support" bool "LED Trigger support"
depends on LEDS_CLASS
help help
This option enables trigger support for the leds class. This option enables trigger support for the leds class.
These triggers allow kernel events to drive the LEDs and can These triggers allow kernel events to drive the LEDs and can
be configured via sysfs. If unsure, say Y. be configured via sysfs. If unsure, say Y.
if LEDS_TRIGGERS
comment "LED Triggers" comment "LED Triggers"
config LEDS_TRIGGER_TIMER config LEDS_TRIGGER_TIMER
tristate "LED Timer Trigger" tristate "LED Timer Trigger"
depends on LEDS_TRIGGERS
help help
This allows LEDs to be controlled by a programmable timer This allows LEDs to be controlled by a programmable timer
via sysfs. Some LED hardware can be programmed to start via sysfs. Some LED hardware can be programmed to start
@ -362,12 +393,14 @@ config LEDS_TRIGGER_TIMER
config LEDS_TRIGGER_IDE_DISK config LEDS_TRIGGER_IDE_DISK
bool "LED IDE Disk Trigger" bool "LED IDE Disk Trigger"
depends on IDE_GD_ATA depends on IDE_GD_ATA
depends on LEDS_TRIGGERS
help help
This allows LEDs to be controlled by IDE disk activity. This allows LEDs to be controlled by IDE disk activity.
If unsure, say Y. If unsure, say Y.
config LEDS_TRIGGER_HEARTBEAT config LEDS_TRIGGER_HEARTBEAT
tristate "LED Heartbeat Trigger" tristate "LED Heartbeat Trigger"
depends on LEDS_TRIGGERS
help help
This allows LEDs to be controlled by a CPU load average. This allows LEDs to be controlled by a CPU load average.
The flash frequency is a hyperbolic function of the 1-minute The flash frequency is a hyperbolic function of the 1-minute
@ -376,6 +409,7 @@ config LEDS_TRIGGER_HEARTBEAT
config LEDS_TRIGGER_BACKLIGHT config LEDS_TRIGGER_BACKLIGHT
tristate "LED backlight Trigger" tristate "LED backlight Trigger"
depends on LEDS_TRIGGERS
help help
This allows LEDs to be controlled as a backlight device: they This allows LEDs to be controlled as a backlight device: they
turn off and on when the display is blanked and unblanked. turn off and on when the display is blanked and unblanked.
@ -384,6 +418,7 @@ config LEDS_TRIGGER_BACKLIGHT
config LEDS_TRIGGER_GPIO config LEDS_TRIGGER_GPIO
tristate "LED GPIO Trigger" tristate "LED GPIO Trigger"
depends on LEDS_TRIGGERS
depends on GPIOLIB depends on GPIOLIB
help help
This allows LEDs to be controlled by gpio events. It's good This allows LEDs to be controlled by gpio events. It's good
@ -396,6 +431,7 @@ config LEDS_TRIGGER_GPIO
config LEDS_TRIGGER_DEFAULT_ON config LEDS_TRIGGER_DEFAULT_ON
tristate "LED Default ON Trigger" tristate "LED Default ON Trigger"
depends on LEDS_TRIGGERS
help help
This allows LEDs to be initialised in the ON state. This allows LEDs to be initialised in the ON state.
If unsure, say Y. If unsure, say Y.
@ -403,8 +439,4 @@ config LEDS_TRIGGER_DEFAULT_ON
comment "iptables trigger is under Netfilter config (LED target)" comment "iptables trigger is under Netfilter config (LED target)"
depends on LEDS_TRIGGERS depends on LEDS_TRIGGERS
endif # LEDS_TRIGGERS
endif # LEDS_CLASS
endif # NEW_LEDS endif # NEW_LEDS

View file

@ -102,6 +102,7 @@ config ADB_PMU_LED
config ADB_PMU_LED_IDE config ADB_PMU_LED_IDE
bool "Use front LED as IDE LED by default" bool "Use front LED as IDE LED by default"
depends on ADB_PMU_LED depends on ADB_PMU_LED
depends on LEDS_CLASS
select LEDS_TRIGGERS select LEDS_TRIGGERS
select LEDS_TRIGGER_IDE_DISK select LEDS_TRIGGER_IDE_DISK
help help

View file

@ -92,7 +92,7 @@ config MAC80211_MESH
config MAC80211_LEDS config MAC80211_LEDS
bool "Enable LED triggers" bool "Enable LED triggers"
depends on MAC80211 depends on MAC80211
select NEW_LEDS depends on LEDS_CLASS
select LEDS_TRIGGERS select LEDS_TRIGGERS
---help--- ---help---
This option enables a few LED triggers for different This option enables a few LED triggers for different