aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarvey Harrison <harvey.harrison@gmail.com>2009-01-06 17:56:28 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2009-01-06 21:10:27 -0500
commitc6f09f0c32e5e30b91dea901f00251173fe997f4 (patch)
tree163597626d012e325229d2c9e3dc3e2066857d73
parent5d30a683888c60b8f93bef3ddc139d1a91ca58f4 (diff)
m68k: introduce asm/swab.h
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--include/asm-m68k/Kbuild1
-rw-r--r--include/asm-m68k/byteorder.h16
-rw-r--r--include/asm-m68k/swab.h16
3 files changed, 19 insertions, 14 deletions
diff --git a/include/asm-m68k/Kbuild b/include/asm-m68k/Kbuild
index 1a922fad76f7..52fd96b4142a 100644
--- a/include/asm-m68k/Kbuild
+++ b/include/asm-m68k/Kbuild
@@ -1,2 +1,3 @@
1include include/asm-generic/Kbuild.asm 1include include/asm-generic/Kbuild.asm
2header-y += cachectl.h 2header-y += cachectl.h
3unifdef-y += swab.h
diff --git a/include/asm-m68k/byteorder.h b/include/asm-m68k/byteorder.h
index b354acdafec8..300866523b86 100644
--- a/include/asm-m68k/byteorder.h
+++ b/include/asm-m68k/byteorder.h
@@ -1,19 +1,7 @@
1#ifndef _M68K_BYTEORDER_H 1#ifndef _M68K_BYTEORDER_H
2#define _M68K_BYTEORDER_H 2#define _M68K_BYTEORDER_H
3 3
4#include <asm/types.h> 4#include <asm/swab.h>
5#include <linux/compiler.h> 5#include <linux/byteorder/big_endian.h>
6
7#define __BIG_ENDIAN
8#define __SWAB_64_THRU_32__
9
10static inline __attribute_const__ __u32 __arch_swab32(__u32 val)
11{
12 __asm__("rolw #8,%0; swap %0; rolw #8,%0" : "=d" (val) : "0" (val));
13 return val;
14}
15#define __arch_swab32 __arch_swab32
16
17#include <linux/byteorder.h>
18 6
19#endif /* _M68K_BYTEORDER_H */ 7#endif /* _M68K_BYTEORDER_H */
diff --git a/include/asm-m68k/swab.h b/include/asm-m68k/swab.h
new file mode 100644
index 000000000000..7221e3066825
--- /dev/null
+++ b/include/asm-m68k/swab.h
@@ -0,0 +1,16 @@
1#ifndef _M68K_SWAB_H
2#define _M68K_SWAB_H
3
4#include <asm/types.h>
5#include <linux/compiler.h>
6
7#define __SWAB_64_THRU_32__
8
9static inline __attribute_const__ __u32 __arch_swab32(__u32 val)
10{
11 __asm__("rolw #8,%0; swap %0; rolw #8,%0" : "=d" (val) : "0" (val));
12 return val;
13}
14#define __arch_swab32 __arch_swab32
15
16#endif /* _M68K_SWAB_H */