Linux-2.6.12-rc2
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / include / asm-m32r / unaligned.h
1 #ifndef _ASM_M32R_UNALIGNED_H
2 #define _ASM_M32R_UNALIGNED_H
3
4 /* $Id$ */
5
6 /* orig : generic 2.4.18 */
7
8 /*
9 * For the benefit of those who are trying to port Linux to another
10 * architecture, here are some C-language equivalents.
11 */
12
13 #include <asm/string.h>
14
15
16 #define get_unaligned(ptr) \
17 ({ __typeof__(*(ptr)) __tmp; memmove(&__tmp, (ptr), sizeof(*(ptr))); __tmp; })
18
19 #define put_unaligned(val, ptr) \
20 ({ __typeof__(*(ptr)) __tmp = (val); \
21 memmove((ptr), &__tmp, sizeof(*(ptr))); \
22 (void)0; })
23
24
25 #endif /* _ASM_M32R_UNALIGNED_H */