diff options
Diffstat (limited to 'include/asm-parisc')
-rw-r--r-- | include/asm-parisc/io.h | 33 |
1 files changed, 0 insertions, 33 deletions
diff --git a/include/asm-parisc/io.h b/include/asm-parisc/io.h index bcfe0b09c93f..29da31194b91 100644 --- a/include/asm-parisc/io.h +++ b/include/asm-parisc/io.h | |||
@@ -25,31 +25,11 @@ extern unsigned long parisc_vmerge_max_size; | |||
25 | * eg dev->hpa or 0xfee00000. | 25 | * eg dev->hpa or 0xfee00000. |
26 | */ | 26 | */ |
27 | 27 | ||
28 | #ifdef CONFIG_DEBUG_IOREMAP | ||
29 | #define NYBBLE_SHIFT (BITS_PER_LONG - 4) | ||
30 | extern void gsc_bad_addr(unsigned long addr); | ||
31 | extern void __raw_bad_addr(const volatile void __iomem *addr); | ||
32 | #define gsc_check_addr(addr) \ | ||
33 | if ((addr >> NYBBLE_SHIFT) != 0xf) { \ | ||
34 | gsc_bad_addr(addr); \ | ||
35 | addr |= 0xfUL << NYBBLE_SHIFT; \ | ||
36 | } | ||
37 | #define __raw_check_addr(addr) \ | ||
38 | if (((unsigned long)addr >> NYBBLE_SHIFT) != 0xe) \ | ||
39 | __raw_bad_addr(addr); \ | ||
40 | addr = (void __iomem *)((unsigned long)addr | (0xfUL << NYBBLE_SHIFT)); | ||
41 | #else | ||
42 | #define gsc_check_addr(addr) | ||
43 | #define __raw_check_addr(addr) | ||
44 | #endif | ||
45 | |||
46 | static inline unsigned char gsc_readb(unsigned long addr) | 28 | static inline unsigned char gsc_readb(unsigned long addr) |
47 | { | 29 | { |
48 | long flags; | 30 | long flags; |
49 | unsigned char ret; | 31 | unsigned char ret; |
50 | 32 | ||
51 | gsc_check_addr(addr); | ||
52 | |||
53 | __asm__ __volatile__( | 33 | __asm__ __volatile__( |
54 | " rsm 2,%0\n" | 34 | " rsm 2,%0\n" |
55 | " ldbx 0(%2),%1\n" | 35 | " ldbx 0(%2),%1\n" |
@@ -64,8 +44,6 @@ static inline unsigned short gsc_readw(unsigned long addr) | |||
64 | long flags; | 44 | long flags; |
65 | unsigned short ret; | 45 | unsigned short ret; |
66 | 46 | ||
67 | gsc_check_addr(addr); | ||
68 | |||
69 | __asm__ __volatile__( | 47 | __asm__ __volatile__( |
70 | " rsm 2,%0\n" | 48 | " rsm 2,%0\n" |
71 | " ldhx 0(%2),%1\n" | 49 | " ldhx 0(%2),%1\n" |
@@ -79,8 +57,6 @@ static inline unsigned int gsc_readl(unsigned long addr) | |||
79 | { | 57 | { |
80 | u32 ret; | 58 | u32 ret; |
81 | 59 | ||
82 | gsc_check_addr(addr); | ||
83 | |||
84 | __asm__ __volatile__( | 60 | __asm__ __volatile__( |
85 | " ldwax 0(%1),%0\n" | 61 | " ldwax 0(%1),%0\n" |
86 | : "=r" (ret) : "r" (addr) ); | 62 | : "=r" (ret) : "r" (addr) ); |
@@ -91,7 +67,6 @@ static inline unsigned int gsc_readl(unsigned long addr) | |||
91 | static inline unsigned long long gsc_readq(unsigned long addr) | 67 | static inline unsigned long long gsc_readq(unsigned long addr) |
92 | { | 68 | { |
93 | unsigned long long ret; | 69 | unsigned long long ret; |
94 | gsc_check_addr(addr); | ||
95 | 70 | ||
96 | #ifdef __LP64__ | 71 | #ifdef __LP64__ |
97 | __asm__ __volatile__( | 72 | __asm__ __volatile__( |
@@ -108,8 +83,6 @@ static inline unsigned long long gsc_readq(unsigned long addr) | |||
108 | static inline void gsc_writeb(unsigned char val, unsigned long addr) | 83 | static inline void gsc_writeb(unsigned char val, unsigned long addr) |
109 | { | 84 | { |
110 | long flags; | 85 | long flags; |
111 | gsc_check_addr(addr); | ||
112 | |||
113 | __asm__ __volatile__( | 86 | __asm__ __volatile__( |
114 | " rsm 2,%0\n" | 87 | " rsm 2,%0\n" |
115 | " stbs %1,0(%2)\n" | 88 | " stbs %1,0(%2)\n" |
@@ -120,8 +93,6 @@ static inline void gsc_writeb(unsigned char val, unsigned long addr) | |||
120 | static inline void gsc_writew(unsigned short val, unsigned long addr) | 93 | static inline void gsc_writew(unsigned short val, unsigned long addr) |
121 | { | 94 | { |
122 | long flags; | 95 | long flags; |
123 | gsc_check_addr(addr); | ||
124 | |||
125 | __asm__ __volatile__( | 96 | __asm__ __volatile__( |
126 | " rsm 2,%0\n" | 97 | " rsm 2,%0\n" |
127 | " sths %1,0(%2)\n" | 98 | " sths %1,0(%2)\n" |
@@ -131,8 +102,6 @@ static inline void gsc_writew(unsigned short val, unsigned long addr) | |||
131 | 102 | ||
132 | static inline void gsc_writel(unsigned int val, unsigned long addr) | 103 | static inline void gsc_writel(unsigned int val, unsigned long addr) |
133 | { | 104 | { |
134 | gsc_check_addr(addr); | ||
135 | |||
136 | __asm__ __volatile__( | 105 | __asm__ __volatile__( |
137 | " stwas %0,0(%1)\n" | 106 | " stwas %0,0(%1)\n" |
138 | : : "r" (val), "r" (addr) ); | 107 | : : "r" (val), "r" (addr) ); |
@@ -140,8 +109,6 @@ static inline void gsc_writel(unsigned int val, unsigned long addr) | |||
140 | 109 | ||
141 | static inline void gsc_writeq(unsigned long long val, unsigned long addr) | 110 | static inline void gsc_writeq(unsigned long long val, unsigned long addr) |
142 | { | 111 | { |
143 | gsc_check_addr(addr); | ||
144 | |||
145 | #ifdef __LP64__ | 112 | #ifdef __LP64__ |
146 | __asm__ __volatile__( | 113 | __asm__ __volatile__( |
147 | " stda %0,0(%1)\n" | 114 | " stda %0,0(%1)\n" |