Re: [PATCH V3] leds: rgb: leds-group-multicolor: Implement default-intensity
From: Lee Jones
Date: Wed Aug 12 2026 - 04:37:38 EST
On Tue, 04 Aug 2026, Stefan Wahren wrote:
> 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 <wahrenst@xxxxxxx>
> Reviewed-by: Jonas Rebmann <jre@xxxxxxxxxxxxxx>
> ---
>
> 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 | 10 ++++++++--
> 1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git "a/drivers/leds/rgb/leds-group-multicolor.c" "b/drivers/leds/rgb/leds-group-multicolor.c"
> index 548c7dd63ba1..69b203ec89fa 100644
> --- "a/drivers/leds/rgb/leds-group-multicolor.c"
> +++ "b/drivers/leds/rgb/leds-group-multicolor.c"
> @@ -109,8 +109,14 @@ 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 = fwnode_property_read_u32(led_cdev->dev->fwnode, "default-intensity",
Did you consider using dev_fwnode() or device_property_read_u32()
here instead of accessing 'led_cdev->dev->fwnode' directly?
> + &subled[i].intensity);
> +
> + /* In case default-intensity is missing, fallback to maximum */
Probably stating the obvious here.
> + if (ret)
> + subled[i].intensity = max_brightness;
> + else if (subled[i].intensity > max_brightness)
> + subled[i].intensity = max_brightness;
if (ret || subled[i].intensity > max_brightness)
subled[i].intensity = max_brightness;
> }
>
> /* Initialise the multicolor's LED class device */
> --
> 2.43.0
>
>
--
Lee Jones