162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_cimenuconfig LEDS_TRIGGERS
362306a36Sopenharmony_ci	bool "LED Trigger support"
462306a36Sopenharmony_ci	depends on LEDS_CLASS
562306a36Sopenharmony_ci	help
662306a36Sopenharmony_ci	  This option enables trigger support for the leds class.
762306a36Sopenharmony_ci	  These triggers allow kernel events to drive the LEDs and can
862306a36Sopenharmony_ci	  be configured via sysfs. If unsure, say Y.
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ciif LEDS_TRIGGERS
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ciconfig LEDS_TRIGGER_TIMER
1362306a36Sopenharmony_ci	tristate "LED Timer Trigger"
1462306a36Sopenharmony_ci	help
1562306a36Sopenharmony_ci	  This allows LEDs to be controlled by a programmable timer
1662306a36Sopenharmony_ci	  via sysfs. Some LED hardware can be programmed to start
1762306a36Sopenharmony_ci	  blinking the LED without any further software interaction.
1862306a36Sopenharmony_ci	  For more details read Documentation/leds/leds-class.rst.
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci	  If unsure, say Y.
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ciconfig LEDS_TRIGGER_ONESHOT
2362306a36Sopenharmony_ci	tristate "LED One-shot Trigger"
2462306a36Sopenharmony_ci	help
2562306a36Sopenharmony_ci	  This allows LEDs to blink in one-shot pulses with parameters
2662306a36Sopenharmony_ci	  controlled via sysfs.  It's useful to notify the user on
2762306a36Sopenharmony_ci	  sporadic events, when there are no clear begin and end trap points,
2862306a36Sopenharmony_ci	  or on dense events, where this blinks the LED at constant rate if
2962306a36Sopenharmony_ci	  rearmed continuously.
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci	  It also shows how to use the led_blink_set_oneshot() function.
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci	  If unsure, say Y.
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ciconfig LEDS_TRIGGER_DISK
3662306a36Sopenharmony_ci	bool "LED Disk Trigger"
3762306a36Sopenharmony_ci	depends on ATA
3862306a36Sopenharmony_ci	help
3962306a36Sopenharmony_ci	  This allows LEDs to be controlled by disk activity.
4062306a36Sopenharmony_ci	  If unsure, say Y.
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ciconfig LEDS_TRIGGER_MTD
4362306a36Sopenharmony_ci	bool "LED MTD (NAND/NOR) Trigger"
4462306a36Sopenharmony_ci	depends on MTD
4562306a36Sopenharmony_ci	help
4662306a36Sopenharmony_ci	  This allows LEDs to be controlled by MTD activity.
4762306a36Sopenharmony_ci	  If unsure, say N.
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ciconfig LEDS_TRIGGER_HEARTBEAT
5062306a36Sopenharmony_ci	tristate "LED Heartbeat Trigger"
5162306a36Sopenharmony_ci	help
5262306a36Sopenharmony_ci	  This allows LEDs to be controlled by a CPU load average.
5362306a36Sopenharmony_ci	  The flash frequency is a hyperbolic function of the 1-minute
5462306a36Sopenharmony_ci	  load average.
5562306a36Sopenharmony_ci	  If unsure, say Y.
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ciconfig LEDS_TRIGGER_BACKLIGHT
5862306a36Sopenharmony_ci	tristate "LED backlight Trigger"
5962306a36Sopenharmony_ci	help
6062306a36Sopenharmony_ci	  This allows LEDs to be controlled as a backlight device: they
6162306a36Sopenharmony_ci	  turn off and on when the display is blanked and unblanked.
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ci	  If unsure, say N.
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ciconfig LEDS_TRIGGER_CPU
6662306a36Sopenharmony_ci	bool "LED CPU Trigger"
6762306a36Sopenharmony_ci	depends on !PREEMPT_RT
6862306a36Sopenharmony_ci	help
6962306a36Sopenharmony_ci	  This allows LEDs to be controlled by active CPUs. This shows
7062306a36Sopenharmony_ci	  the active CPUs across an array of LEDs so you can see which
7162306a36Sopenharmony_ci	  CPUs are active on the system at any given moment.
7262306a36Sopenharmony_ci
7362306a36Sopenharmony_ci	  If unsure, say N.
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_ciconfig LEDS_TRIGGER_ACTIVITY
7662306a36Sopenharmony_ci	tristate "LED activity Trigger"
7762306a36Sopenharmony_ci	help
7862306a36Sopenharmony_ci	  This allows LEDs to be controlled by an immediate CPU usage.
7962306a36Sopenharmony_ci	  The flash frequency and duty cycle varies from faint flashes to
8062306a36Sopenharmony_ci	  intense brightness depending on the instant CPU load.
8162306a36Sopenharmony_ci	  If unsure, say N.
8262306a36Sopenharmony_ci
8362306a36Sopenharmony_ciconfig LEDS_TRIGGER_GPIO
8462306a36Sopenharmony_ci	tristate "LED GPIO Trigger"
8562306a36Sopenharmony_ci	depends on GPIOLIB || COMPILE_TEST
8662306a36Sopenharmony_ci	depends on BROKEN
8762306a36Sopenharmony_ci	help
8862306a36Sopenharmony_ci	  This allows LEDs to be controlled by gpio events. It's good
8962306a36Sopenharmony_ci	  when using gpios as switches and triggering the needed LEDs
9062306a36Sopenharmony_ci	  from there. One use case is n810's keypad LEDs that could
9162306a36Sopenharmony_ci	  be triggered by this trigger when user slides up to show
9262306a36Sopenharmony_ci	  keypad.
9362306a36Sopenharmony_ci
9462306a36Sopenharmony_ci	  If unsure, say N.
9562306a36Sopenharmony_ci
9662306a36Sopenharmony_ciconfig LEDS_TRIGGER_DEFAULT_ON
9762306a36Sopenharmony_ci	tristate "LED Default ON Trigger"
9862306a36Sopenharmony_ci	help
9962306a36Sopenharmony_ci	  This allows LEDs to be initialised in the ON state.
10062306a36Sopenharmony_ci	  If unsure, say Y.
10162306a36Sopenharmony_ci
10262306a36Sopenharmony_cicomment "iptables trigger is under Netfilter config (LED target)"
10362306a36Sopenharmony_ci	depends on LEDS_TRIGGERS
10462306a36Sopenharmony_ci
10562306a36Sopenharmony_ciconfig LEDS_TRIGGER_TRANSIENT
10662306a36Sopenharmony_ci	tristate "LED Transient Trigger"
10762306a36Sopenharmony_ci	help
10862306a36Sopenharmony_ci	  This allows one time activation of a transient state on
10962306a36Sopenharmony_ci	  GPIO/PWM based hardware.
11062306a36Sopenharmony_ci	  If unsure, say Y.
11162306a36Sopenharmony_ci
11262306a36Sopenharmony_ciconfig LEDS_TRIGGER_CAMERA
11362306a36Sopenharmony_ci	tristate "LED Camera Flash/Torch Trigger"
11462306a36Sopenharmony_ci	help
11562306a36Sopenharmony_ci	  This allows LEDs to be controlled as a camera flash/torch device.
11662306a36Sopenharmony_ci	  This enables direct flash/torch on/off by the driver, kernel space.
11762306a36Sopenharmony_ci	  If unsure, say Y.
11862306a36Sopenharmony_ci
11962306a36Sopenharmony_ciconfig LEDS_TRIGGER_PANIC
12062306a36Sopenharmony_ci	bool "LED Panic Trigger"
12162306a36Sopenharmony_ci	help
12262306a36Sopenharmony_ci	  This allows LEDs to be configured to blink on a kernel panic.
12362306a36Sopenharmony_ci	  Enabling this option will allow to mark certain LEDs as panic indicators,
12462306a36Sopenharmony_ci	  allowing to blink them on a kernel panic, even if they are set to
12562306a36Sopenharmony_ci	  a different trigger.
12662306a36Sopenharmony_ci	  If unsure, say Y.
12762306a36Sopenharmony_ci
12862306a36Sopenharmony_ciconfig LEDS_TRIGGER_NETDEV
12962306a36Sopenharmony_ci	tristate "LED Netdev Trigger"
13062306a36Sopenharmony_ci	depends on NET
13162306a36Sopenharmony_ci	help
13262306a36Sopenharmony_ci	  This allows LEDs to be controlled by network device activity.
13362306a36Sopenharmony_ci	  If unsure, say Y.
13462306a36Sopenharmony_ci
13562306a36Sopenharmony_ciconfig LEDS_TRIGGER_PATTERN
13662306a36Sopenharmony_ci	tristate "LED Pattern Trigger"
13762306a36Sopenharmony_ci	help
13862306a36Sopenharmony_ci	  This allows LEDs to be controlled by a software or hardware pattern
13962306a36Sopenharmony_ci	  which is a series of tuples, of brightness and duration (ms).
14062306a36Sopenharmony_ci	  If unsure, say N
14162306a36Sopenharmony_ci
14262306a36Sopenharmony_ciconfig LEDS_TRIGGER_AUDIO
14362306a36Sopenharmony_ci	tristate "Audio Mute LED Trigger"
14462306a36Sopenharmony_ci	help
14562306a36Sopenharmony_ci	  This allows LEDs to be controlled by audio drivers for following
14662306a36Sopenharmony_ci	  the audio mute and mic-mute changes.
14762306a36Sopenharmony_ci	  If unsure, say N
14862306a36Sopenharmony_ci
14962306a36Sopenharmony_ciconfig LEDS_TRIGGER_TTY
15062306a36Sopenharmony_ci	tristate "LED Trigger for TTY devices"
15162306a36Sopenharmony_ci	depends on TTY
15262306a36Sopenharmony_ci	help
15362306a36Sopenharmony_ci	  This allows LEDs to be controlled by activity on ttys which includes
15462306a36Sopenharmony_ci	  serial devices like /dev/ttyS0.
15562306a36Sopenharmony_ci
15662306a36Sopenharmony_ci	  When build as a module this driver will be called ledtrig-tty.
15762306a36Sopenharmony_ci
15862306a36Sopenharmony_ciendif # LEDS_TRIGGERS
159