mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-10-31 08:44:41 +00:00 
			
		
		
		
	leds: TODO: Add documentation about possible subsystem improvements
Help welcome :-). Signed-off-by: Pavel Machek <pavel@ucw.cz>
This commit is contained in:
		
							parent
							
								
									7ac5338c3c
								
							
						
					
					
						commit
						364682d1bc
					
				
					 1 changed files with 75 additions and 0 deletions
				
			
		
							
								
								
									
										75
									
								
								drivers/leds/TODO
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										75
									
								
								drivers/leds/TODO
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,75 @@ | |||
| -*- org -*- | ||||
| 
 | ||||
| * On/off LEDs should have max_brightness of 1 | ||||
| * Get rid of enum led_brightness | ||||
| 
 | ||||
| It is really an integer, as maximum is configurable. Get rid of it, or | ||||
| make it into typedef or something. | ||||
| 
 | ||||
| * Review atomicity requirements in LED subsystem | ||||
| 
 | ||||
| Calls that may and that may not block are mixed in same structure, and | ||||
| semantics is sometimes non-intuitive. (For example blink callback may | ||||
| not sleep.) Review the requirements for any bugs and document them | ||||
| clearly. | ||||
| 
 | ||||
| * LED names are still a mess | ||||
| 
 | ||||
| No two LEDs have same name, so the names are probably unusable for the | ||||
| userland. Nudge authors into creating common LED names for common | ||||
| functionality. | ||||
| 
 | ||||
| ? Perhaps check for known LED names during boot, and warn if there are | ||||
| LEDs not on the list? | ||||
| 
 | ||||
| * Split drivers into subdirectories | ||||
| 
 | ||||
| The number of drivers is getting big, and driver for on/off LED on a | ||||
| i/o port is really quite different from camera flash LED, which is | ||||
| really different from driver for RGB color LED that can run its own | ||||
| microcode. Split the drivers somehow. | ||||
| 
 | ||||
| * Figure out what to do with RGB leds | ||||
| 
 | ||||
| Multicolor is a bit too abstract. Yes, we can have | ||||
| Green-Magenta-Ultraviolet LED, but so far all the LEDs we support are | ||||
| RGB, and not even RGB-White or RGB-Yellow variants emerged. | ||||
| 
 | ||||
| Multicolor is not a good fit for RGB LED. It does not really know | ||||
| about LED color.  In particular, there's no way to make LED "white". | ||||
| 
 | ||||
| Userspace is interested in knowing "this LED can produce arbitrary | ||||
| color", which not all multicolor LEDs can. | ||||
| 
 | ||||
| 	Proposal: let's add "rgb" to led_colors in drivers/leds/led-core.c, | ||||
| 	add corresponding device tree defines, and use that, instead of | ||||
| 	multicolor for RGB LEDs. | ||||
| 
 | ||||
| 	We really need to do that now; "white" stuff can wait. | ||||
| 
 | ||||
| RGB LEDs are quite common, and it would be good to be able to turn LED | ||||
| white and to turn it into any arbitrary color. It is essential that | ||||
| userspace is able to set arbitrary colors, and it might be good to | ||||
| have that ability from kernel, too... to allow full-color triggers. | ||||
| 
 | ||||
| * Command line utility to manipulate the LEDs? | ||||
| 
 | ||||
| /sys interface is not really suitable to use by hand, should we have | ||||
| an utility to perform LED control? | ||||
| 
 | ||||
| In particular, LED names are still a mess (see above) and utility | ||||
| could help there by presenting both old and new names while we clean | ||||
| them up. | ||||
| 
 | ||||
| In future, I'd like utility to accept both old and new names while we | ||||
| clean them up. | ||||
| 
 | ||||
| It would be also nice to have useful listing mode -- name, type, | ||||
| current brightness/trigger... | ||||
| 
 | ||||
| In future, it would be good to be able to set rgb led to particular | ||||
| color. | ||||
| 
 | ||||
| And probably user-friendly interface to access LEDs for particular | ||||
| ethernet interface would be nice. | ||||
| 
 | ||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Pavel Machek
						Pavel Machek