1 # SPDX-License-Identifier: GPL-2.0-only
2 menuconfig 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 
10 if LEDS_TRIGGERS
11 
12 config 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 
22 config 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 
35 config 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 
42 config 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 
49 config 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 
57 config 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 
65 config 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 
75 config 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 
83 config 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 
93 config 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 
99 comment "iptables trigger is under Netfilter config (LED target)"
100 	depends on LEDS_TRIGGERS
101 
102 config 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 
109 config 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 
116 config 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 
125 config 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 
132 config 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 
139 config LEDS_TRIGGER_TTY
140 	tristate "LED Trigger for TTY devices"
141 	depends on TTY
142 	help
143 	  This allows LEDs to be controlled by activity on ttys which includes
144 	  serial devices like /dev/ttyS0.
145 
146 	  When build as a module this driver will be called ledtrig-tty.
147 
148 config LEDS_TRIGGER_INPUT_EVENTS
149 	tristate "LED Input events trigger"
150 	depends on INPUT
151 	help
152 	  Turn LEDs on when there is input (/dev/input/event*) activity and turn
153 	  them back off again after there has been no activity for 5 seconds.
154 
155 	  This is primarily intended to control LEDs which are a backlight for
156 	  capacitive touch-buttons, such as e.g. the menu / home / back buttons
157 	  found on the bottom bezel of many older smartphones and tablets.
158 
159 	  This can also be used to turn on the keyboard backlight LED on
160 	  input events and turn the keyboard backlight off again when idle.
161 
162 	  When build as a module this driver will be called ledtrig-input-events.
163 
164 endif # LEDS_TRIGGERS
165