[PATCH V4] leds: rgb: leds-group-multicolor: Implement default-intensity
Stefan Wahren <[email protected]>
| Newsgroups | org.kernel.vger.linux-leds,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
Currently it's not possible to specify the initial color of a LED multicolor group during boot. So implement the default-intensity property similar to the leds-pwm-multicolor driver. In case the property is missing, the old behavior is kept. Signed-off-by: Stefan Wahren <[email protected]> Reviewed-by: Jonas Rebmann <[email protected]> --- Changes in V4: - use device_property_read_u32 instead of fwnode_property_read_u32 - simplify if statement as suggested by Lee - drop obvious comment Changes in V3: - drop unnecessary patch for leds-group-multicolor.yaml - add Jonas' RB Changes in V2: - adapt to approach (incl. error behavior) by Jonas Rebmann [2] - address comments by Lee which still apply drivers/leds/rgb/leds-group-multicolor.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/leds/rgb/leds-group-multicolor.c b/drivers/leds/rgb/leds-group-multicolor.c index 548c7dd63ba1..f278d2a2bf5c 100644 --- a/drivers/leds/rgb/leds-group-multicolor.c +++ b/drivers/leds/rgb/leds-group-multicolor.c @@ -109,8 +109,10 @@ static int leds_gmc_probe(struct platform_device *pdev) subled[i].color_index = led_cdev->color; - /* Configure the LED intensity to its maximum */ - subled[i].intensity = max_brightness; + ret = device_property_read_u32(led_cdev->dev, "default-intensity", + &subled[i].intensity); + if (ret || subled[i].intensity > max_brightness) + subled[i].intensity = max_brightness; } /* Initialise the multicolor's LED class device */ -- 2.43.0