Mike Frysinger | 3adc1fd | 2010-01-21 05:01:14 -0500 | [diff] [blame] | 1 | #ifndef _GENERIC_UNALIGNED_H |
| 2 | #define _GENERIC_UNALIGNED_H |
| 3 | |
| 4 | #include <asm/byteorder.h> |
| 5 | |
| 6 | #include <linux/unaligned/le_byteshift.h> |
| 7 | #include <linux/unaligned/be_byteshift.h> |
| 8 | #include <linux/unaligned/generic.h> |
| 9 | |
| 10 | /* |
| 11 | * Select endianness |
| 12 | */ |
| 13 | #if defined(__LITTLE_ENDIAN) |
| 14 | #define get_unaligned __get_unaligned_le |
| 15 | #define put_unaligned __put_unaligned_le |
| 16 | #elif defined(__BIG_ENDIAN) |
| 17 | #define get_unaligned __get_unaligned_be |
| 18 | #define put_unaligned __put_unaligned_be |
| 19 | #else |
| 20 | #error invalid endian |
| 21 | #endif |
| 22 | |
Heinrich Schuchardt | c3b11de | 2018-04-03 21:59:32 +0200 | [diff] [blame] | 23 | /* Allow unaligned memory access */ |
| 24 | void allow_unaligned(void); |
| 25 | |
Mike Frysinger | 3adc1fd | 2010-01-21 05:01:14 -0500 | [diff] [blame] | 26 | #endif |