On Tue, Aug 13, 2024 at 12:00:59AM +0200, Heinrich Schuchardt wrote:
> 
> 
> Am 12. August 2024 12:32:43 MESZ schrieb Christian Marangi 
> <[email protected]>:
> >We currently init the LED OFF when SW blink is triggered when
> >on_state_change() is called. This can be problematic for very short
> >period as the ON/OFF blink might never trigger.
> >
> >Turn LED ON on initial SW blink to handle this corner case and better
> >display a LED blink from the user.
> 
> If the the prior state is on, blinking should start with off.
> 
> If the prior state is off, blinking should start with on.
>

A bit confused. You mean I should improve the commit description or the
code needs to he changed to reflect this and check the LED status before
applying the BLINK?

> 
> 
> >
> >Signed-off-by: Christian Marangi <[email protected]>
> >---
> > drivers/led/led_sw_blink.c | 5 ++++-
> > 1 file changed, 4 insertions(+), 1 deletion(-)
> >
> >diff --git a/drivers/led/led_sw_blink.c b/drivers/led/led_sw_blink.c
> >index 9e36edbee47..853278670b9 100644
> >--- a/drivers/led/led_sw_blink.c
> >+++ b/drivers/led/led_sw_blink.c
> >@@ -103,8 +103,11 @@ bool led_sw_on_state_change(struct udevice *dev, enum 
> >led_state_t state)
> >             return false;
> > 
> >     if (state == LEDST_BLINK) {
> >+            struct led_ops *ops = led_get_ops(dev);
> >+
> >+            ops->set_state(dev, LEDST_ON);
> >             /* start blinking on next led_sw_blink() call */
> >-            sw_blink->state = LED_SW_BLINK_ST_OFF;
> >+            sw_blink->state = LED_SW_BLINK_ST_ON;
> >             return true;
> >     }
> > 

-- 
        Ansuel

Reply via email to