blob: 8c0ad5e4487aff72faceeff9d36fe915d96f01dc [file] [log] [blame]
Harvey Harrison6510d412008-04-29 01:03:30 -07001#ifndef _ASM_SH_UNALIGNED_H
2#define _ASM_SH_UNALIGNED_H
Linus Torvalds1da177e2005-04-16 15:20:36 -07003
Paul Mundt95b781c2008-11-26 00:29:58 +09004#ifdef CONFIG_CPU_SH4A
5/* SH-4A can handle unaligned loads in a relatively neutered fashion. */
6#include <asm/unaligned-sh4a.h>
7#else
8/* Otherwise, SH can't handle unaligned accesses. */
Harvey Harrison6510d412008-04-29 01:03:30 -07009#ifdef __LITTLE_ENDIAN__
10# include <linux/unaligned/le_struct.h>
11# include <linux/unaligned/be_byteshift.h>
12# include <linux/unaligned/generic.h>
13# define get_unaligned __get_unaligned_le
14# define put_unaligned __put_unaligned_le
15#else
16# include <linux/unaligned/be_struct.h>
17# include <linux/unaligned/le_byteshift.h>
18# include <linux/unaligned/generic.h>
19# define get_unaligned __get_unaligned_be
20# define put_unaligned __put_unaligned_be
21#endif
Paul Mundt95b781c2008-11-26 00:29:58 +090022#endif
Linus Torvalds1da177e2005-04-16 15:20:36 -070023
Harvey Harrison6510d412008-04-29 01:03:30 -070024#endif /* _ASM_SH_UNALIGNED_H */