
Linux expects "unsigned long" has the same bit-width as the pointer, i.e. the size of "unsigned long" is 4 on 32-bit compilers (ILP32) and it is 8 on 64-bit compilers (LLP64). It provides us the convenience in return of the limitation that LP64 data model is not supported.
U-Boot used to follow Linux's way, but it does not now.
Including <stdint.h> means the width of "long" type is provided by the compiler.
Use __SIZEOF_LONG__ instead of hard-coding BITS_PER_LONG.
Signed-off-by: Masahiro Yamada yamada.m@jp.panasonic.com Cc: Gabe Black gabeblack@chromium.org Cc: Simon Glass sjg@chromium.org Cc: Bill Richardson wfrichar@google.com Cc: Tom Rini trini@ti.com ---
arch/arc/include/asm/types.h | 4 ++++ arch/arm/include/asm/types.h | 4 ++++ arch/avr32/include/asm/types.h | 4 ++++ arch/blackfin/include/asm/types.h | 4 ++++ arch/m68k/include/asm/types.h | 4 ++++ arch/microblaze/include/asm/types.h | 4 ++++ arch/mips/include/asm/types.h | 4 ++++ arch/nds32/include/asm/types.h | 4 ++++ arch/nios2/include/asm/types.h | 4 ++++ arch/openrisc/include/asm/types.h | 4 ++++ arch/powerpc/include/asm/types.h | 4 ++++ arch/sandbox/include/asm/types.h | 4 ++++ arch/sh/include/asm/types.h | 4 ++++ arch/sparc/include/asm/types.h | 4 ++++ arch/x86/include/asm/types.h | 4 ++++ 15 files changed, 60 insertions(+)
diff --git a/arch/arc/include/asm/types.h b/arch/arc/include/asm/types.h index 5693e5f..71779e9 100644 --- a/arch/arc/include/asm/types.h +++ b/arch/arc/include/asm/types.h @@ -73,7 +73,11 @@ typedef signed long long s64; typedef unsigned long long u64; #endif
+#ifdef CONFIG_USE_STDINT +#define BITS_PER_LONG ((__SIZEOF_LONG__) * 8) +#else #define BITS_PER_LONG 32 +#endif
/* Dma addresses are 32-bits wide. */
diff --git a/arch/arm/include/asm/types.h b/arch/arm/include/asm/types.h index e24acc59..510b694 100644 --- a/arch/arm/include/asm/types.h +++ b/arch/arm/include/asm/types.h @@ -72,11 +72,15 @@ typedef unsigned long long u64;
#endif
+#ifdef CONFIG_USE_STDINT +#define BITS_PER_LONG ((__SIZEOF_LONG__) * 8) +#else #ifdef CONFIG_ARM64 #define BITS_PER_LONG 64 #else /* CONFIG_ARM64 */ #define BITS_PER_LONG 32 #endif /* CONFIG_ARM64 */ +#endif
/* Dma addresses are 32-bits wide. */
diff --git a/arch/avr32/include/asm/types.h b/arch/avr32/include/asm/types.h index 032a765..5311daa 100644 --- a/arch/avr32/include/asm/types.h +++ b/arch/avr32/include/asm/types.h @@ -51,7 +51,11 @@ __extension__ typedef unsigned long long __u64; */ #ifdef __KERNEL__
+#ifdef CONFIG_USE_STDINT +#define BITS_PER_LONG ((__SIZEOF_LONG__) * 8) +#else #define BITS_PER_LONG 32 +#endif
#ifndef __ASSEMBLY__
diff --git a/arch/blackfin/include/asm/types.h b/arch/blackfin/include/asm/types.h index 8cae642..2cdb0e8 100644 --- a/arch/blackfin/include/asm/types.h +++ b/arch/blackfin/include/asm/types.h @@ -88,7 +88,11 @@ typedef unsigned long long u64;
#endif
+#ifdef CONFIG_USE_STDINT +#define BITS_PER_LONG ((__SIZEOF_LONG__) * 8) +#else #define BITS_PER_LONG 32 +#endif
/* Dma addresses are 32-bits wide. */
diff --git a/arch/m68k/include/asm/types.h b/arch/m68k/include/asm/types.h index 83de4d5..53414db 100644 --- a/arch/m68k/include/asm/types.h +++ b/arch/m68k/include/asm/types.h @@ -72,7 +72,11 @@ typedef unsigned long long u64;
#endif
+#ifdef CONFIG_USE_STDINT +#define BITS_PER_LONG ((__SIZEOF_LONG__) * 8) +#else #define BITS_PER_LONG 32 +#endif
/* DMA addresses are 32-bits wide */ typedef u32 dma_addr_t; diff --git a/arch/microblaze/include/asm/types.h b/arch/microblaze/include/asm/types.h index afcd811..7418499 100644 --- a/arch/microblaze/include/asm/types.h +++ b/arch/microblaze/include/asm/types.h @@ -79,7 +79,11 @@ typedef unsigned long long u64;
#endif
+#ifdef CONFIG_USE_STDINT +#define BITS_PER_LONG ((__SIZEOF_LONG__) * 8) +#else #define BITS_PER_LONG 32 +#endif
/* Dma addresses are 32-bits wide. */
diff --git a/arch/mips/include/asm/types.h b/arch/mips/include/asm/types.h index f372c70..546a9c1 100644 --- a/arch/mips/include/asm/types.h +++ b/arch/mips/include/asm/types.h @@ -58,7 +58,11 @@ typedef unsigned long long __u64; */ #ifdef __KERNEL__
+#ifdef CONFIG_USE_STDINT +#define BITS_PER_LONG ((__SIZEOF_LONG__) * 8) +#else #define BITS_PER_LONG _MIPS_SZLONG +#endif
#ifndef __ASSEMBLY__
diff --git a/arch/nds32/include/asm/types.h b/arch/nds32/include/asm/types.h index 8416cef..6d0a2db 100644 --- a/arch/nds32/include/asm/types.h +++ b/arch/nds32/include/asm/types.h @@ -79,7 +79,11 @@ typedef unsigned long long u64;
#endif
+#ifdef CONFIG_USE_STDINT +#define BITS_PER_LONG ((__SIZEOF_LONG__) * 8) +#else #define BITS_PER_LONG 32 +#endif
#include <stddef.h>
diff --git a/arch/nios2/include/asm/types.h b/arch/nios2/include/asm/types.h index 43c76cc..d5751e2 100644 --- a/arch/nios2/include/asm/types.h +++ b/arch/nios2/include/asm/types.h @@ -78,7 +78,11 @@ typedef unsigned long long u64;
#endif
+#ifdef CONFIG_USE_STDINT +#define BITS_PER_LONG ((__SIZEOF_LONG__) * 8) +#else #define BITS_PER_LONG 32 +#endif
/* Dma addresses are 32-bits wide. */
diff --git a/arch/openrisc/include/asm/types.h b/arch/openrisc/include/asm/types.h index 069c8d6..16a0ad9 100644 --- a/arch/openrisc/include/asm/types.h +++ b/arch/openrisc/include/asm/types.h @@ -84,7 +84,11 @@ typedef unsigned long long u64;
#endif
+#ifdef CONFIG_USE_STDINT +#define BITS_PER_LONG ((__SIZEOF_LONG__) * 8) +#else #define BITS_PER_LONG 32 +#endif
/* Dma addresses are 32-bits wide. */
diff --git a/arch/powerpc/include/asm/types.h b/arch/powerpc/include/asm/types.h index 71868ef..cba487c 100644 --- a/arch/powerpc/include/asm/types.h +++ b/arch/powerpc/include/asm/types.h @@ -71,7 +71,11 @@ typedef unsigned long long u64;
#endif
+#ifdef CONFIG_USE_STDINT +#define BITS_PER_LONG ((__SIZEOF_LONG__) * 8) +#else #define BITS_PER_LONG 32 +#endif
#ifdef CONFIG_PHYS_64BIT typedef unsigned long long dma_addr_t; diff --git a/arch/sandbox/include/asm/types.h b/arch/sandbox/include/asm/types.h index 1bb168c..6d69422 100644 --- a/arch/sandbox/include/asm/types.h +++ b/arch/sandbox/include/asm/types.h @@ -80,7 +80,11 @@ typedef __INT64_TYPE__ s64; typedef __UINT64_TYPE__ u64; #endif
+#ifdef CONFIG_USE_STDINT +#define BITS_PER_LONG ((__SIZEOF_LONG__) * 8) +#else #define BITS_PER_LONG CONFIG_SANDBOX_BITS_PER_LONG +#endif
typedef unsigned long dma_addr_t; typedef u32 phys_addr_t; diff --git a/arch/sh/include/asm/types.h b/arch/sh/include/asm/types.h index eb47b0f..82884f4 100644 --- a/arch/sh/include/asm/types.h +++ b/arch/sh/include/asm/types.h @@ -46,7 +46,11 @@ __extension__ typedef unsigned long long __u64; */ #ifdef __KERNEL__
+#ifdef CONFIG_USE_STDINT +#define BITS_PER_LONG ((__SIZEOF_LONG__) * 8) +#else #define BITS_PER_LONG 32 +#endif
#ifndef __ASSEMBLY__
diff --git a/arch/sparc/include/asm/types.h b/arch/sparc/include/asm/types.h index 79484c5..5794152 100644 --- a/arch/sparc/include/asm/types.h +++ b/arch/sparc/include/asm/types.h @@ -77,7 +77,11 @@ typedef unsigned int u32; typedef signed long long s64; typedef unsigned long long u64;
+#ifdef CONFIG_USE_STDINT +#define BITS_PER_LONG ((__SIZEOF_LONG__) * 8) +#else #define BITS_PER_LONG 32 +#endif
/* DMA addresses are 32-bits wide */ typedef u32 dma_addr_t; diff --git a/arch/x86/include/asm/types.h b/arch/x86/include/asm/types.h index 88c6645..7ff1520 100644 --- a/arch/x86/include/asm/types.h +++ b/arch/x86/include/asm/types.h @@ -75,7 +75,11 @@ typedef __INT64_TYPE__ s64; typedef __UINT64_TYPE__ u64; #endif
+#ifdef CONFIG_USE_STDINT +#define BITS_PER_LONG ((__SIZEOF_LONG__) * 8) +#else #define BITS_PER_LONG 32 +#endif
/* Dma addresses are 32-bits wide. */