xref: /openbmc/u-boot/arch/sh/include/asm/unaligned.h (revision bd5053ff)
1819833afSPeter Tyser #ifndef _ASM_SH_UNALIGNED_H
2819833afSPeter Tyser #define _ASM_SH_UNALIGNED_H
3819833afSPeter Tyser 
4819833afSPeter Tyser /* Copy from linux-kernel. */
5819833afSPeter Tyser 
6819833afSPeter Tyser #ifdef CONFIG_CPU_SH4A
7819833afSPeter Tyser /* SH-4A can handle unaligned loads in a relatively neutered fashion. */
8819833afSPeter Tyser #include <asm/unaligned-sh4a.h>
9819833afSPeter Tyser #else
10819833afSPeter Tyser /* Otherwise, SH can't handle unaligned accesses. */
11*afc366f0SMasahiro Yamada #include <linux/compiler.h>
12819833afSPeter Tyser #if defined(__BIG_ENDIAN__)
13819833afSPeter Tyser #define get_unaligned   __get_unaligned_be
14819833afSPeter Tyser #define put_unaligned   __put_unaligned_be
15819833afSPeter Tyser #elif defined(__LITTLE_ENDIAN__)
16819833afSPeter Tyser #define get_unaligned   __get_unaligned_le
17819833afSPeter Tyser #define put_unaligned   __put_unaligned_le
18819833afSPeter Tyser #endif
19819833afSPeter Tyser 
20819833afSPeter Tyser #include <linux/unaligned/le_byteshift.h>
21819833afSPeter Tyser #include <linux/unaligned/be_byteshift.h>
22819833afSPeter Tyser #include <linux/unaligned/generic.h>
23819833afSPeter Tyser #endif
24819833afSPeter Tyser 
25819833afSPeter Tyser #endif /* _ASM_SH_UNALIGNED_H */
26