1 #ifndef __ASM_AVR32_UNALIGNED_H
2 #define __ASM_AVR32_UNALIGNED_H
5 * AVR32 can handle some unaligned accesses, depending on the
6 * implementation. The AVR32 AP implementation can handle unaligned
7 * words, but halfwords must be halfword-aligned, and doublewords must
11 #include <asm-generic/unaligned.h>
13 #ifdef CONFIG_CPU_AT32AP7000
15 /* REVISIT calling memmove() may be smaller for 64-bit values ... */
18 #define get_unaligned(ptr) \
19 ___get_unaligned(ptr, sizeof((*ptr)))
20 #define ___get_unaligned(ptr, size) \
21 ((size == 4) ? *(ptr) : __get_unaligned(ptr, size))
24 #define put_unaligned(val, ptr) \
25 ___put_unaligned((__u64)(val), ptr, sizeof((*ptr)))
26 #define ___put_unaligned(val, ptr, size) \
31 __put_unaligned(val, ptr, size); \
36 #endif /* __ASM_AVR32_UNALIGNED_H */