TODO (2644B)
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