[PATCH] Remove duplication of table_compute_checksum function

Tom Rini trini at konsulko.com
Mon Apr 4 20:43:51 CEST 2022


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 <agraf at csgraf.de>
Signed-off-by: Tom Rini <trini at konsulko.com>
---
 arch/sandbox/include/asm/tables.h |  0
 arch/x86/include/asm/tables.h     | 13 -------------
 drivers/misc/qfw.c                |  3 ---
 include/tables_csum.h             | 23 ++++++++++++-----------
 4 files changed, 12 insertions(+), 27 deletions(-)
 delete mode 100644 arch/sandbox/include/asm/tables.h

diff --git a/arch/sandbox/include/asm/tables.h b/arch/sandbox/include/asm/tables.h
deleted file mode 100644
index e69de29bb2d1..000000000000
diff --git a/arch/x86/include/asm/tables.h b/arch/x86/include/asm/tables.h
index aa938837b65a..37be01240db5 100644
--- a/arch/x86/include/asm/tables.h
+++ b/arch/x86/include/asm/tables.h
@@ -16,19 +16,6 @@
 /* SeaBIOS expects coreboot tables at address range 0x0000-0x1000 */
 #define CB_TABLE_ADDR	0x800
 
-/**
- * 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);
-
 /**
  * table_fill_string() - Fill a string with pad in the configuration table
  *
diff --git a/drivers/misc/qfw.c b/drivers/misc/qfw.c
index 677841aac5ef..1d54b7542b8a 100644
--- a/drivers/misc/qfw.c
+++ b/drivers/misc/qfw.c
@@ -15,9 +15,6 @@
 #include <dm.h>
 #include <misc.h>
 #include <tables_csum.h>
-#ifdef CONFIG_GENERATE_ACPI_TABLE
-#include <asm/tables.h>
-#endif
 
 #if defined(CONFIG_GENERATE_ACPI_TABLE) && !defined(CONFIG_SANDBOX)
 /*
diff --git a/include/tables_csum.h b/include/tables_csum.h
index 5f7edc419ba2..4812333093a1 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
-- 
2.25.1



More information about the U-Boot mailing list