/home/lenb/src/to-linus branch 'acpi-2.6.12'
[linux-2.6] / 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 */