1config LEDS_GPIO_REGISTER
2	bool
3	help
4	  This option provides the function gpio_led_register_device.
5	  As this function is used by arch code it must not be compiled as a
6	  module.
7
8menuconfig NEW_LEDS
9	bool "LED Support"
10	help
11	  Say Y to enable Linux LED support.  This allows control of supported
12	  LEDs from both userspace and optionally, by kernel events (triggers).
13
14	  This is not related to standard keyboard LEDs which are controlled
15	  via the input system.
16
17if NEW_LEDS
18
19config LEDS_CLASS
20	tristate "LED Class Support"
21	help
22	  This option enables the led sysfs class in /sys/class/leds.  You'll
23	  need this to do anything useful with LEDs.  If unsure, say N.
24
25config LEDS_CLASS_FLASH
26	tristate "LED Flash Class Support"
27	depends on LEDS_CLASS
28	help
29	  This option enables the flash led sysfs class in /sys/class/leds.
30	  It wrapps LED Class and adds flash LEDs specific sysfs attributes
31	  and kernel internal API to it. You'll need this to provide support
32	  for the flash related features of a LED device. It can be built
33	  as a module.
34
35comment "LED drivers"
36
37config LEDS_88PM860X
38	tristate "LED Support for Marvell 88PM860x PMIC"
39	depends on LEDS_CLASS
40	depends on MFD_88PM860X
41	help
42	  This option enables support for on-chip LED drivers found on Marvell
43	  Semiconductor 88PM8606 PMIC.
44
45config LEDS_LM3530
46	tristate "LCD Backlight driver for LM3530"
47	depends on LEDS_CLASS
48	depends on I2C
49	help
50	  This option enables support for the LCD backlight using
51	  LM3530 ambient light sensor chip. This ALS chip can be
52	  controlled manually or using PWM input or using ambient
53	  light automatically.
54
55config LEDS_LM3533
56	tristate "LED support for LM3533"
57	depends on LEDS_CLASS
58	depends on MFD_LM3533
59	help
60	  This option enables support for the LEDs on National Semiconductor /
61	  TI LM3533 Lighting Power chips.
62
63	  The LEDs can be controlled directly, through PWM input, or by the
64	  ambient-light-sensor interface. The chip supports
65	  hardware-accelerated blinking with maximum on and off periods of 9.8
66	  and 77 seconds respectively.
67
68config LEDS_LM3642
69	tristate "LED support for LM3642 Chip"
70	depends on LEDS_CLASS && I2C
71	select REGMAP_I2C
72	help
73	  This option enables support for LEDs connected to LM3642.
74	  The LM3642 is a 4MHz fixed-frequency synchronous boost
75	  converter plus 1.5A constant current driver for a high-current
76	  white LED.
77
78
79config LEDS_LOCOMO
80	tristate "LED Support for Locomo device"
81	depends on LEDS_CLASS
82	depends on SHARP_LOCOMO
83	help
84	  This option enables support for the LEDs on Sharp Locomo.
85	  Zaurus models SL-5500 and SL-5600.
86
87config LEDS_MIKROTIK_RB532
88	tristate "LED Support for Mikrotik Routerboard 532"
89	depends on LEDS_CLASS
90	depends on MIKROTIK_RB532
91	help
92	  This option enables support for the so called "User LED" of
93	  Mikrotik's Routerboard 532.
94
95config LEDS_S3C24XX
96	tristate "LED Support for Samsung S3C24XX GPIO LEDs"
97	depends on LEDS_CLASS
98	depends on ARCH_S3C24XX
99	help
100	  This option enables support for LEDs connected to GPIO lines
101	  on Samsung S3C24XX series CPUs, such as the S3C2410 and S3C2440.
102
103config LEDS_NET48XX
104	tristate "LED Support for Soekris net48xx series Error LED"
105	depends on LEDS_CLASS
106	depends on SCx200_GPIO
107	help
108	  This option enables support for the Soekris net4801 and net4826 error
109	  LED.
110
111config LEDS_FSG
112	tristate "LED Support for the Freecom FSG-3"
113	depends on LEDS_CLASS
114	depends on MACH_FSG
115	help
116	  This option enables support for the LEDs on the Freecom FSG-3.
117
118config LEDS_WRAP
119	tristate "LED Support for the WRAP series LEDs"
120	depends on LEDS_CLASS
121	depends on SCx200_GPIO
122	help
123	  This option enables support for the PCEngines WRAP programmable LEDs.
124
125config LEDS_COBALT_QUBE
126	tristate "LED Support for the Cobalt Qube series front LED"
127	depends on LEDS_CLASS
128	depends on MIPS_COBALT
129	help
130	  This option enables support for the front LED on Cobalt Qube series
131
132config LEDS_COBALT_RAQ
133	bool "LED Support for the Cobalt Raq series"
134	depends on LEDS_CLASS=y && MIPS_COBALT
135	select LEDS_TRIGGERS
136	help
137	  This option enables support for the Cobalt Raq series LEDs.
138
139config LEDS_SUNFIRE
140	tristate "LED support for SunFire servers."
141	depends on LEDS_CLASS
142	depends on SPARC64
143	select LEDS_TRIGGERS
144	help
145	  This option enables support for the Left, Middle, and Right
146	  LEDs on the I/O and CPU boards of SunFire UltraSPARC servers.
147
148config LEDS_IPAQ_MICRO
149	tristate "LED Support for the Compaq iPAQ h3xxx"
150	depends on MFD_IPAQ_MICRO
151	help
152	  Choose this option if you want to use the notification LED on
153	  Compaq/HP iPAQ h3100 and h3600.
154
155config LEDS_HP6XX
156	tristate "LED Support for the HP Jornada 6xx"
157	depends on LEDS_CLASS
158	depends on SH_HP6XX
159	help
160	  This option enables LED support for the handheld
161	  HP Jornada 620/660/680/690.
162
163config LEDS_PCA9532
164	tristate "LED driver for PCA9532 dimmer"
165	depends on LEDS_CLASS
166	depends on I2C && INPUT
167	help
168	  This option enables support for NXP pca9532
169	  LED controller. It is generally only useful
170	  as a platform driver
171
172config LEDS_PCA9532_GPIO
173	bool "Enable GPIO support for PCA9532"
174	depends on LEDS_PCA9532
175	depends on GPIOLIB
176	help
177	  Allow unused pins on PCA9532 to be used as gpio.
178
179	  To use a pin as gpio pca9532_type in pca9532_platform data needs to
180	  set to PCA9532_TYPE_GPIO.
181
182config LEDS_GPIO
183	tristate "LED Support for GPIO connected LEDs"
184	depends on LEDS_CLASS
185	depends on GPIOLIB
186	help
187	  This option enables support for the LEDs connected to GPIO
188	  outputs. To be useful the particular board must have LEDs
189	  and they must be connected to the GPIO lines.  The LEDs must be
190	  defined as platform devices and/or OpenFirmware platform devices.
191	  The code to use these bindings can be selected below.
192
193config LEDS_LP3944
194	tristate "LED Support for N.S. LP3944 (Fun Light) I2C chip"
195	depends on LEDS_CLASS
196	depends on I2C
197	help
198	  This option enables support for LEDs connected to the National
199	  Semiconductor LP3944 Lighting Management Unit (LMU) also known as
200	  Fun Light Chip.
201
202	  To compile this driver as a module, choose M here: the
203	  module will be called leds-lp3944.
204
205config LEDS_LP55XX_COMMON
206	tristate "Common Driver for TI/National LP5521/5523/55231/5562/8501"
207	depends on LEDS_LP5521 || LEDS_LP5523 || LEDS_LP5562 || LEDS_LP8501
208	select FW_LOADER
209	help
210	  This option supports common operations for LP5521/5523/55231/5562/8501
211	  devices.
212
213config LEDS_LP5521
214	tristate "LED Support for N.S. LP5521 LED driver chip"
215	depends on LEDS_CLASS && I2C
216	select LEDS_LP55XX_COMMON
217	help
218	  If you say yes here you get support for the National Semiconductor
219	  LP5521 LED driver. It is 3 channel chip with programmable engines.
220	  Driver provides direct control via LED class and interface for
221	  programming the engines.
222
223config LEDS_LP5523
224	tristate "LED Support for TI/National LP5523/55231 LED driver chip"
225	depends on LEDS_CLASS && I2C
226	select LEDS_LP55XX_COMMON
227	help
228	  If you say yes here you get support for TI/National Semiconductor
229	  LP5523/55231 LED driver.
230	  It is 9 channel chip with programmable engines.
231	  Driver provides direct control via LED class and interface for
232	  programming the engines.
233
234config LEDS_LP5562
235	tristate "LED Support for TI LP5562 LED driver chip"
236	depends on LEDS_CLASS && I2C
237	select LEDS_LP55XX_COMMON
238	help
239	  If you say yes here you get support for TI LP5562 LED driver.
240	  It is 4 channels chip with programmable engines.
241	  Driver provides direct control via LED class and interface for
242	  programming the engines.
243
244config LEDS_LP8501
245	tristate "LED Support for TI LP8501 LED driver chip"
246	depends on LEDS_CLASS && I2C
247	select LEDS_LP55XX_COMMON
248	help
249	  If you say yes here you get support for TI LP8501 LED driver.
250	  It is 9 channel chip with programmable engines.
251	  Driver provides direct control via LED class and interface for
252	  programming the engines.
253	  It is similar as LP5523, but output power selection is available.
254	  And register layout and engine program schemes are different.
255
256config LEDS_LP8788
257	tristate "LED support for the TI LP8788 PMIC"
258	depends on LEDS_CLASS
259	depends on MFD_LP8788
260	help
261	  This option enables support for the Keyboard LEDs on the LP8788 PMIC.
262
263config LEDS_LP8860
264	tristate "LED support for the TI LP8860 4 channel LED driver"
265	depends on LEDS_CLASS && I2C
266	select REGMAP_I2C
267	help
268	  If you say yes here you get support for the TI LP8860 4 channel
269	  LED driver.
270	  This option enables support for the display cluster LEDs
271	  on the LP8860 4 channel LED driver using the I2C communication
272	  bus.
273
274config LEDS_CLEVO_MAIL
275	tristate "Mail LED on Clevo notebook"
276	depends on LEDS_CLASS
277	depends on X86 && SERIO_I8042 && DMI
278	help
279	  This driver makes the mail LED accessible from userspace
280	  programs through the leds subsystem. This LED have three
281	  known mode: off, blink at 0.5Hz and blink at 1Hz.
282
283	  The driver supports two kinds of interface: using ledtrig-timer
284	  or through /sys/class/leds/clevo::mail/brightness. As this LED
285	  cannot change it's brightness it blinks instead. The brightness
286	  value 0 means off, 1..127 means blink at 0.5Hz and 128..255 means
287	  blink at 1Hz.
288
289	  This module can drive the mail LED for the following notebooks:
290
291	  	Clevo D400P
292	  	Clevo D410J
293	  	Clevo D410V
294	  	Clevo D400V/D470V (not tested, but might work)
295	  	Clevo M540N
296	  	Clevo M5x0N (not tested, but might work)
297	  	Positivo Mobile (Clevo M5x0V)
298
299	  If your model is not listed here you can try the "nodetect"
300	  module parameter.
301
302	  To compile this driver as a module, choose M here: the
303	  module will be called leds-clevo-mail.
304
305config LEDS_PCA955X
306	tristate "LED Support for PCA955x I2C chips"
307	depends on LEDS_CLASS
308	depends on I2C
309	help
310	  This option enables support for LEDs connected to PCA955x
311	  LED driver chips accessed via the I2C bus.  Supported
312	  devices include PCA9550, PCA9551, PCA9552, and PCA9553.
313
314config LEDS_PCA963X
315	tristate "LED support for PCA963x I2C chip"
316	depends on LEDS_CLASS
317	depends on I2C
318	help
319	  This option enables support for LEDs connected to the PCA963x
320	  LED driver chip accessed via the I2C bus. Supported
321	  devices include PCA9633 and PCA9634
322
323config LEDS_WM831X_STATUS
324	tristate "LED support for status LEDs on WM831x PMICs"
325	depends on LEDS_CLASS
326	depends on MFD_WM831X
327	help
328	  This option enables support for the status LEDs of the WM831x
329          series of PMICs.
330
331config LEDS_WM8350
332	tristate "LED Support for WM8350 AudioPlus PMIC"
333	depends on LEDS_CLASS
334	depends on MFD_WM8350
335	help
336	  This option enables support for LEDs driven by the Wolfson
337	  Microelectronics WM8350 AudioPlus PMIC.
338
339config LEDS_DA903X
340	tristate "LED Support for DA9030/DA9034 PMIC"
341	depends on LEDS_CLASS
342	depends on PMIC_DA903X
343	help
344	  This option enables support for on-chip LED drivers found
345	  on Dialog Semiconductor DA9030/DA9034 PMICs.
346
347config LEDS_DA9052
348	tristate "Dialog DA9052/DA9053 LEDS"
349	depends on LEDS_CLASS
350	depends on PMIC_DA9052
351	help
352	  This option enables support for on-chip LED drivers found
353	  on Dialog Semiconductor DA9052-BC and DA9053-AA/Bx PMICs.
354
355config LEDS_DAC124S085
356	tristate "LED Support for DAC124S085 SPI DAC"
357	depends on LEDS_CLASS
358	depends on SPI
359	help
360	  This option enables support for DAC124S085 SPI DAC from NatSemi,
361	  which can be used to control up to four LEDs.
362
363config LEDS_PWM
364	tristate "PWM driven LED Support"
365	depends on LEDS_CLASS
366	depends on PWM
367	help
368	  This option enables support for pwm driven LEDs
369
370config LEDS_REGULATOR
371	tristate "REGULATOR driven LED support"
372	depends on LEDS_CLASS
373	depends on REGULATOR
374	help
375	  This option enables support for regulator driven LEDs.
376
377config LEDS_BD2802
378	tristate "LED driver for BD2802 RGB LED"
379	depends on LEDS_CLASS
380	depends on I2C
381	help
382	  This option enables support for BD2802GU RGB LED driver chips
383	  accessed via the I2C bus.
384
385config LEDS_INTEL_SS4200
386	tristate "LED driver for Intel NAS SS4200 series"
387	depends on LEDS_CLASS
388	depends on PCI && DMI
389	help
390	  This option enables support for the Intel SS4200 series of
391	  Network Attached Storage servers.  You may control the hard
392	  drive or power LEDs on the front panel.  Using this driver
393	  can stop the front LED from blinking after startup.
394
395config LEDS_LT3593
396	tristate "LED driver for LT3593 controllers"
397	depends on LEDS_CLASS
398	depends on GPIOLIB
399	help
400	  This option enables support for LEDs driven by a Linear Technology
401	  LT3593 controller. This controller uses a special one-wire pulse
402	  coding protocol to set the brightness.
403
404config LEDS_ADP5520
405	tristate "LED Support for ADP5520/ADP5501 PMIC"
406	depends on LEDS_CLASS
407	depends on PMIC_ADP5520
408	help
409	  This option enables support for on-chip LED drivers found
410	  on Analog Devices ADP5520/ADP5501 PMICs.
411
412	  To compile this driver as a module, choose M here: the module will
413	  be called leds-adp5520.
414
415config LEDS_DELL_NETBOOKS
416	tristate "External LED on Dell Business Netbooks"
417	depends on LEDS_CLASS
418	depends on X86 && ACPI_WMI
419	help
420	  This adds support for the Latitude 2100 and similar
421	  notebooks that have an external LED.
422
423config LEDS_MC13783
424	tristate "LED Support for MC13XXX PMIC"
425	depends on LEDS_CLASS
426	depends on MFD_MC13XXX
427	help
428	  This option enable support for on-chip LED drivers found
429	  on Freescale Semiconductor MC13783/MC13892/MC34708 PMIC.
430
431config LEDS_NS2
432	tristate "LED support for Network Space v2 GPIO LEDs"
433	depends on LEDS_CLASS
434	depends on MACH_KIRKWOOD
435	default y
436	help
437	  This option enable support for the dual-GPIO LED found on the
438	  Network Space v2 board (and parents). This include Internet Space v2,
439	  Network Space (Max) v2 and d2 Network v2 boards.
440
441config LEDS_NETXBIG
442	tristate "LED support for Big Network series LEDs"
443	depends on LEDS_CLASS
444	depends on MACH_KIRKWOOD
445	default y
446	help
447	  This option enable support for LEDs found on the LaCie 2Big
448	  and 5Big Network v2 boards. The LEDs are wired to a CPLD and are
449	  controlled through a GPIO extension bus.
450
451config LEDS_ASIC3
452	bool "LED support for the HTC ASIC3"
453	depends on LEDS_CLASS=y
454	depends on MFD_ASIC3
455	default y
456	help
457	  This option enables support for the LEDs on the HTC ASIC3. The HTC
458	  ASIC3 LED GPIOs are inputs, not outputs, thus the leds-gpio driver
459	  cannot be used. This driver supports hardware blinking with an on+off
460	  period from 62ms to 125s. Say Y to enable LEDs on the HP iPAQ hx4700.
461
462config LEDS_TCA6507
463	tristate "LED Support for TCA6507 I2C chip"
464	depends on LEDS_CLASS && I2C
465	help
466	  This option enables support for LEDs connected to TC6507
467	  LED driver chips accessed via the I2C bus.
468	  Driver support brightness control and hardware-assisted blinking.
469
470config LEDS_MAX8997
471	tristate "LED support for MAX8997 PMIC"
472	depends on LEDS_CLASS && MFD_MAX8997
473	help
474	  This option enables support for on-chip LED drivers on
475	  MAXIM MAX8997 PMIC.
476
477config LEDS_LM355x
478	tristate "LED support for LM355x Chips, LM3554 and LM3556"
479	depends on LEDS_CLASS && I2C
480	select REGMAP_I2C
481	help
482	  This option enables support for LEDs connected to LM355x.
483	  LM355x includes Torch, Flash and Indicator functions.
484
485config LEDS_OT200
486	tristate "LED support for the Bachmann OT200"
487	depends on LEDS_CLASS && HAS_IOMEM && (X86_32 || COMPILE_TEST)
488	help
489	  This option enables support for the LEDs on the Bachmann OT200.
490	  Say Y to enable LEDs on the Bachmann OT200.
491
492config LEDS_MENF21BMC
493	tristate "LED support for the MEN 14F021P00 BMC"
494	depends on LEDS_CLASS && MFD_MENF21BMC
495	help
496	  Say Y here to include support for the MEN 14F021P00 BMC LEDs.
497
498	  This driver can also be built as a module. If so the module
499	  will be called leds-menf21bmc.
500
501comment "LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)"
502
503config LEDS_BLINKM
504	tristate "LED support for the BlinkM I2C RGB LED"
505	depends on LEDS_CLASS
506	depends on I2C
507	help
508	  This option enables support for the BlinkM RGB LED connected
509	  through I2C. Say Y to enable support for the BlinkM LED.
510
511config LEDS_SYSCON
512	bool "LED support for LEDs on system controllers"
513	depends on LEDS_CLASS=y
514	depends on MFD_SYSCON
515	depends on OF
516	help
517	  This option enabled support for the LEDs on syscon type
518	  devices. This will only work with device tree enabled
519	  devices.
520
521config LEDS_VERSATILE
522	tristate "LED support for the ARM Versatile and RealView"
523	depends on ARCH_REALVIEW || ARCH_VERSATILE
524	depends on LEDS_CLASS
525	help
526	  This option enabled support for the LEDs on the ARM Versatile
527	  and RealView boards. Say Y to enabled these.
528
529config LEDS_PM8941_WLED
530	tristate "LED support for the Qualcomm PM8941 WLED block"
531	depends on LEDS_CLASS
532	select REGMAP
533	help
534	  This option enables support for the 'White' LED block
535	  on Qualcomm PM8941 PMICs.
536
537comment "LED Triggers"
538source "drivers/leds/trigger/Kconfig"
539
540endif # NEW_LEDS
541