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.2.3 From 2df59b2bd4bf0dee0884fc774591eedd232141e6 Mon Sep 17 00:00:00 2001 From: Tom Rini Date: Mon, 4 Apr 2022 14:43:51 -0400 Subject: Remove duplication of table_compute_checksum function It seems like there was some merge error when first cleaning up and sharing this function. We have both an inline version of the function in include/tables_csum.h and a non-inline version in lib/tables_csum.c. Rework things so that we only have the non-inline version (due to number of calls, we should not inline this). Fixes: 1befb38b8682 ("x86: Move table csum into separate file") Fixes: 2b445e4d3194 ("x86: Move table csum into separate header") Cc: Alexander Graf Signed-off-by: Tom Rini --- include/tables_csum.h | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) (limited to 'include') diff --git a/include/tables_csum.h b/include/tables_csum.h index 5f7edc419ba..4812333093a 100644 --- a/include/tables_csum.h +++ b/include/tables_csum.h @@ -6,16 +6,17 @@ #ifndef _TABLES_CSUM_H_ #define _TABLES_CSUM_H_ -static inline u8 table_compute_checksum(void *v, int len) -{ - u8 *bytes = v; - u8 checksum = 0; - int i; - - for (i = 0; i < len; i++) - checksum -= bytes[i]; - - return checksum; -} +/** + * table_compute_checksum() - Compute a table checksum + * + * This computes an 8-bit checksum for the configuration table. + * All bytes in the configuration table, including checksum itself and + * reserved bytes must add up to zero. + * + * @v: configuration table base address + * @len: configuration table size + * @return: the 8-bit checksum + */ +u8 table_compute_checksum(void *v, int len); #endif -- cgit v1.2.3