blob: 3aef9ac8d3aa06ee716805fc4522563ee8607427 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#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 */