[PATCH v3 1/9] led: turn LED ON on initial SW blink

Christian Marangi ansuelsmth at gmail.com
Thu Aug 22 12:47:04 CEST 2024


On Tue, Aug 13, 2024 at 12:00:59AM +0200, Heinrich Schuchardt wrote:
> 
> 
> Am 12. August 2024 12:32:43 MESZ schrieb Christian Marangi <ansuelsmth at gmail.com>:
> >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 <ansuelsmth at gmail.com>
> >---
> > 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


More information about the U-Boot mailing list