5ada28bf76
Currently, blinking LEDs can be awkward because it is not guaranteed that all LEDs implement blinking. The trigger that wants it to blink then needs to implement its own timer solution. Rather than require that, add led_blink_set() API that triggers can use. This function will attempt to use hw blinking, but if that fails implements a timer for it. To stop blinking again, brightness_set() also needs to be wrapped into API that will stop the software blink. As a result of this, the timer trigger becomes a very trivial one, and hopefully we can finally see triggers using blinking as well because it's always easy to use. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Acked-by: Richard Purdie <rpurdie@linux.intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
393 lines
12 KiB
Plaintext
393 lines
12 KiB
Plaintext
menuconfig NEW_LEDS
|
|
bool "LED Support"
|
|
help
|
|
Say Y to enable Linux LED support. This allows control of supported
|
|
LEDs from both userspace and optionally, by kernel events (triggers).
|
|
|
|
This is not related to standard keyboard LEDs which are controlled
|
|
via the input system.
|
|
|
|
if NEW_LEDS
|
|
|
|
config LEDS_CLASS
|
|
bool "LED Class Support"
|
|
help
|
|
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.
|
|
|
|
if LEDS_CLASS
|
|
|
|
comment "LED drivers"
|
|
|
|
config LEDS_88PM860X
|
|
tristate "LED Support for Marvell 88PM860x PMIC"
|
|
depends on MFD_88PM860X
|
|
help
|
|
This option enables support for on-chip LED drivers found on Marvell
|
|
Semiconductor 88PM8606 PMIC.
|
|
|
|
config LEDS_ATMEL_PWM
|
|
tristate "LED Support using Atmel PWM outputs"
|
|
depends on ATMEL_PWM
|
|
help
|
|
This option enables support for LEDs driven using outputs
|
|
of the dedicated PWM controller found on newer Atmel SOCs.
|
|
|
|
config LEDS_LOCOMO
|
|
tristate "LED Support for Locomo device"
|
|
depends on SHARP_LOCOMO
|
|
help
|
|
This option enables support for the LEDs on Sharp Locomo.
|
|
Zaurus models SL-5500 and SL-5600.
|
|
|
|
config LEDS_MIKROTIK_RB532
|
|
tristate "LED Support for Mikrotik Routerboard 532"
|
|
depends on MIKROTIK_RB532
|
|
help
|
|
This option enables support for the so called "User LED" of
|
|
Mikrotik's Routerboard 532.
|
|
|
|
config LEDS_S3C24XX
|
|
tristate "LED Support for Samsung S3C24XX GPIO LEDs"
|
|
depends on ARCH_S3C2410
|
|
help
|
|
This option enables support for LEDs connected to GPIO lines
|
|
on Samsung S3C24XX series CPUs, such as the S3C2410 and S3C2440.
|
|
|
|
config LEDS_AMS_DELTA
|
|
tristate "LED Support for the Amstrad Delta (E3)"
|
|
depends on MACH_AMS_DELTA
|
|
help
|
|
This option enables support for the LEDs on Amstrad Delta (E3).
|
|
|
|
config LEDS_NET48XX
|
|
tristate "LED Support for Soekris net48xx series Error LED"
|
|
depends on SCx200_GPIO
|
|
help
|
|
This option enables support for the Soekris net4801 and net4826 error
|
|
LED.
|
|
|
|
config LEDS_NET5501
|
|
tristate "LED Support for Soekris net5501 series Error LED"
|
|
depends on LEDS_TRIGGERS
|
|
depends on X86 && LEDS_GPIO_PLATFORM && GPIO_CS5535
|
|
select LEDS_TRIGGER_DEFAULT_ON
|
|
default n
|
|
help
|
|
Add support for the Soekris net5501 board (detection, error led
|
|
and GPIO).
|
|
|
|
config LEDS_FSG
|
|
tristate "LED Support for the Freecom FSG-3"
|
|
depends on MACH_FSG
|
|
help
|
|
This option enables support for the LEDs on the Freecom FSG-3.
|
|
|
|
config LEDS_WRAP
|
|
tristate "LED Support for the WRAP series LEDs"
|
|
depends on SCx200_GPIO
|
|
help
|
|
This option enables support for the PCEngines WRAP programmable LEDs.
|
|
|
|
config LEDS_ALIX2
|
|
tristate "LED Support for ALIX.2 and ALIX.3 series"
|
|
depends on X86 && !GPIO_CS5535 && !CS5535_GPIO
|
|
help
|
|
This option enables support for the PCEngines ALIX.2 and ALIX.3 LEDs.
|
|
You have to set leds-alix2.force=1 for boards with Award BIOS.
|
|
|
|
config LEDS_H1940
|
|
tristate "LED Support for iPAQ H1940 device"
|
|
depends on ARCH_H1940
|
|
help
|
|
This option enables support for the LEDs on the h1940.
|
|
|
|
config LEDS_COBALT_QUBE
|
|
tristate "LED Support for the Cobalt Qube series front LED"
|
|
depends on MIPS_COBALT
|
|
help
|
|
This option enables support for the front LED on Cobalt Qube series
|
|
|
|
config LEDS_COBALT_RAQ
|
|
bool "LED Support for the Cobalt Raq series"
|
|
depends on LEDS_CLASS=y && MIPS_COBALT
|
|
select LEDS_TRIGGERS
|
|
help
|
|
This option enables support for the Cobalt Raq series LEDs.
|
|
|
|
config LEDS_SUNFIRE
|
|
tristate "LED support for SunFire servers."
|
|
depends on SPARC64
|
|
select LEDS_TRIGGERS
|
|
help
|
|
This option enables support for the Left, Middle, and Right
|
|
LEDs on the I/O and CPU boards of SunFire UltraSPARC servers.
|
|
|
|
config LEDS_HP6XX
|
|
tristate "LED Support for the HP Jornada 6xx"
|
|
depends on SH_HP6XX
|
|
help
|
|
This option enables LED support for the handheld
|
|
HP Jornada 620/660/680/690.
|
|
|
|
config LEDS_PCA9532
|
|
tristate "LED driver for PCA9532 dimmer"
|
|
depends on I2C && INPUT && EXPERIMENTAL
|
|
help
|
|
This option enables support for NXP pca9532
|
|
LED controller. It is generally only useful
|
|
as a platform driver
|
|
|
|
config LEDS_GPIO
|
|
tristate "LED Support for GPIO connected LEDs"
|
|
depends on GENERIC_GPIO
|
|
help
|
|
This option enables support for the LEDs connected to GPIO
|
|
outputs. To be useful the particular board must have LEDs
|
|
and they must be connected to the GPIO lines. The LEDs must be
|
|
defined as platform devices and/or OpenFirmware platform devices.
|
|
The code to use these bindings can be selected below.
|
|
|
|
config LEDS_GPIO_PLATFORM
|
|
bool "Platform device bindings for GPIO LEDs"
|
|
depends on LEDS_GPIO
|
|
default y
|
|
help
|
|
Let the leds-gpio driver drive LEDs which have been defined as
|
|
platform devices. If you don't know what this means, say yes.
|
|
|
|
config LEDS_GPIO_OF
|
|
bool "OpenFirmware platform device bindings for GPIO LEDs"
|
|
depends on LEDS_GPIO && OF_DEVICE
|
|
default y
|
|
help
|
|
Let the leds-gpio driver drive LEDs which have been defined as
|
|
of_platform devices. For instance, LEDs which are listed in a "dts"
|
|
file.
|
|
|
|
config LEDS_LP3944
|
|
tristate "LED Support for N.S. LP3944 (Fun Light) I2C chip"
|
|
depends on I2C
|
|
help
|
|
This option enables support for LEDs connected to the National
|
|
Semiconductor LP3944 Lighting Management Unit (LMU) also known as
|
|
Fun Light Chip.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called leds-lp3944.
|
|
|
|
config LEDS_CLEVO_MAIL
|
|
tristate "Mail LED on Clevo notebook"
|
|
depends on X86 && SERIO_I8042 && DMI
|
|
help
|
|
This driver makes the mail LED accessible from userspace
|
|
programs through the leds subsystem. This LED have three
|
|
known mode: off, blink at 0.5Hz and blink at 1Hz.
|
|
|
|
The driver supports two kinds of interface: using ledtrig-timer
|
|
or through /sys/class/leds/clevo::mail/brightness. As this LED
|
|
cannot change it's brightness it blinks instead. The brightness
|
|
value 0 means off, 1..127 means blink at 0.5Hz and 128..255 means
|
|
blink at 1Hz.
|
|
|
|
This module can drive the mail LED for the following notebooks:
|
|
|
|
Clevo D400P
|
|
Clevo D410J
|
|
Clevo D410V
|
|
Clevo D400V/D470V (not tested, but might work)
|
|
Clevo M540N
|
|
Clevo M5x0N (not tested, but might work)
|
|
Positivo Mobile (Clevo M5x0V)
|
|
|
|
If your model is not listed here you can try the "nodetect"
|
|
module parameter.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called leds-clevo-mail.
|
|
|
|
config LEDS_PCA955X
|
|
tristate "LED Support for PCA955x I2C chips"
|
|
depends on I2C
|
|
help
|
|
This option enables support for LEDs connected to PCA955x
|
|
LED driver chips accessed via the I2C bus. Supported
|
|
devices include PCA9550, PCA9551, PCA9552, and PCA9553.
|
|
|
|
config LEDS_WM831X_STATUS
|
|
tristate "LED support for status LEDs on WM831x PMICs"
|
|
depends on MFD_WM831X
|
|
help
|
|
This option enables support for the status LEDs of the WM831x
|
|
series of PMICs.
|
|
|
|
config LEDS_WM8350
|
|
tristate "LED Support for WM8350 AudioPlus PMIC"
|
|
depends on MFD_WM8350
|
|
help
|
|
This option enables support for LEDs driven by the Wolfson
|
|
Microelectronics WM8350 AudioPlus PMIC.
|
|
|
|
config LEDS_DA903X
|
|
tristate "LED Support for DA9030/DA9034 PMIC"
|
|
depends on PMIC_DA903X
|
|
help
|
|
This option enables support for on-chip LED drivers found
|
|
on Dialog Semiconductor DA9030/DA9034 PMICs.
|
|
|
|
config LEDS_DAC124S085
|
|
tristate "LED Support for DAC124S085 SPI DAC"
|
|
depends on SPI
|
|
help
|
|
This option enables support for DAC124S085 SPI DAC from NatSemi,
|
|
which can be used to control up to four LEDs.
|
|
|
|
config LEDS_PWM
|
|
tristate "PWM driven LED Support"
|
|
depends on HAVE_PWM
|
|
help
|
|
This option enables support for pwm driven LEDs
|
|
|
|
config LEDS_REGULATOR
|
|
tristate "REGULATOR driven LED support"
|
|
depends on REGULATOR
|
|
help
|
|
This option enables support for regulator driven LEDs.
|
|
|
|
config LEDS_BD2802
|
|
tristate "LED driver for BD2802 RGB LED"
|
|
depends on I2C
|
|
help
|
|
This option enables support for BD2802GU RGB LED driver chips
|
|
accessed via the I2C bus.
|
|
|
|
config LEDS_INTEL_SS4200
|
|
tristate "LED driver for Intel NAS SS4200 series"
|
|
depends on PCI && DMI
|
|
help
|
|
This option enables support for the Intel SS4200 series of
|
|
Network Attached Storage servers. You may control the hard
|
|
drive or power LEDs on the front panel. Using this driver
|
|
can stop the front LED from blinking after startup.
|
|
|
|
config LEDS_LT3593
|
|
tristate "LED driver for LT3593 controllers"
|
|
depends on GENERIC_GPIO
|
|
help
|
|
This option enables support for LEDs driven by a Linear Technology
|
|
LT3593 controller. This controller uses a special one-wire pulse
|
|
coding protocol to set the brightness.
|
|
|
|
config LEDS_ADP5520
|
|
tristate "LED Support for ADP5520/ADP5501 PMIC"
|
|
depends on PMIC_ADP5520
|
|
help
|
|
This option enables support for on-chip LED drivers found
|
|
on Analog Devices ADP5520/ADP5501 PMICs.
|
|
|
|
To compile this driver as a module, choose M here: the module will
|
|
be called leds-adp5520.
|
|
|
|
config LEDS_DELL_NETBOOKS
|
|
tristate "External LED on Dell Business Netbooks"
|
|
depends on X86 && ACPI_WMI
|
|
help
|
|
This adds support for the Latitude 2100 and similar
|
|
notebooks that have an external LED.
|
|
|
|
config LEDS_MC13783
|
|
tristate "LED Support for MC13783 PMIC"
|
|
depends on MFD_MC13783
|
|
help
|
|
This option enable support for on-chip LED drivers found
|
|
on Freescale Semiconductor MC13783 PMIC.
|
|
|
|
config LEDS_NS2
|
|
tristate "LED support for Network Space v2 GPIO LEDs"
|
|
depends on MACH_NETSPACE_V2 || MACH_INETSPACE_V2 || MACH_NETSPACE_MAX_V2 || D2NET_V2
|
|
default y
|
|
help
|
|
This option enable support for the dual-GPIO LED found on the
|
|
Network Space v2 board (and parents). This include Internet Space v2,
|
|
Network Space (Max) v2 and d2 Network v2 boards.
|
|
|
|
config LEDS_NETXBIG
|
|
tristate "LED support for Big Network series LEDs"
|
|
depends on MACH_NET2BIG_V2 || MACH_NET5BIG_V2
|
|
default y
|
|
help
|
|
This option enable support for LEDs found on the LaCie 2Big
|
|
and 5Big Network v2 boards. The LEDs are wired to a CPLD and are
|
|
controlled through a GPIO extension bus.
|
|
|
|
config LEDS_TRIGGERS
|
|
bool "LED Trigger support"
|
|
help
|
|
This option enables trigger support for the leds class.
|
|
These triggers allow kernel events to drive the LEDs and can
|
|
be configured via sysfs. If unsure, say Y.
|
|
|
|
if LEDS_TRIGGERS
|
|
|
|
comment "LED Triggers"
|
|
|
|
config LEDS_TRIGGER_TIMER
|
|
tristate "LED Timer Trigger"
|
|
help
|
|
This allows LEDs to be controlled by a programmable timer
|
|
via sysfs. Some LED hardware can be programmed to start
|
|
blinking the LED without any further software interaction.
|
|
For more details read Documentation/leds-class.txt.
|
|
|
|
If unsure, say Y.
|
|
|
|
config LEDS_TRIGGER_IDE_DISK
|
|
bool "LED IDE Disk Trigger"
|
|
depends on IDE_GD_ATA
|
|
help
|
|
This allows LEDs to be controlled by IDE disk activity.
|
|
If unsure, say Y.
|
|
|
|
config LEDS_TRIGGER_HEARTBEAT
|
|
tristate "LED Heartbeat Trigger"
|
|
help
|
|
This allows LEDs to be controlled by a CPU load average.
|
|
The flash frequency is a hyperbolic function of the 1-minute
|
|
load average.
|
|
If unsure, say Y.
|
|
|
|
config LEDS_TRIGGER_BACKLIGHT
|
|
tristate "LED backlight Trigger"
|
|
help
|
|
This allows LEDs to be controlled as a backlight device: they
|
|
turn off and on when the display is blanked and unblanked.
|
|
|
|
If unsure, say N.
|
|
|
|
config LEDS_TRIGGER_GPIO
|
|
tristate "LED GPIO Trigger"
|
|
depends on GPIOLIB
|
|
help
|
|
This allows LEDs to be controlled by gpio events. It's good
|
|
when using gpios as switches and triggering the needed LEDs
|
|
from there. One use case is n810's keypad LEDs that could
|
|
be triggered by this trigger when user slides up to show
|
|
keypad.
|
|
|
|
If unsure, say N.
|
|
|
|
config LEDS_TRIGGER_DEFAULT_ON
|
|
tristate "LED Default ON Trigger"
|
|
help
|
|
This allows LEDs to be initialised in the ON state.
|
|
If unsure, say Y.
|
|
|
|
comment "iptables trigger is under Netfilter config (LED target)"
|
|
depends on LEDS_TRIGGERS
|
|
|
|
endif # LEDS_TRIGGERS
|
|
|
|
endif # LEDS_CLASS
|
|
|
|
endif # NEW_LEDS
|