Browse Source

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 <agraf@csgraf.de>
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini 2 years ago
parent
commit
2df59b2bd4
4 changed files with 12 additions and 27 deletions
  1. 0 0
      arch/sandbox/include/asm/tables.h
  2. 0 13
      arch/x86/include/asm/tables.h
  3. 0 3
      drivers/misc/qfw.c
  4. 12 11
      include/tables_csum.h

+ 0 - 0
arch/sandbox/include/asm/tables.h


+ 0 - 13
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
  *

+ 0 - 3
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)
 /*

+ 12 - 11
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