From 72675b063b6ede269a8edee29575ade02c21b58d Mon Sep 17 00:00:00 2001 From: Marek Vasut Date: Mon, 4 Apr 2022 01:23:27 +0200 Subject: led: Configure LED default-state on boot In case the DT LED subnode contains "default-state" property set to either "on" or "off", probe the LED driver and configure the LED state automatically. Signed-off-by: Marek Vasut Cc: Alex Nemirovsky Cc: Patrick Delaunay Cc: Philippe Reynes Cc: Sean Anderson Cc: Simon Glass Cc: Steven Lawrance [trini: Update the relevant test now that we have support] Signed-off-by: Tom Rini --- include/led.h | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) (limited to 'include') diff --git a/include/led.h b/include/led.h index 8eeb5a7c6d3..43acca85719 100644 --- a/include/led.h +++ b/include/led.h @@ -9,13 +9,26 @@ struct udevice; +enum led_state_t { + LEDST_OFF = 0, + LEDST_ON = 1, + LEDST_TOGGLE, +#ifdef CONFIG_LED_BLINK + LEDST_BLINK, +#endif + + LEDST_COUNT, +}; + /** * struct led_uc_plat - Platform data the uclass stores about each device * * @label: LED label + * @default_state: LED default state */ struct led_uc_plat { const char *label; + enum led_state_t default_state; }; /** @@ -27,17 +40,6 @@ struct led_uc_priv { int period_ms; }; -enum led_state_t { - LEDST_OFF = 0, - LEDST_ON = 1, - LEDST_TOGGLE, -#ifdef CONFIG_LED_BLINK - LEDST_BLINK, -#endif - - LEDST_COUNT, -}; - struct led_ops { /** * set_state() - set the state of an LED -- cgit v1.3.1