xref: /linux/drivers/leds/TODO (revision da1d9caf95def6f0320819cf941c9fd1069ba9e1)
1-*- org -*-
2
3* On/off LEDs should have max_brightness of 1
4* Get rid of enum led_brightness
5
6It is really an integer, as maximum is configurable. Get rid of it, or
7make it into typedef or something.
8
9* Review atomicity requirements in LED subsystem
10
11Calls that may and that may not block are mixed in same structure, and
12semantics is sometimes non-intuitive. (For example blink callback may
13not sleep.) Review the requirements for any bugs and document them
14clearly.
15
16* LED names are still a mess
17
18No two LEDs have same name, so the names are probably unusable for the
19userland. Nudge authors into creating common LED names for common
20functionality.
21
22? Perhaps check for known LED names during boot, and warn if there are
23LEDs not on the list?
24
25* Split drivers into subdirectories
26
27The number of drivers is getting big, and driver for on/off LED on a
28i/o port is really quite different from camera flash LED, which is
29really different from driver for RGB color LED that can run its own
30microcode. Split the drivers somehow.
31
32* Figure out what to do with RGB leds
33
34Multicolor is a bit too abstract. Yes, we can have
35Green-Magenta-Ultraviolet LED, but so far all the LEDs we support are
36RGB, and not even RGB-White or RGB-Yellow variants emerged.
37
38Multicolor is not a good fit for RGB LED. It does not really know
39about LED color.  In particular, there's no way to make LED "white".
40
41Userspace is interested in knowing "this LED can produce arbitrary
42color", which not all multicolor LEDs can.
43
44	Proposal: let's add "rgb" to led_colors in drivers/leds/led-core.c,
45	add corresponding device tree defines, and use that, instead of
46	multicolor for RGB LEDs.
47
48	We really need to do that now; "white" stuff can wait.
49
50RGB LEDs are quite common, and it would be good to be able to turn LED
51white and to turn it into any arbitrary color. It is essential that
52userspace is able to set arbitrary colors, and it might be good to
53have that ability from kernel, too... to allow full-color triggers.
54
55* Command line utility to manipulate the LEDs?
56
57/sys interface is not really suitable to use by hand, should we have
58an utility to perform LED control?
59
60In particular, LED names are still a mess (see above) and utility
61could help there by presenting both old and new names while we clean
62them up.
63
64In future, I'd like utility to accept both old and new names while we
65clean them up.
66
67It would be also nice to have useful listing mode -- name, type,
68current brightness/trigger...
69
70In future, it would be good to be able to set rgb led to particular
71color.
72
73And probably user-friendly interface to access LEDs for particular
74ethernet interface would be nice.
75
76