mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-28 20:02:17 +00:00
![Roderick Colenbrander](/assets/img/avatar_default.png)
Player LEDs are commonly found on game controllers from Nintendo and Sony to indicate a player ID across a number of LEDs. For example, "Player 2" might be indicated as "-x--" on a device with 4 LEDs where "x" means on. This patch introduces LED_FUNCTION_PLAYER1-5 defines to properly indicate player LEDs from the kernel. Until now there was no good standard, which resulted in inconsistent behavior across xpad, hid-sony, hid-wiimote and other drivers. Moving forward new drivers should use LED_FUNCTION_PLAYERx. Note: management of Player IDs is left to user space, though a kernel driver may pick a default value. Signed-off-by: Roderick Colenbrander <roderick.colenbrander@sony.com> Acked-by: Pavel Machek <pavel@ucw.cz> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
72 lines
2.3 KiB
Org Mode
72 lines
2.3 KiB
Org Mode
-*- org -*-
|
|
|
|
It is somehow important to provide consistent interface to the
|
|
userland. LED devices have one problem there, and that is naming of
|
|
directories in /sys/class/leds. It would be nice if userland would
|
|
just know right "name" for given LED function, but situation got more
|
|
complex.
|
|
|
|
Anyway, if backwards compatibility is not an issue, new code should
|
|
use one of the "good" names from this list, and you should extend the
|
|
list where applicable.
|
|
|
|
Legacy names are listed, too; in case you are writing application that
|
|
wants to use particular feature, you should probe for good name, first,
|
|
but then try the legacy ones, too.
|
|
|
|
Notice there's a list of functions in include/dt-bindings/leds/common.h .
|
|
|
|
* Gamepads and joysticks
|
|
|
|
Game controllers may feature LEDs to indicate a player number. This is commonly
|
|
used on game consoles in which multiple controllers can be connected to a system.
|
|
The "player LEDs" are then programmed with a pattern to indicate a particular
|
|
player. For example, a game controller with 4 LEDs, may be programmed with "x---"
|
|
to indicate player 1, "-x--" to indicate player 2 etcetera where "x" means on.
|
|
Input drivers can utilize the LED class to expose the individual player LEDs
|
|
of a game controller using the function "player".
|
|
Note: tracking and management of Player IDs is the responsibility of user space,
|
|
though drivers may pick a default value.
|
|
|
|
Good: "input*:*:player-{1,2,3,4,5}
|
|
|
|
* Keyboards
|
|
|
|
Good: "input*:*:capslock"
|
|
Good: "input*:*:scrolllock"
|
|
Good: "input*:*:numlock"
|
|
Legacy: "shift-key-light" (Motorola Droid 4, capslock)
|
|
|
|
Set of common keyboard LEDs, going back to PC AT or so.
|
|
|
|
Legacy: "tpacpi::thinklight" (IBM/Lenovo Thinkpads)
|
|
Legacy: "lp5523:kb{1,2,3,4,5,6}" (Nokia N900)
|
|
|
|
Frontlight/backlight of main keyboard.
|
|
|
|
Legacy: "button-backlight" (Motorola Droid 4)
|
|
|
|
Some phones have touch buttons below screen; it is different from main
|
|
keyboard. And this is their backlight.
|
|
|
|
* Sound subsystem
|
|
|
|
Good: "platform:*:mute"
|
|
Good: "platform:*:micmute"
|
|
|
|
LEDs on notebook body, indicating that sound input / output is muted.
|
|
|
|
* System notification
|
|
|
|
Legacy: "status-led:{red,green,blue}" (Motorola Droid 4)
|
|
Legacy: "lp5523:{r,g,b}" (Nokia N900)
|
|
|
|
Phones usually have multi-color status LED.
|
|
|
|
* Power management
|
|
|
|
Good: "platform:*:charging" (allwinner sun50i)
|
|
|
|
* Screen
|
|
|
|
Good: ":backlight" (Motorola Droid 4)
|