2019-11-14 05:16:35

by AKASHI Takahiro

[permalink] [raw]
Subject: [PATCH v2 1/3] libfdt: define UINT32_MAX in libfdt_env.h

In the implementation of kexec_file_load-based kdump for arm64,
fdt_appendprop_addrrange() will be used, but fdt_addresses.c
will fail to compile due to missing UINT32_MAX.

So just define it in libfdt_env.h.

Signed-off-by: AKASHI Takahiro <[email protected]>
Cc: Rob Herring <[email protected]>
Cc: Frank Rowand <[email protected]>
---
include/linux/libfdt_env.h | 3 +++
1 file changed, 3 insertions(+)

diff --git a/include/linux/libfdt_env.h b/include/linux/libfdt_env.h
index edb0f0c30904..9ca00f11d9b1 100644
--- a/include/linux/libfdt_env.h
+++ b/include/linux/libfdt_env.h
@@ -3,6 +3,7 @@
#define LIBFDT_ENV_H

#include <linux/kernel.h> /* For INT_MAX */
+#include <linux/limits.h> /* For UINT32_MAX */
#include <linux/string.h>

#include <asm/byteorder.h>
@@ -11,6 +12,8 @@ typedef __be16 fdt16_t;
typedef __be32 fdt32_t;
typedef __be64 fdt64_t;

+#define UINT32_MAX U32_MAX
+
#define fdt32_to_cpu(x) be32_to_cpu(x)
#define cpu_to_fdt32(x) cpu_to_be32(x)
#define fdt64_to_cpu(x) be64_to_cpu(x)
--
2.21.0


2019-12-04 20:35:21

by Bhupesh Sharma

[permalink] [raw]
Subject: Re: [PATCH v2 1/3] libfdt: define UINT32_MAX in libfdt_env.h

Hi Akashi,

On 11/14/2019 10:45 AM, AKASHI Takahiro wrote:
> In the implementation of kexec_file_load-based kdump for arm64,
> fdt_appendprop_addrrange() will be used, but fdt_addresses.c
> will fail to compile due to missing UINT32_MAX.
>
> So just define it in libfdt_env.h.
>
> Signed-off-by: AKASHI Takahiro <[email protected]>
> Cc: Rob Herring <[email protected]>
> Cc: Frank Rowand <[email protected]>
> ---
> include/linux/libfdt_env.h | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/include/linux/libfdt_env.h b/include/linux/libfdt_env.h
> index edb0f0c30904..9ca00f11d9b1 100644
> --- a/include/linux/libfdt_env.h
> +++ b/include/linux/libfdt_env.h
> @@ -3,6 +3,7 @@
> #define LIBFDT_ENV_H
>
> #include <linux/kernel.h> /* For INT_MAX */
> +#include <linux/limits.h> /* For UINT32_MAX */
> #include <linux/string.h>
>
> #include <asm/byteorder.h>
> @@ -11,6 +12,8 @@ typedef __be16 fdt16_t;
> typedef __be32 fdt32_t;
> typedef __be64 fdt64_t;
>
> +#define UINT32_MAX U32_MAX
> +
> #define fdt32_to_cpu(x) be32_to_cpu(x)
> #define cpu_to_fdt32(x) cpu_to_be32(x)
> #define fdt64_to_cpu(x) be64_to_cpu(x)
>

With following upstream patches accepted already in Linus's tree (see
[0] and [1]), so we can drop this patch from the v3:

[0] 26ed19adbab1 ("libfdt: reduce the number of headers included from
libfdt_env.h")
[1] a8de1304b7df ("libfdt: define INT32_MAX and UINT32_MAX in libfdt_env.h")

Thanks,
Bhupesh