diff options
author | Alexander Graf <agraf@suse.de> | 2016-08-19 01:23:21 +0200 |
---|---|---|
committer | Alexander Graf <agraf@suse.de> | 2016-10-19 09:01:50 +0200 |
commit | 1befb38b868248dda4e84a57aa779f7e8c0b85c0 (patch) | |
tree | ddc9cb2621fc9b6544e4024e0ee163e9737ee78d | |
parent | 8f661a5b662af05d4d6da32dc0a3437542f6e866 (diff) | |
download | u-boot-1befb38b868248dda4e84a57aa779f7e8c0b85c0.tar.gz |
x86: Move table csum into separate file
We need the checksum function without all the other table functionality
soon, so let's split it out into its own C file.
Signed-off-by: Alexander Graf <agraf@suse.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
-rw-r--r-- | arch/x86/include/asm/tables.h | 2 | ||||
-rw-r--r-- | arch/x86/lib/tables.c | 12 | ||||
-rw-r--r-- | include/tables_csum.h | 12 | ||||
-rw-r--r-- | lib/Makefile | 1 | ||||
-rw-r--r-- | lib/tables_csum.c | 20 |
5 files changed, 35 insertions, 12 deletions
diff --git a/arch/x86/include/asm/tables.h b/arch/x86/include/asm/tables.h index ae9f0d0d62..81f98f2774 100644 --- a/arch/x86/include/asm/tables.h +++ b/arch/x86/include/asm/tables.h @@ -7,6 +7,8 @@ #ifndef _X86_TABLES_H_ #define _X86_TABLES_H_ +#include <tables_csum.h> + /* * All x86 tables happen to like the address range from 0xf0000 to 0x100000. * We use 0xf0000 as the starting address to store those tables, including diff --git a/arch/x86/lib/tables.c b/arch/x86/lib/tables.c index f92111e4c8..9ee6b5e924 100644 --- a/arch/x86/lib/tables.c +++ b/arch/x86/lib/tables.c @@ -38,18 +38,6 @@ static table_write table_write_funcs[] = { #endif }; -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; -} - void table_fill_string(char *dest, const char *src, size_t n, char pad) { int start, len; diff --git a/include/tables_csum.h b/include/tables_csum.h new file mode 100644 index 0000000000..a021efbbc6 --- /dev/null +++ b/include/tables_csum.h @@ -0,0 +1,12 @@ +/* + * Copyright (C) 2015, Bin Meng <bmeng.cn@gmail.com> + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#ifndef _TABLES_CSUM_H_ +#define _TABLES_CSUM_H_ + +u8 table_compute_checksum(void *v, int len); + +#endif diff --git a/lib/Makefile b/lib/Makefile index e3383f4046..3842e7d989 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -73,6 +73,7 @@ obj-y += linux_string.o obj-y += membuff.o obj-$(CONFIG_REGEX) += slre.o obj-y += string.o +obj-y += tables_csum.o obj-y += time.o obj-$(CONFIG_TRACE) += trace.o obj-$(CONFIG_LIB_UUID) += uuid.o diff --git a/lib/tables_csum.c b/lib/tables_csum.c new file mode 100644 index 0000000000..340d7b3b11 --- /dev/null +++ b/lib/tables_csum.c @@ -0,0 +1,20 @@ +/* + * Copyright (C) 2015, Bin Meng <bmeng.cn@gmail.com> + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#include <common.h> +#include <linux/ctype.h> + +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; +} |