Messages in this thread | | | Date | Sun, 18 Sep 2022 15:19:21 +0200 | Subject | Re: [RESEND PATCH v3 2/4] leds: class: store the color index in struct led_classdev | From | Jacek Anaszewski <> |
| |
On 9/18/22 13:25, Jacek Anaszewski wrote: > Hi Jean, > > On 9/17/22 10:13, Jean-Jacques Hiblot wrote: >> This information might be useful for more than only deriving the led's >> name. >> >> Signed-off-by: Jean-Jacques Hiblot <jjhiblot@traphandler.com> >> --- >> drivers/leds/led-class.c | 7 +++++++ >> include/linux/leds.h | 1 + >> 2 files changed, 8 insertions(+) >> >> diff --git a/drivers/leds/led-class.c b/drivers/leds/led-class.c >> index 2c0d979d0c8a..537379f09801 100644 >> --- a/drivers/leds/led-class.c >> +++ b/drivers/leds/led-class.c >> @@ -350,6 +350,10 @@ int led_classdev_register_ext(struct device *parent, >> if (fwnode_property_present(init_data->fwnode, >> "retain-state-shutdown")) >> led_cdev->flags |= LED_RETAIN_AT_SHUTDOWN; >> + >> + if (fwnode_property_present(init_data->fwnode, "color")) >> + fwnode_property_read_u32(init_data->fwnode, "color", >> + &led_cdev->color); >> } >> } else { >> proposed_name = led_cdev->name; >> @@ -359,6 +363,9 @@ int led_classdev_register_ext(struct device *parent, >> if (ret < 0) >> return ret; >> + if (led_cdev->color >= LED_COLOR_ID_MAX) >> + dev_warn(parent, "LED %s color identifier out of range\n", >> final_name); >> + >> mutex_init(&led_cdev->led_access); >> mutex_lock(&led_cdev->led_access); >> led_cdev->dev = device_create_with_groups(leds_class, parent, 0, >> diff --git a/include/linux/leds.h b/include/linux/leds.h >> index ba4861ec73d3..fe6346604e36 100644 >> --- a/include/linux/leds.h >> +++ b/include/linux/leds.h >> @@ -71,6 +71,7 @@ struct led_classdev { >> const char *name; >> unsigned int brightness; >> unsigned int max_brightness; >> + unsigned int color; > > We have color_index in struct mc_subled. What would this serve for?
OK, I missed that you're using it leds-group-multicolor.c.
-- Best regards, Jacek Anaszewski
| |