Commit 4f530c65 authored by Dmitry Torokhov's avatar Dmitry Torokhov Committed by Lee Jones
Browse files

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: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
Link: https://patch.msgid.link/20260311-led-swnode-name-v1-1-798a49e041c6@gmail.com


Signed-off-by: default avatarLee Jones <lee@kernel.org>
parent 0e228799
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -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;