Message ID | 20221220073335.393489-1-hui.wang@canonical.com |
---|---|
State | New |
Headers | show |
Series | leds: pwm: clear the led structure before parsing each child node | expand |
On Tue, 20 Dec 2022, Hui Wang wrote: > I defined 2 leds in the device tree, in the 1st led node, the > max-brightness is set to 248, while in the 2nd led node, I > mis-spelled the max-brightness to max-brighttness, but the driver > is still able to get the max-brightness 248 for the 2nd node, that > is because the led structure is not cleared before parsing each child > node. > > pwmleds { > compatible = "pwm-leds"; > > pwm-green { > ... > max-brightness = <248>; > }; > > pwm-red { > ... > max-brighttness = <128>; > }; > > Signed-off-by: Hui Wang <hui.wang@canonical.com> > --- > drivers/leds/leds-pwm.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) Applied, thanks
diff --git a/drivers/leds/leds-pwm.c b/drivers/leds/leds-pwm.c index 6832180c1c54..29194cc382af 100644 --- a/drivers/leds/leds-pwm.c +++ b/drivers/leds/leds-pwm.c @@ -138,9 +138,9 @@ static int led_pwm_create_fwnode(struct device *dev, struct led_pwm_priv *priv) struct led_pwm led; int ret; - memset(&led, 0, sizeof(led)); - device_for_each_child_node(dev, fwnode) { + memset(&led, 0, sizeof(led)); + ret = fwnode_property_read_string(fwnode, "label", &led.name); if (ret && is_of_node(fwnode)) led.name = to_of_node(fwnode)->name;
I defined 2 leds in the device tree, in the 1st led node, the max-brightness is set to 248, while in the 2nd led node, I mis-spelled the max-brightness to max-brighttness, but the driver is still able to get the max-brightness 248 for the 2nd node, that is because the led structure is not cleared before parsing each child node. pwmleds { compatible = "pwm-leds"; pwm-green { ... max-brightness = <248>; }; pwm-red { ... max-brighttness = <128>; }; Signed-off-by: Hui Wang <hui.wang@canonical.com> --- drivers/leds/leds-pwm.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)