diff options
Diffstat (limited to 'include/libfdt_env.h')
| -rw-r--r-- | include/libfdt_env.h | 21 | 
1 files changed, 16 insertions, 5 deletions
| diff --git a/include/libfdt_env.h b/include/libfdt_env.h index 671c3a898..ea474a56b 100644 --- a/include/libfdt_env.h +++ b/include/libfdt_env.h @@ -24,20 +24,30 @@  #ifdef USE_HOSTCC  #include <stdint.h>  #include <string.h> +#include <endian.h> +#include <byteswap.h>  #else  #include <linux/string.h>  #include <linux/types.h> +#include <asm/byteorder.h>  #endif /* USE_HOSTCC */  #include <stddef.h> -#include <asm/byteorder.h>  extern struct fdt_header *working_fdt;  /* Pointer to the working fdt */ -#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) -#define cpu_to_fdt64(x)		__cpu_to_be64(x) +#if __BYTE_ORDER == __LITTLE_ENDIAN +#define fdt32_to_cpu(x)		bswap_32(x) +#define cpu_to_fdt32(x)		bswap_32(x) +#define fdt64_to_cpu(x)		bswap_64(x) +#define cpu_to_fdt64(x)		bswap_64(x) +#else +#define fdt32_to_cpu(x)		(x) +#define cpu_to_fdt32(x)		(x) +#define fdt64_to_cpu(x)		(x) +#define cpu_to_fdt64(x)		(x) +#endif +#ifndef USE_HOSTCC  /*   * Types for `void *' pointers.   * @@ -49,5 +59,6 @@ typedef unsigned long int       uintptr_t;  #else  typedef unsigned int            uintptr_t;  #endif +#endif /* not USE_HOSTCC */  #endif /* _LIBFDT_ENV_H */ |