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	help
87	  This allows LEDs to be controlled by gpio events. It's good
88	  when using gpios as switches and triggering the needed LEDs
89	  from there. Triggers are defined as device properties.
90
91	  If unsure, say N.
92
93config LEDS_TRIGGER_DEFAULT_ON
94	tristate "LED Default ON Trigger"
95	help
96	  This allows LEDs to be initialised in the ON state.
97	  If unsure, say Y.
98
99comment "iptables trigger is under Netfilter config (LED target)"
100	depends on LEDS_TRIGGERS
101
102config LEDS_TRIGGER_TRANSIENT
103	tristate "LED Transient Trigger"
104	help
105	  This allows one time activation of a transient state on
106	  GPIO/PWM based hardware.
107	  If unsure, say Y.
108
109config LEDS_TRIGGER_CAMERA
110	tristate "LED Camera Flash/Torch Trigger"
111	help
112	  This allows LEDs to be controlled as a camera flash/torch device.
113	  This enables direct flash/torch on/off by the driver, kernel space.
114	  If unsure, say Y.
115
116config LEDS_TRIGGER_PANIC
117	bool "LED Panic Trigger"
118	help
119	  This allows LEDs to be configured to blink on a kernel panic.
120	  Enabling this option will allow to mark certain LEDs as panic indicators,
121	  allowing to blink them on a kernel panic, even if they are set to
122	  a different trigger.
123	  If unsure, say Y.
124
125config LEDS_TRIGGER_NETDEV
126	tristate "LED Netdev Trigger"
127	depends on NET
128	help
129	  This allows LEDs to be controlled by network device activity.
130	  If unsure, say Y.
131
132config LEDS_TRIGGER_PATTERN
133	tristate "LED Pattern Trigger"
134	help
135	  This allows LEDs to be controlled by a software or hardware pattern
136	  which is a series of tuples, of brightness and duration (ms).
137	  If unsure, say N
138
139config LEDS_TRIGGER_AUDIO
140	tristate "Audio Mute LED Trigger"
141	help
142	  This allows LEDs to be controlled by audio drivers for following
143	  the audio mute and mic-mute changes.
144	  If unsure, say N
145
146config LEDS_TRIGGER_TTY
147	tristate "LED Trigger for TTY devices"
148	depends on TTY
149	help
150	  This allows LEDs to be controlled by activity on ttys which includes
151	  serial devices like /dev/ttyS0.
152
153	  When build as a module this driver will be called ledtrig-tty.
154
155endif # LEDS_TRIGGERS
156