Skip to content

Commit

Permalink
leds: add RGB color option, as that is different from multicolor.
Browse files Browse the repository at this point in the history
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.

Signed-off-by: Pavel Machek <pavel@ucw.cz>
  • Loading branch information
Pavel Machek committed Aug 3, 2020
1 parent 2742b41 commit 54212f5
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 3 deletions.
1 change: 1 addition & 0 deletions drivers/leds/led-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ const char * const led_colors[LED_COLOR_ID_MAX] = {
[LED_COLOR_ID_YELLOW] = "yellow",
[LED_COLOR_ID_IR] = "ir",
[LED_COLOR_ID_MULTI] = "multicolor",
[LED_COLOR_ID_RGB] = "rgb",
};
EXPORT_SYMBOL_GPL(led_colors);

Expand Down
2 changes: 1 addition & 1 deletion drivers/leds/leds-lp55xx-common.c
Original file line number Diff line number Diff line change
Expand Up @@ -638,7 +638,7 @@ static int lp55xx_parse_logical_led(struct device_node *np,
if (ret)
return ret;

if (led_color == LED_COLOR_ID_MULTI)
if (led_color == LED_COLOR_ID_RGB)
return lp55xx_parse_multi_led(np, cfg, child_number);

ret = lp55xx_parse_common_child(np, cfg, child_number, &chan_nr);
Expand Down
6 changes: 4 additions & 2 deletions include/dt-bindings/leds/common.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,10 @@
#define LED_COLOR_ID_VIOLET 5
#define LED_COLOR_ID_YELLOW 6
#define LED_COLOR_ID_IR 7
#define LED_COLOR_ID_MULTI 8
#define LED_COLOR_ID_MAX 9
#define LED_COLOR_ID_MULTI 8 /* For multicolor LEDs */
#define LED_COLOR_ID_RGB 9 /* For multicolor LEDs that can do arbitrary color,
so this would include RGBW and similar */
#define LED_COLOR_ID_MAX 10

/* Standard LED functions */
/* Keyboard LEDs, usually it would be input4::capslock etc. */
Expand Down

0 comments on commit 54212f5

Please sign in to comment.