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

Heinrich Schuchardt xypron.glpk at gmx.de
Tue Aug 13 00:00:59 CEST 2024



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.

Best regards

Heinrich


>
>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;
> 	}
> 


More information about the U-Boot mailing list