From: Dmitry Torokhov Date: Thu, 12 Mar 2026 01:43:27 +0000 (-0700) Subject: leds: core: Implement fallback to software node name for LED names X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4f530c65487636dc1536b3fa1041f9a877a66a7f;p=thirdparty%2Fkernel%2Flinux.git 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 Link: https://patch.msgid.link/20260311-led-swnode-name-v1-1-798a49e041c6@gmail.com Signed-off-by: Lee Jones --- diff --git a/drivers/leds/led-core.c b/drivers/leds/led-core.c index 59473f286b31..8ce41b36c645 100644 --- a/drivers/leds/led-core.c +++ b/drivers/leds/led-core.c @@ -581,6 +581,9 @@ int led_compose_name(struct device *dev, struct led_init_data *init_data, } else if (is_of_node(fwnode)) { n = snprintf(led_classdev_name, LED_MAX_NAME_SIZE, "%s", to_of_node(fwnode)->name); + } else if (is_software_node(fwnode)) { + n = snprintf(led_classdev_name, LED_MAX_NAME_SIZE, "%s", + fwnode_get_name(fwnode)); } else return -EINVAL;