diff options
Diffstat (limited to 'include/asm-sh/byteorder.h')
-rw-r--r-- | include/asm-sh/byteorder.h | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/include/asm-sh/byteorder.h b/include/asm-sh/byteorder.h deleted file mode 100644 index 4c13e6117563..000000000000 --- a/include/asm-sh/byteorder.h +++ /dev/null | |||
@@ -1,70 +0,0 @@ | |||
1 | #ifndef __ASM_SH_BYTEORDER_H | ||
2 | #define __ASM_SH_BYTEORDER_H | ||
3 | |||
4 | /* | ||
5 | * Copyright (C) 1999 Niibe Yutaka | ||
6 | * Copyright (C) 2000, 2001 Paolo Alberelli | ||
7 | */ | ||
8 | #include <linux/compiler.h> | ||
9 | #include <linux/types.h> | ||
10 | |||
11 | static inline __attribute_const__ __u32 ___arch__swab32(__u32 x) | ||
12 | { | ||
13 | __asm__( | ||
14 | #ifdef __SH5__ | ||
15 | "byterev %0, %0\n\t" | ||
16 | "shari %0, 32, %0" | ||
17 | #else | ||
18 | "swap.b %0, %0\n\t" | ||
19 | "swap.w %0, %0\n\t" | ||
20 | "swap.b %0, %0" | ||
21 | #endif | ||
22 | : "=r" (x) | ||
23 | : "0" (x)); | ||
24 | |||
25 | return x; | ||
26 | } | ||
27 | |||
28 | static inline __attribute_const__ __u16 ___arch__swab16(__u16 x) | ||
29 | { | ||
30 | __asm__( | ||
31 | #ifdef __SH5__ | ||
32 | "byterev %0, %0\n\t" | ||
33 | "shari %0, 32, %0" | ||
34 | #else | ||
35 | "swap.b %0, %0" | ||
36 | #endif | ||
37 | : "=r" (x) | ||
38 | : "0" (x)); | ||
39 | |||
40 | return x; | ||
41 | } | ||
42 | |||
43 | static inline __u64 ___arch__swab64(__u64 val) | ||
44 | { | ||
45 | union { | ||
46 | struct { __u32 a,b; } s; | ||
47 | __u64 u; | ||
48 | } v, w; | ||
49 | v.u = val; | ||
50 | w.s.b = ___arch__swab32(v.s.a); | ||
51 | w.s.a = ___arch__swab32(v.s.b); | ||
52 | return w.u; | ||
53 | } | ||
54 | |||
55 | #define __arch__swab64(x) ___arch__swab64(x) | ||
56 | #define __arch__swab32(x) ___arch__swab32(x) | ||
57 | #define __arch__swab16(x) ___arch__swab16(x) | ||
58 | |||
59 | #if !defined(__STRICT_ANSI__) || defined(__KERNEL__) | ||
60 | # define __BYTEORDER_HAS_U64__ | ||
61 | # define __SWAB_64_THRU_32__ | ||
62 | #endif | ||
63 | |||
64 | #ifdef __LITTLE_ENDIAN__ | ||
65 | #include <linux/byteorder/little_endian.h> | ||
66 | #else | ||
67 | #include <linux/byteorder/big_endian.h> | ||
68 | #endif | ||
69 | |||
70 | #endif /* __ASM_SH_BYTEORDER_H */ | ||