Merge branch 'fixes' of git://git.armlinux.org.uk/~rmk/linux-arm
[muen/linux.git] / arch / arm / include / asm / unaligned.h
1 #ifndef __ASM_ARM_UNALIGNED_H
2 #define __ASM_ARM_UNALIGNED_H
3
4 /*
5  * We generally want to set CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS on ARMv6+,
6  * but we don't want to use linux/unaligned/access_ok.h since that can lead
7  * to traps on unaligned stm/ldm or strd/ldrd.
8  */
9 #include <asm/byteorder.h>
10
11 #if defined(__LITTLE_ENDIAN)
12 # include <linux/unaligned/le_struct.h>
13 # include <linux/unaligned/be_byteshift.h>
14 # include <linux/unaligned/generic.h>
15 # define get_unaligned  __get_unaligned_le
16 # define put_unaligned  __put_unaligned_le
17 #elif defined(__BIG_ENDIAN)
18 # include <linux/unaligned/be_struct.h>
19 # include <linux/unaligned/le_byteshift.h>
20 # include <linux/unaligned/generic.h>
21 # define get_unaligned  __get_unaligned_be
22 # define put_unaligned  __put_unaligned_be
23 #else
24 # error need to define endianess
25 #endif
26
27 #endif /* __ASM_ARM_UNALIGNED_H */