![Kim, Milo](/assets/img/avatar_default.png)
TI LP8788 PMU has the current sink as the keyboard led driver. The brightness is controlled by the i2c commands. Configurable parameters can be defined in the platform side. Patch v2. (a) use workqueue on changing the brightness (b) use mutex_lock/unlock when the brightness is set and the led block of lp8788 device is enabled (c) remove err_dev on _probe() : just return as returned value if any errors (d) replace module_init/exit() with module_platform_driver() (e) add led configuration structure and loading them by default if platform data is null Signed-off-by: Milo(Woogyom) Kim <milo.kim@ti.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Bryan Wu <bryan.wu@canonical.com>
541 lines
16 KiB
Text
541 lines
16 KiB
Text
config LEDS_GPIO_REGISTER
|
|
bool
|
|
help
|
|
This option provides the function gpio_led_register_device.
|
|
As this function is used by arch code it must not be compiled as a
|
|
module.
|
|
|
|
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
|
|
tristate "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.
|
|
|
|
comment "LED drivers"
|
|
|
|
config LEDS_88PM860X
|
|
tristate "LED Support for Marvell 88PM860x PMIC"
|
|
depends on LEDS_CLASS
|
|
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 LEDS_CLASS
|
|
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_LM3530
|
|
tristate "LCD Backlight driver for LM3530"
|
|
depends on LEDS_CLASS
|
|
depends on I2C
|
|
help
|
|
This option enables support for the LCD backlight using
|
|
LM3530 ambient light sensor chip. This ALS chip can be
|
|
controlled manually or using PWM input or using ambient
|
|
light automatically.
|
|
|
|
config LEDS_LM3533
|
|
tristate "LED support for LM3533"
|
|
depends on LEDS_CLASS
|
|
depends on MFD_LM3533
|
|
help
|
|
This option enables support for the LEDs on National Semiconductor /
|
|
TI LM3533 Lighting Power chips.
|
|
|
|
The LEDs can be controlled directly, through PWM input, or by the
|
|
ambient-light-sensor interface. The chip supports
|
|
hardware-accelerated blinking with maximum on and off periods of 9.8
|
|
and 77 seconds respectively.
|
|
|
|
config LEDS_LOCOMO
|
|
tristate "LED Support for Locomo device"
|
|
depends on LEDS_CLASS
|
|
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 LEDS_CLASS
|
|
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 LEDS_CLASS
|
|
depends on ARCH_S3C24XX
|
|
help
|
|
This option enables support for LEDs connected to GPIO lines
|
|
on Samsung S3C24XX series CPUs, such as the S3C2410 and S3C2440.
|
|
|
|
config LEDS_NET48XX
|
|
tristate "LED Support for Soekris net48xx series Error LED"
|
|
depends on LEDS_CLASS
|
|
depends on SCx200_GPIO
|
|
help
|
|
This option enables support for the Soekris net4801 and net4826 error
|
|
LED.
|
|
|
|
config LEDS_FSG
|
|
tristate "LED Support for the Freecom FSG-3"
|
|
depends on LEDS_CLASS
|
|
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 LEDS_CLASS
|
|
depends on SCx200_GPIO
|
|
help
|
|
This option enables support for the PCEngines WRAP programmable LEDs.
|
|
|
|
config LEDS_COBALT_QUBE
|
|
tristate "LED Support for the Cobalt Qube series front LED"
|
|
depends on LEDS_CLASS
|
|
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 LEDS_CLASS
|
|
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 LEDS_CLASS
|
|
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 LEDS_CLASS
|
|
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_PCA9532_GPIO
|
|
bool "Enable GPIO support for PCA9532"
|
|
depends on LEDS_PCA9532
|
|
depends on GPIOLIB
|
|
help
|
|
Allow unused pins on PCA9532 to be used as gpio.
|
|
|
|
To use a pin as gpio pca9532_type in pca9532_platform data needs to
|
|
set to PCA9532_TYPE_GPIO.
|
|
|
|
config LEDS_GPIO
|
|
tristate "LED Support for GPIO connected LEDs"
|
|
depends on LEDS_CLASS
|
|
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_LP3944
|
|
tristate "LED Support for N.S. LP3944 (Fun Light) I2C chip"
|
|
depends on LEDS_CLASS
|
|
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_LP5521
|
|
tristate "LED Support for N.S. LP5521 LED driver chip"
|
|
depends on LEDS_CLASS && I2C
|
|
help
|
|
If you say yes here you get support for the National Semiconductor
|
|
LP5521 LED driver. It is 3 channel chip with programmable engines.
|
|
Driver provides direct control via LED class and interface for
|
|
programming the engines.
|
|
|
|
config LEDS_LP5523
|
|
tristate "LED Support for N.S. LP5523 LED driver chip"
|
|
depends on LEDS_CLASS && I2C
|
|
help
|
|
If you say yes here you get support for the National Semiconductor
|
|
LP5523 LED driver. It is 9 channel chip with programmable engines.
|
|
Driver provides direct control via LED class and interface for
|
|
programming the engines.
|
|
|
|
config LEDS_LP8788
|
|
tristate "LED support for the TI LP8788 PMIC"
|
|
depends on LEDS_CLASS
|
|
depends on MFD_LP8788
|
|
help
|
|
This option enables support for the Keyboard LEDs on the LP8788 PMIC.
|
|
|
|
config LEDS_CLEVO_MAIL
|
|
tristate "Mail LED on Clevo notebook"
|
|
depends on LEDS_CLASS
|
|
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 LEDS_CLASS
|
|
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_PCA9633
|
|
tristate "LED support for PCA9633 I2C chip"
|
|
depends on LEDS_CLASS
|
|
depends on I2C
|
|
help
|
|
This option enables support for LEDs connected to the PCA9633
|
|
LED driver chip accessed via the I2C bus.
|
|
|
|
config LEDS_WM831X_STATUS
|
|
tristate "LED support for status LEDs on WM831x PMICs"
|
|
depends on LEDS_CLASS
|
|
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 LEDS_CLASS
|
|
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 LEDS_CLASS
|
|
depends on PMIC_DA903X
|
|
help
|
|
This option enables support for on-chip LED drivers found
|
|
on Dialog Semiconductor DA9030/DA9034 PMICs.
|
|
|
|
config LEDS_DA9052
|
|
tristate "Dialog DA9052/DA9053 LEDS"
|
|
depends on LEDS_CLASS
|
|
depends on PMIC_DA9052
|
|
help
|
|
This option enables support for on-chip LED drivers found
|
|
on Dialog Semiconductor DA9052-BC and DA9053-AA/Bx PMICs.
|
|
|
|
config LEDS_DAC124S085
|
|
tristate "LED Support for DAC124S085 SPI DAC"
|
|
depends on LEDS_CLASS
|
|
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 LEDS_CLASS
|
|
depends on HAVE_PWM
|
|
help
|
|
This option enables support for pwm driven LEDs
|
|
|
|
config LEDS_REGULATOR
|
|
tristate "REGULATOR driven LED support"
|
|
depends on LEDS_CLASS
|
|
depends on REGULATOR
|
|
help
|
|
This option enables support for regulator driven LEDs.
|
|
|
|
config LEDS_BD2802
|
|
tristate "LED driver for BD2802 RGB LED"
|
|
depends on LEDS_CLASS
|
|
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 LEDS_CLASS
|
|
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 LEDS_CLASS
|
|
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 LEDS_CLASS
|
|
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 LEDS_CLASS
|
|
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 LEDS_CLASS
|
|
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 LEDS_CLASS
|
|
depends on MACH_NETSPACE_V2 || MACH_INETSPACE_V2 || \
|
|
MACH_NETSPACE_MAX_V2 || MACH_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
|
|
depends on LEDS_CLASS
|
|
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_ASIC3
|
|
bool "LED support for the HTC ASIC3"
|
|
depends on LEDS_CLASS=y
|
|
depends on MFD_ASIC3
|
|
default y
|
|
help
|
|
This option enables support for the LEDs on the HTC ASIC3. The HTC
|
|
ASIC3 LED GPIOs are inputs, not outputs, thus the leds-gpio driver
|
|
cannot be used. This driver supports hardware blinking with an on+off
|
|
period from 62ms to 125s. Say Y to enable LEDs on the HP iPAQ hx4700.
|
|
|
|
config LEDS_RENESAS_TPU
|
|
bool "LED support for Renesas TPU"
|
|
depends on LEDS_CLASS=y && HAVE_CLK && GENERIC_GPIO
|
|
help
|
|
This option enables build of the LED TPU platform driver,
|
|
suitable to drive any TPU channel on newer Renesas SoCs.
|
|
The driver controls the GPIO pin connected to the LED via
|
|
the GPIO framework and expects the LED to be connected to
|
|
a pin that can be driven in both GPIO mode and using TPU
|
|
pin function. The latter to support brightness control.
|
|
Brightness control is supported but hardware blinking is not.
|
|
|
|
config LEDS_TCA6507
|
|
tristate "LED Support for TCA6507 I2C chip"
|
|
depends on LEDS_CLASS && I2C
|
|
help
|
|
This option enables support for LEDs connected to TC6507
|
|
LED driver chips accessed via the I2C bus.
|
|
Driver support brightness control and hardware-assisted blinking.
|
|
|
|
config LEDS_MAX8997
|
|
tristate "LED support for MAX8997 PMIC"
|
|
depends on LEDS_CLASS && MFD_MAX8997
|
|
help
|
|
This option enables support for on-chip LED drivers on
|
|
MAXIM MAX8997 PMIC.
|
|
|
|
config LEDS_LM3556
|
|
tristate "LED support for LM3556 Chip"
|
|
depends on LEDS_CLASS && I2C
|
|
select REGMAP_I2C
|
|
help
|
|
This option enables support for LEDs connected to LM3556.
|
|
LM3556 includes Torch, Flash and Indicator functions.
|
|
|
|
config LEDS_OT200
|
|
tristate "LED support for the Bachmann OT200"
|
|
depends on LEDS_CLASS && HAS_IOMEM
|
|
help
|
|
This option enables support for the LEDs on the Bachmann OT200.
|
|
Say Y to enable LEDs on the Bachmann OT200.
|
|
|
|
config LEDS_BLINKM
|
|
tristate "LED support for the BlinkM I2C RGB LED"
|
|
depends on LEDS_CLASS
|
|
depends on I2C
|
|
help
|
|
This option enables support for the BlinkM RGB LED connected
|
|
through I2C. Say Y to enable support for the BlinkM LED.
|
|
|
|
config LEDS_TRIGGERS
|
|
bool "LED Trigger support"
|
|
depends on LEDS_CLASS
|
|
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.
|
|
|
|
comment "LED Triggers"
|
|
|
|
config LEDS_TRIGGER_TIMER
|
|
tristate "LED Timer Trigger"
|
|
depends on LEDS_TRIGGERS
|
|
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/leds-class.txt.
|
|
|
|
If unsure, say Y.
|
|
|
|
config LEDS_TRIGGER_ONESHOT
|
|
tristate "LED One-shot Trigger"
|
|
depends on LEDS_TRIGGERS
|
|
help
|
|
This allows LEDs to blink in one-shot pulses with parameters
|
|
controlled via sysfs. It's useful to notify the user on
|
|
sporadic events, when there are no clear begin and end trap points,
|
|
or on dense events, where this blinks the LED at constant rate if
|
|
rearmed continuously.
|
|
|
|
It also shows how to use the led_blink_set_oneshot() function.
|
|
|
|
If unsure, say Y.
|
|
|
|
config LEDS_TRIGGER_IDE_DISK
|
|
bool "LED IDE Disk Trigger"
|
|
depends on IDE_GD_ATA
|
|
depends on LEDS_TRIGGERS
|
|
help
|
|
This allows LEDs to be controlled by IDE disk activity.
|
|
If unsure, say Y.
|
|
|
|
config LEDS_TRIGGER_HEARTBEAT
|
|
tristate "LED Heartbeat Trigger"
|
|
depends on LEDS_TRIGGERS
|
|
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"
|
|
depends on LEDS_TRIGGERS
|
|
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 LEDS_TRIGGERS
|
|
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"
|
|
depends on LEDS_TRIGGERS
|
|
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
|
|
|
|
config LEDS_TRIGGER_TRANSIENT
|
|
tristate "LED Transient Trigger"
|
|
depends on LEDS_TRIGGERS
|
|
help
|
|
This allows one time activation of a transient state on
|
|
GPIO/PWM based hardware.
|
|
If unsure, say Y.
|
|
|
|
endif # NEW_LEDS
|