diff options
author | Hui Wang <hui.wang@canonical.com> | 2022-12-20 15:33:35 +0800 |
---|---|---|
committer | Lee Jones <lee@kernel.org> | 2023-01-30 08:00:51 +0000 |
commit | d8960dfb9d6dd940265cd48d7de6ad7060aa6963 (patch) | |
tree | 72da0b2961b5ce56615c34ea76efceb285369ade /drivers/leds | |
parent | abc3100fcba6827444ef4bdb17065ac3b6619dff (diff) |
leds: pwm: Clear the led structure before parsing each child node
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>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20221220073335.393489-1-hui.wang@canonical.com
Diffstat (limited to 'drivers/leds')
-rw-r--r-- | drivers/leds/leds-pwm.c | 4 |
1 files changed, 2 insertions, 2 deletions
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; |