On Fri, 30 Apr 2021, at 06:19, Eddie James wrote: > Read the retain-state-shutdown device tree property to set the > existing LED_RETAIN_AT_SHUTDOWN flag. Then check the flag when > unregistering, and if set, don't set the brightness to OFF. This > is useful for systems that want to keep the HW state of the LED > across reboots. > > Signed-off-by: Eddie James <eajames@xxxxxxxxxxxxx> > --- > drivers/leds/led-class.c | 10 ++++++++-- > 1 file changed, 8 insertions(+), 2 deletions(-) > > diff --git a/drivers/leds/led-class.c b/drivers/leds/led-class.c > index 2e495ff67856..f2f29318d312 100644 > --- a/drivers/leds/led-class.c > +++ b/drivers/leds/led-class.c > @@ -354,10 +354,15 @@ int led_classdev_register_ext(struct device *parent, > if (ret < 0) > return ret; > > - if (init_data->fwnode) > + if (init_data->fwnode) { > fwnode_property_read_string(init_data->fwnode, > "linux,default-trigger", > &led_cdev->default_trigger); > + > + if (fwnode_property_present(init_data->fwnode, > + "retain-state-shutdown")) > + led_cdev->flags |= LED_RETAIN_AT_SHUTDOWN; This is what we need, but I notice the pca955x driver is calling through devm_led_classdev_register() which passes NULL through init_data. So we won't get the result we want from this series as I understand it. Andrew