[U-Boot] [PATCH v3 1/8] x86: Move table csum into separate header

Simon Glass sjg at chromium.org
Wed Aug 17 06:15:47 CEST 2016


Hi Alex,

On 16 August 2016 at 02:55, Alexander Graf <agraf at suse.de> wrote:
> We need the checksum function without all the other table functionality
> soon, so let's split it out into its own header file.
>
> Signed-off-by: Alexander Graf <agraf at suse.de>
> Reviewed-by: Bin Meng <bmeng.cn at gmail.com>
> ---
>  arch/x86/include/asm/tables.h |  2 ++
>  arch/x86/lib/tables.c         | 12 ------------
>  include/tables_csum.h         | 22 ++++++++++++++++++++++
>  3 files changed, 24 insertions(+), 12 deletions(-)
>  create mode 100644 include/tables_csum.h

Reviewed-by: Simon Glass <sjg at chromium.org>

Question below

>
> diff --git a/arch/x86/include/asm/tables.h b/arch/x86/include/asm/tables.h
> index ae9f0d0..81f98f2 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 f92111e..9ee6b5e 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 0000000..27d147b
> --- /dev/null
> +++ b/include/tables_csum.h
> @@ -0,0 +1,22 @@
> +/*
> + * Copyright (C) 2015, Bin Meng <bmeng.cn at gmail.com>
> + *
> + * SPDX-License-Identifier:    GPL-2.0+
> + */
> +
> +#ifndef _TABLES_CSUM_H_
> +#define _TABLES_CSUM_H_
> +
> +static inline u8 table_compute_checksum(void *v, int len)

Why is this static inline? Shouldn't it go in a C file?

> +{
> +       u8 *bytes = v;
> +       u8 checksum = 0;
> +       int i;
> +
> +       for (i = 0; i < len; i++)
> +               checksum -= bytes[i];
> +
> +       return checksum;
> +}
> +
> +#endif
> --
> 1.8.5.6
>

Regards,
Simon


More information about the U-Boot mailing list