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 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	depends on !PREEMPT_RT
68	help
69	  This allows LEDs to be controlled by active CPUs. This shows
70	  the active CPUs across an array of LEDs so you can see which
71	  CPUs are active on the system at any given moment.
72
73	  If unsure, say N.
74
75config LEDS_TRIGGER_ACTIVITY
76	tristate "LED activity Trigger"
77	help
78	  This allows LEDs to be controlled by an immediate CPU usage.
79	  The flash frequency and duty cycle varies from faint flashes to
80	  intense brightness depending on the instant CPU load.
81	  If unsure, say N.
82
83config LEDS_TRIGGER_GPIO
84	tristate "LED GPIO Trigger"
85	depends on GPIOLIB || COMPILE_TEST
86	depends on BROKEN
87	help
88	  This allows LEDs to be controlled by gpio events. It's good
89	  when using gpios as switches and triggering the needed LEDs
90	  from there. One use case is n810's keypad LEDs that could
91	  be triggered by this trigger when user slides up to show
92	  keypad.
93
94	  If unsure, say N.
95
96config LEDS_TRIGGER_DEFAULT_ON
97	tristate "LED Default ON Trigger"
98	help
99	  This allows LEDs to be initialised in the ON state.
100	  If unsure, say Y.
101
102comment "iptables trigger is under Netfilter config (LED target)"
103	depends on LEDS_TRIGGERS
104
105config LEDS_TRIGGER_TRANSIENT
106	tristate "LED Transient Trigger"
107	help
108	  This allows one time activation of a transient state on
109	  GPIO/PWM based hardware.
110	  If unsure, say Y.
111
112config LEDS_TRIGGER_CAMERA
113	tristate "LED Camera Flash/Torch Trigger"
114	help
115	  This allows LEDs to be controlled as a camera flash/torch device.
116	  This enables direct flash/torch on/off by the driver, kernel space.
117	  If unsure, say Y.
118
119config LEDS_TRIGGER_PANIC
120	bool "LED Panic Trigger"
121	help
122	  This allows LEDs to be configured to blink on a kernel panic.
123	  Enabling this option will allow to mark certain LEDs as panic indicators,
124	  allowing to blink them on a kernel panic, even if they are set to
125	  a different trigger.
126	  If unsure, say Y.
127
128config LEDS_TRIGGER_NETDEV
129	tristate "LED Netdev Trigger"
130	depends on NET
131	help
132	  This allows LEDs to be controlled by network device activity.
133	  If unsure, say Y.
134
135config LEDS_TRIGGER_PATTERN
136	tristate "LED Pattern Trigger"
137	help
138	  This allows LEDs to be controlled by a software or hardware pattern
139	  which is a series of tuples, of brightness and duration (ms).
140	  If unsure, say N
141
142config LEDS_TRIGGER_AUDIO
143	tristate "Audio Mute LED Trigger"
144	help
145	  This allows LEDs to be controlled by audio drivers for following
146	  the audio mute and mic-mute changes.
147	  If unsure, say N
148
149config LEDS_TRIGGER_TTY
150	tristate "LED Trigger for TTY devices"
151	depends on TTY
152	help
153	  This allows LEDs to be controlled by activity on ttys which includes
154	  serial devices like /dev/ttyS0.
155
156	  When build as a module this driver will be called ledtrig-tty.
157
158endif # LEDS_TRIGGERS
159