1# SPDX-License-Identifier: GPL-2.0-only
2menuconfig LEDS_TRIGGERS
3	bool "LED Trigger support"
4	depends on LEDS_CLASS
5	help
6	  This option enables trigger support for the leds class.
7	  These triggers allow kernel events to drive the LEDs and can
8	  be configured via sysfs. If unsure, say Y.
9
10if LEDS_TRIGGERS
11
12config LEDS_TRIGGER_TIMER
13	tristate "LED Timer Trigger"
14	help
15	  This allows LEDs to be controlled by a programmable timer
16	  via sysfs. Some LED hardware can be programmed to start
17	  blinking the LED without any further software interaction.
18	  For more details read Documentation/leds/leds-class.rst.
19
20	  If unsure, say Y.
21
22config LEDS_TRIGGER_ONESHOT
23	tristate "LED One-shot Trigger"
24	help
25	  This allows LEDs to blink in one-shot pulses with parameters
26	  controlled via sysfs.  It's useful to notify the user on
27	  sporadic events, when there are no clear begin and end trap points,
28	  or on dense events, where this blinks the LED at constant rate if
29	  rearmed continuously.
30
31	  It also shows how to use the led_blink_set_oneshot() function.
32
33	  If unsure, say Y.
34
35config LEDS_TRIGGER_DISK
36	bool "LED Disk Trigger"
37	depends on IDE_GD_ATA || ATA
38	help
39	  This allows LEDs to be controlled by disk activity.
40	  If unsure, say Y.
41
42config LEDS_TRIGGER_MTD
43	bool "LED MTD (NAND/NOR) Trigger"
44	depends on MTD
45	help
46	  This allows LEDs to be controlled by MTD activity.
47	  If unsure, say N.
48
49config LEDS_TRIGGER_HEARTBEAT
50	tristate "LED Heartbeat Trigger"
51	help
52	  This allows LEDs to be controlled by a CPU load average.
53	  The flash frequency is a hyperbolic function of the 1-minute
54	  load average.
55	  If unsure, say Y.
56
57config LEDS_TRIGGER_BACKLIGHT
58	tristate "LED backlight Trigger"
59	help
60	  This allows LEDs to be controlled as a backlight device: they
61	  turn off and on when the display is blanked and unblanked.
62
63	  If unsure, say N.
64
65config LEDS_TRIGGER_CPU
66	bool "LED CPU Trigger"
67	help
68	  This allows LEDs to be controlled by active CPUs. This shows
69	  the active CPUs across an array of LEDs so you can see which
70	  CPUs are active on the system at any given moment.
71
72	  If unsure, say N.
73
74config LEDS_TRIGGER_ACTIVITY
75	tristate "LED activity Trigger"
76	help
77	  This allows LEDs to be controlled by an immediate CPU usage.
78	  The flash frequency and duty cycle varies from faint flashes to
79	  intense brightness depending on the instant CPU load.
80	  If unsure, say N.
81
82config LEDS_TRIGGER_GPIO
83	tristate "LED GPIO Trigger"
84	depends on GPIOLIB || COMPILE_TEST
85	help
86	  This allows LEDs to be controlled by gpio events. It's good
87	  when using gpios as switches and triggering the needed LEDs
88	  from there. One use case is n810's keypad LEDs that could
89	  be triggered by this trigger when user slides up to show
90	  keypad.
91
92	  If unsure, say N.
93
94config LEDS_TRIGGER_DEFAULT_ON
95	tristate "LED Default ON Trigger"
96	help
97	  This allows LEDs to be initialised in the ON state.
98	  If unsure, say Y.
99
100comment "iptables trigger is under Netfilter config (LED target)"
101	depends on LEDS_TRIGGERS
102
103config LEDS_TRIGGER_TRANSIENT
104	tristate "LED Transient Trigger"
105	help
106	  This allows one time activation of a transient state on
107	  GPIO/PWM based hardware.
108	  If unsure, say Y.
109
110config LEDS_TRIGGER_CAMERA
111	tristate "LED Camera Flash/Torch Trigger"
112	help
113	  This allows LEDs to be controlled as a camera flash/torch device.
114	  This enables direct flash/torch on/off by the driver, kernel space.
115	  If unsure, say Y.
116
117config LEDS_TRIGGER_PANIC
118	bool "LED Panic Trigger"
119	help
120	  This allows LEDs to be configured to blink on a kernel panic.
121	  Enabling this option will allow to mark certain LEDs as panic indicators,
122	  allowing to blink them on a kernel panic, even if they are set to
123	  a different trigger.
124	  If unsure, say Y.
125
126config LEDS_TRIGGER_NETDEV
127	tristate "LED Netdev Trigger"
128	depends on NET
129	help
130	  This allows LEDs to be controlled by network device activity.
131	  If unsure, say Y.
132
133config LEDS_TRIGGER_PATTERN
134	tristate "LED Pattern Trigger"
135	help
136	  This allows LEDs to be controlled by a software or hardware pattern
137	  which is a series of tuples, of brightness and duration (ms).
138	  If unsure, say N
139
140config LEDS_TRIGGER_AUDIO
141	tristate "Audio Mute LED Trigger"
142	help
143	  This allows LEDs to be controlled by audio drivers for following
144	  the audio mute and mic-mute changes.
145	  If unsure, say N
146
147endif # LEDS_TRIGGERS
148