summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPavel Machek <pavel@ucw.cz>2020-08-03 13:20:06 +0200
committerPavel Machek <pavel@ucw.cz>2020-08-03 13:26:15 +0200
commit54212f5a1ba3123281877e54c1e5f672bf7563d8 (patch)
tree3e735e1bb63dffc209ebdb0933e665f0db2f2093
parent2742b4192a279c6ec72e55d5474c4c07756c7845 (diff)
downloadlinux-54212f5a1ba3123281877e54c1e5f672bf7563d8.tar.bz2
leds: add RGB color option, as that is different from multicolor.
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>
-rw-r--r--drivers/leds/led-core.c1
-rw-r--r--drivers/leds/leds-lp55xx-common.c2
-rw-r--r--include/dt-bindings/leds/common.h6
3 files changed, 6 insertions, 3 deletions
diff --git a/drivers/leds/led-core.c b/drivers/leds/led-core.c
index 846248a0693d..a6dce01dbd5e 100644
--- a/drivers/leds/led-core.c
+++ b/drivers/leds/led-core.c
@@ -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);
diff --git a/drivers/leds/leds-lp55xx-common.c b/drivers/leds/leds-lp55xx-common.c
index af14e2b2d577..56210f4ad919 100644
--- a/drivers/leds/leds-lp55xx-common.c
+++ b/drivers/leds/leds-lp55xx-common.c
@@ -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);
diff --git a/include/dt-bindings/leds/common.h b/include/dt-bindings/leds/common.h
index a463ce6a8794..52b619d44ba2 100644
--- a/include/dt-bindings/leds/common.h
+++ b/include/dt-bindings/leds/common.h
@@ -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. */