1
linux/drivers/leds/trigger/Kconfig
Hans de Goede 6f963a20ee leds: trigger: Add new LED Input events trigger
Add a new trigger which turns LEDs on when there is input
(/dev/input/event*) activity and turns them back off again after there has
been no activity for 5 seconds.

This is primarily intended to control LED devices which are a backlight for
capacitive touch-buttons, such as e.g. the menu / home / back buttons found
on the bottom bezel of many somewhat older smartphones and tablets.

This can also be used to turn on the keyboard backlight LED on input
events and turn the keyboard backlight off again when idle.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20240531135910.168965-2-hdegoede@redhat.com
Signed-off-by: Lee Jones <lee@kernel.org>
2024-06-21 11:57:17 +01:00

165 lines
4.9 KiB
Plaintext

# SPDX-License-Identifier: GPL-2.0-only
menuconfig 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.
if LEDS_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/leds-class.rst.
If unsure, say Y.
config LEDS_TRIGGER_ONESHOT
tristate "LED One-shot Trigger"
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_DISK
bool "LED Disk Trigger"
depends on ATA
help
This allows LEDs to be controlled by disk activity.
If unsure, say Y.
config LEDS_TRIGGER_MTD
bool "LED MTD (NAND/NOR) Trigger"
depends on MTD
help
This allows LEDs to be controlled by MTD activity.
If unsure, say N.
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_CPU
bool "LED CPU Trigger"
depends on !PREEMPT_RT
help
This allows LEDs to be controlled by active CPUs. This shows
the active CPUs across an array of LEDs so you can see which
CPUs are active on the system at any given moment.
If unsure, say N.
config LEDS_TRIGGER_ACTIVITY
tristate "LED activity Trigger"
help
This allows LEDs to be controlled by an immediate CPU usage.
The flash frequency and duty cycle varies from faint flashes to
intense brightness depending on the instant CPU load.
If unsure, say N.
config LEDS_TRIGGER_GPIO
tristate "LED GPIO Trigger"
depends on GPIOLIB || COMPILE_TEST
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. Triggers are defined as device properties.
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
config LEDS_TRIGGER_TRANSIENT
tristate "LED Transient Trigger"
help
This allows one time activation of a transient state on
GPIO/PWM based hardware.
If unsure, say Y.
config LEDS_TRIGGER_CAMERA
tristate "LED Camera Flash/Torch Trigger"
help
This allows LEDs to be controlled as a camera flash/torch device.
This enables direct flash/torch on/off by the driver, kernel space.
If unsure, say Y.
config LEDS_TRIGGER_PANIC
bool "LED Panic Trigger"
help
This allows LEDs to be configured to blink on a kernel panic.
Enabling this option will allow to mark certain LEDs as panic indicators,
allowing to blink them on a kernel panic, even if they are set to
a different trigger.
If unsure, say Y.
config LEDS_TRIGGER_NETDEV
tristate "LED Netdev Trigger"
depends on NET
help
This allows LEDs to be controlled by network device activity.
If unsure, say Y.
config LEDS_TRIGGER_PATTERN
tristate "LED Pattern Trigger"
help
This allows LEDs to be controlled by a software or hardware pattern
which is a series of tuples, of brightness and duration (ms).
If unsure, say N
config LEDS_TRIGGER_TTY
tristate "LED Trigger for TTY devices"
depends on TTY
help
This allows LEDs to be controlled by activity on ttys which includes
serial devices like /dev/ttyS0.
When build as a module this driver will be called ledtrig-tty.
config LEDS_TRIGGER_INPUT_EVENTS
tristate "LED Input events trigger"
depends on INPUT
help
Turn LEDs on when there is input (/dev/input/event*) activity and turn
them back off again after there has been no activity for 5 seconds.
This is primarily intended to control LEDs which are a backlight for
capacitive touch-buttons, such as e.g. the menu / home / back buttons
found on the bottom bezel of many older smartphones and tablets.
This can also be used to turn on the keyboard backlight LED on
input events and turn the keyboard backlight off again when idle.
When build as a module this driver will be called ledtrig-input-events.
endif # LEDS_TRIGGERS