Skip to content

Commit 4f530c6

Browse files
dtorlag-linaro
authored andcommitted
leds: core: Implement fallback to software node name for LED names
If a software node defining an LED is missing explicit 'label', 'color', or 'function' properties, led_compose_name() currently fails with -EINVAL, because fallback to using node name in place of LED name/label is only implemented for OF nodes. Implement similar fallback for software nodes. Unlike OF nodes, which use the short 'name' attribute of the device tree node to avoid including the address block, use fwnode_get_name() directly since swnodes do not include an address block and always have a valid name. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Link: https://patch.msgid.link/20260311-led-swnode-name-v1-1-798a49e041c6@gmail.com Signed-off-by: Lee Jones <lee@kernel.org>
1 parent 0e22879 commit 4f530c6

1 file changed

Lines changed: 3 additions & 0 deletions

File tree

drivers/leds/led-core.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -581,6 +581,9 @@ int led_compose_name(struct device *dev, struct led_init_data *init_data,
581581
} else if (is_of_node(fwnode)) {
582582
n = snprintf(led_classdev_name, LED_MAX_NAME_SIZE, "%s",
583583
to_of_node(fwnode)->name);
584+
} else if (is_software_node(fwnode)) {
585+
n = snprintf(led_classdev_name, LED_MAX_NAME_SIZE, "%s",
586+
fwnode_get_name(fwnode));
584587
} else
585588
return -EINVAL;
586589

0 commit comments

Comments
 (0)