[PATCH V2 2/2] leds: rgb: leds-group-multicolor: Implement default-intensity

Stefan Wahren <[email protected]> Sun, 2 Aug 2026 13:57:27 +0200
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]>
=2D--
 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/l=
eds-group-multicolor.c
index 548c7dd63ba1..69b203ec89fa 100644
=2D-- 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 *pde=
v)
=20
 		subled[i].color_index =3D led_cdev->color;
=20
-		/* Configure the LED intensity to its maximum */
-		subled[i].intensity =3D max_brightness;
+		ret =3D fwnode_property_read_u32(led_cdev->dev->fwnode, "default-intens=
ity",
+					       &subled[i].intensity);
+
+		/* In case default-intensity is missing, fallback to maximum */
+		if (ret)
+			subled[i].intensity =3D max_brightness;
+		else if (subled[i].intensity > max_brightness)
+			subled[i].intensity =3D max_brightness;
 	}
=20
 	/* Initialise the multicolor's LED class device */
=2D-=20
2.43.0