Back to home page

OSCL-LXR

 
 

    


0001 -*- org -*-
0002 
0003 * On/off LEDs should have max_brightness of 1
0004 * Get rid of enum led_brightness
0005 
0006 It is really an integer, as maximum is configurable. Get rid of it, or
0007 make it into typedef or something.
0008 
0009 * Review atomicity requirements in LED subsystem
0010 
0011 Calls that may and that may not block are mixed in same structure, and
0012 semantics is sometimes non-intuitive. (For example blink callback may
0013 not sleep.) Review the requirements for any bugs and document them
0014 clearly.
0015 
0016 * LED names are still a mess
0017 
0018 No two LEDs have same name, so the names are probably unusable for the
0019 userland. Nudge authors into creating common LED names for common
0020 functionality.
0021 
0022 ? Perhaps check for known LED names during boot, and warn if there are
0023 LEDs not on the list?
0024 
0025 * Split drivers into subdirectories
0026 
0027 The number of drivers is getting big, and driver for on/off LED on a
0028 i/o port is really quite different from camera flash LED, which is
0029 really different from driver for RGB color LED that can run its own
0030 microcode. Split the drivers somehow.
0031 
0032 * Figure out what to do with RGB leds
0033 
0034 Multicolor is a bit too abstract. Yes, we can have
0035 Green-Magenta-Ultraviolet LED, but so far all the LEDs we support are
0036 RGB, and not even RGB-White or RGB-Yellow variants emerged.
0037 
0038 Multicolor is not a good fit for RGB LED. It does not really know
0039 about LED color.  In particular, there's no way to make LED "white".
0040 
0041 Userspace is interested in knowing "this LED can produce arbitrary
0042 color", which not all multicolor LEDs can.
0043 
0044         Proposal: let's add "rgb" to led_colors in drivers/leds/led-core.c,
0045         add corresponding device tree defines, and use that, instead of
0046         multicolor for RGB LEDs.
0047 
0048         We really need to do that now; "white" stuff can wait.
0049 
0050 RGB LEDs are quite common, and it would be good to be able to turn LED
0051 white and to turn it into any arbitrary color. It is essential that
0052 userspace is able to set arbitrary colors, and it might be good to
0053 have that ability from kernel, too... to allow full-color triggers.
0054 
0055 * Command line utility to manipulate the LEDs?
0056 
0057 /sys interface is not really suitable to use by hand, should we have
0058 an utility to perform LED control?
0059 
0060 In particular, LED names are still a mess (see above) and utility
0061 could help there by presenting both old and new names while we clean
0062 them up.
0063 
0064 In future, I'd like utility to accept both old and new names while we
0065 clean them up.
0066 
0067 It would be also nice to have useful listing mode -- name, type,
0068 current brightness/trigger...
0069 
0070 In future, it would be good to be able to set rgb led to particular
0071 color.
0072 
0073 And probably user-friendly interface to access LEDs for particular
0074 ethernet interface would be nice.
0075