diff options
author | Harvey Harrison <harvey.harrison@gmail.com> | 2009-01-06 17:56:32 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-01-06 21:10:28 -0500 |
commit | 231cc432f4d684b8c75d9a8e0654c51b9d6ed341 (patch) | |
tree | eeb894f901a7570dc0f56a9b894f0745ad55c9af /arch/m68knommu | |
parent | fc61708b3afe1bdd05c14b65c0ae2f4ad2a3928a (diff) |
m68knommu: introduce asm/swab.h
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/m68knommu')
-rw-r--r-- | arch/m68knommu/include/asm/Kbuild | 2 | ||||
-rw-r--r-- | arch/m68knommu/include/asm/byteorder.h | 22 | ||||
-rw-r--r-- | arch/m68knommu/include/asm/swab.h | 24 |
3 files changed, 27 insertions, 21 deletions
diff --git a/arch/m68knommu/include/asm/Kbuild b/arch/m68knommu/include/asm/Kbuild index c68e1680da01..58c02a454130 100644 --- a/arch/m68knommu/include/asm/Kbuild +++ b/arch/m68knommu/include/asm/Kbuild | |||
@@ -1 +1,3 @@ | |||
1 | include include/asm-generic/Kbuild.asm | 1 | include include/asm-generic/Kbuild.asm |
2 | |||
3 | unifdef-y += swab.h | ||
diff --git a/arch/m68knommu/include/asm/byteorder.h b/arch/m68knommu/include/asm/byteorder.h index 20bb4426b610..a6f0b8f7f622 100644 --- a/arch/m68knommu/include/asm/byteorder.h +++ b/arch/m68knommu/include/asm/byteorder.h | |||
@@ -1,27 +1,7 @@ | |||
1 | #ifndef _M68KNOMMU_BYTEORDER_H | 1 | #ifndef _M68KNOMMU_BYTEORDER_H |
2 | #define _M68KNOMMU_BYTEORDER_H | 2 | #define _M68KNOMMU_BYTEORDER_H |
3 | 3 | ||
4 | #include <linux/types.h> | 4 | #include <asm/swab.h> |
5 | |||
6 | #if defined(__GNUC__) && !defined(__STRICT_ANSI__) || defined(__KERNEL__) | ||
7 | # define __BYTEORDER_HAS_U64__ | ||
8 | # define __SWAB_64_THRU_32__ | ||
9 | #endif | ||
10 | |||
11 | #if defined (__mcfisaaplus__) || defined (__mcfisac__) | ||
12 | static inline __attribute_const__ __u32 ___arch__swab32(__u32 val) | ||
13 | { | ||
14 | asm( | ||
15 | "byterev %0" | ||
16 | : "=d" (val) | ||
17 | : "0" (val) | ||
18 | ); | ||
19 | return val; | ||
20 | } | ||
21 | |||
22 | #define __arch__swab32(x) ___arch__swab32(x) | ||
23 | #endif | ||
24 | |||
25 | #include <linux/byteorder/big_endian.h> | 5 | #include <linux/byteorder/big_endian.h> |
26 | 6 | ||
27 | #endif /* _M68KNOMMU_BYTEORDER_H */ | 7 | #endif /* _M68KNOMMU_BYTEORDER_H */ |
diff --git a/arch/m68knommu/include/asm/swab.h b/arch/m68knommu/include/asm/swab.h new file mode 100644 index 000000000000..e582257db300 --- /dev/null +++ b/arch/m68knommu/include/asm/swab.h | |||
@@ -0,0 +1,24 @@ | |||
1 | #ifndef _M68KNOMMU_SWAB_H | ||
2 | #define _M68KNOMMU_SWAB_H | ||
3 | |||
4 | #include <linux/types.h> | ||
5 | |||
6 | #if defined(__GNUC__) && !defined(__STRICT_ANSI__) || defined(__KERNEL__) | ||
7 | # define __SWAB_64_THRU_32__ | ||
8 | #endif | ||
9 | |||
10 | #if defined (__mcfisaaplus__) || defined (__mcfisac__) | ||
11 | static inline __attribute_const__ __u32 __arch_swab32(__u32 val) | ||
12 | { | ||
13 | asm( | ||
14 | "byterev %0" | ||
15 | : "=d" (val) | ||
16 | : "0" (val) | ||
17 | ); | ||
18 | return val; | ||
19 | } | ||
20 | |||
21 | #define __arch_swab32 __arch_swab32 | ||
22 | #endif | ||
23 | |||
24 | #endif /* _M68KNOMMU_SWAB_H */ | ||