[PATCH] leds: lp50xx: add setting of default intensity from DT

From: Sven Schuchmann
Date: Mon Jan 18 2021 - 09:17:14 EST


In order to use a multicolor-led together with a trigger
the led needs to have an intensity set to see something.
The trigger changes the brightness of the led but if there
is no intensity we actually see nothing.

This patch adds the ability to set the default intensity
of each led so that it is turned on from DT.

Signed-off-by: Sven Schuchmann <schuchmann@xxxxxxxxxxxxxxxxx>
---
Documentation/devicetree/bindings/leds/leds-lp50xx.yaml | 6 +++++-
drivers/leds/leds-lp50xx.c | 4 ++++
2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/leds/leds-lp50xx.yaml b/Documentation/devicetree/bindings/leds/leds-lp50xx.yaml
index c192b5feadc7..f810c4e84c44 100644
--- a/Documentation/devicetree/bindings/leds/leds-lp50xx.yaml
+++ b/Documentation/devicetree/bindings/leds/leds-lp50xx.yaml
@@ -69,7 +69,11 @@ patternProperties:
patternProperties:
"(^led-[0-9a-f]$|led)":
type: object
- $ref: common.yaml#
+ allOf:
+ - $ref: common.yaml#
+ properties:
+ default-intensity:
+ The intensity the LED get initialised with.

required:
- compatible
diff --git a/drivers/leds/leds-lp50xx.c b/drivers/leds/leds-lp50xx.c
index f13117eed976..55b9e0c9e737 100644
--- a/drivers/leds/leds-lp50xx.c
+++ b/drivers/leds/leds-lp50xx.c
@@ -501,6 +501,10 @@ static int lp50xx_probe_dt(struct lp50xx *priv)
}

mc_led_info[num_colors].color_index = color_id;
+
+ fwnode_property_read_u32(led_node, "default-intensity",
+ &mc_led_info[num_colors].intensity);
+
num_colors++;
}

--
2.17.1