aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2022-04-04 14:43:51 -0400
committerTom Rini <trini@konsulko.com>2022-04-14 15:39:15 -0400
commit2df59b2bd4bf0dee0884fc774591eedd232141e6 (patch)
tree61fe47cb9b3fe2dc7b90e4f0f48465d8f29c7983
parent34855b39beb63ca3cdeabbd704ea610268837ced (diff)
downloadu-boot-2df59b2bd4bf0dee0884fc774591eedd232141e6.zip
u-boot-2df59b2bd4bf0dee0884fc774591eedd232141e6.tar.gz
u-boot-2df59b2bd4bf0dee0884fc774591eedd232141e6.tar.bz2
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>
-rw-r--r--arch/sandbox/include/asm/tables.h0
-rw-r--r--arch/x86/include/asm/tables.h13
-rw-r--r--drivers/misc/qfw.c3
-rw-r--r--include/tables_csum.h23
4 files changed, 12 insertions, 27 deletions
diff --git a/arch/sandbox/include/asm/tables.h b/arch/sandbox/include/asm/tables.h
deleted file mode 100644
index e69de29..0000000
--- a/arch/sandbox/include/asm/tables.h
+++ /dev/null
diff --git a/arch/x86/include/asm/tables.h b/arch/x86/include/asm/tables.h
index aa93883..37be012 100644
--- a/arch/x86/include/asm/tables.h
+++ b/arch/x86/include/asm/tables.h
@@ -17,19 +17,6 @@
#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
*
* This fills a string in the configuration table. It copies number of bytes
diff --git a/drivers/misc/qfw.c b/drivers/misc/qfw.c
index 677841a..1d54b75 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 5f7edc4..4812333 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