diff options
author | Jeremy Kerr <jk@ozlabs.org> | 2015-02-11 12:55:44 +0800 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2015-03-16 18:58:31 +1100 |
commit | 6c87b2202f5414be3acae9df2e1833e8b46c5688 (patch) | |
tree | 66b618a24bac394d129577d24ecfd423b467ebba /arch/powerpc/boot/libfdt_env.h | |
parent | 1680e4ba3d4f0ab12c387975584924f585fc77eb (diff) |
powerpc/boot/fdt: Add little-endian support to libfdt wrappers
For epapr-style boot, we may be little-endian. This change implements
the proper conversion for fdt*_to_cpu and cpu_to_fdt*. We also need the
full cpu_to_* and *_to_cpu macros for this.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/boot/libfdt_env.h')
-rw-r--r-- | arch/powerpc/boot/libfdt_env.h | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/arch/powerpc/boot/libfdt_env.h b/arch/powerpc/boot/libfdt_env.h index c89fdb1b80e1..8dcd744e5728 100644 --- a/arch/powerpc/boot/libfdt_env.h +++ b/arch/powerpc/boot/libfdt_env.h @@ -4,15 +4,17 @@ #include <types.h> #include <string.h> +#include "of.h" + typedef u32 uint32_t; typedef u64 uint64_t; typedef unsigned long uintptr_t; -#define fdt16_to_cpu(x) (x) -#define cpu_to_fdt16(x) (x) -#define fdt32_to_cpu(x) (x) -#define cpu_to_fdt32(x) (x) -#define fdt64_to_cpu(x) (x) -#define cpu_to_fdt64(x) (x) +#define fdt16_to_cpu(x) be16_to_cpu(x) +#define cpu_to_fdt16(x) cpu_to_be16(x) +#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) #endif /* _ARCH_POWERPC_BOOT_LIBFDT_ENV_H */ |