diff options
Diffstat (limited to 'arch/sh/include/asm/io.h')
| -rw-r--r-- | arch/sh/include/asm/io.h | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/arch/sh/include/asm/io.h b/arch/sh/include/asm/io.h index 5be45ea4dfec..512cd3e9d0ca 100644 --- a/arch/sh/include/asm/io.h +++ b/arch/sh/include/asm/io.h | |||
| @@ -90,15 +90,11 @@ | |||
| 90 | #define ctrl_outl __raw_writel | 90 | #define ctrl_outl __raw_writel |
| 91 | #define ctrl_outq __raw_writeq | 91 | #define ctrl_outq __raw_writeq |
| 92 | 92 | ||
| 93 | extern unsigned long generic_io_base; | ||
| 94 | |||
| 93 | static inline void ctrl_delay(void) | 95 | static inline void ctrl_delay(void) |
| 94 | { | 96 | { |
| 95 | #ifdef CONFIG_CPU_SH4 | 97 | __raw_readw(generic_io_base); |
| 96 | __raw_readw(CCN_PVR); | ||
| 97 | #elif defined(P2SEG) | ||
| 98 | __raw_readw(P2SEG); | ||
| 99 | #else | ||
| 100 | #error "Need a dummy address for delay" | ||
| 101 | #endif | ||
| 102 | } | 98 | } |
| 103 | 99 | ||
| 104 | #define __BUILD_MEMORY_STRING(bwlq, type) \ | 100 | #define __BUILD_MEMORY_STRING(bwlq, type) \ |
| @@ -186,8 +182,6 @@ __BUILD_MEMORY_STRING(q, u64) | |||
| 186 | 182 | ||
| 187 | #define IO_SPACE_LIMIT 0xffffffff | 183 | #define IO_SPACE_LIMIT 0xffffffff |
| 188 | 184 | ||
| 189 | extern unsigned long generic_io_base; | ||
| 190 | |||
| 191 | /* | 185 | /* |
| 192 | * This function provides a method for the generic case where a | 186 | * This function provides a method for the generic case where a |
| 193 | * board-specific ioport_map simply needs to return the port + some | 187 | * board-specific ioport_map simply needs to return the port + some |
| @@ -246,7 +240,7 @@ void __iounmap(void __iomem *addr); | |||
| 246 | static inline void __iomem * | 240 | static inline void __iomem * |
| 247 | __ioremap_mode(unsigned long offset, unsigned long size, unsigned long flags) | 241 | __ioremap_mode(unsigned long offset, unsigned long size, unsigned long flags) |
| 248 | { | 242 | { |
| 249 | #if defined(CONFIG_SUPERH32) && !defined(CONFIG_PMB_FIXED) | 243 | #if defined(CONFIG_SUPERH32) && !defined(CONFIG_PMB_FIXED) && !defined(CONFIG_PMB) |
| 250 | unsigned long last_addr = offset + size - 1; | 244 | unsigned long last_addr = offset + size - 1; |
| 251 | #endif | 245 | #endif |
| 252 | void __iomem *ret; | 246 | void __iomem *ret; |
| @@ -255,7 +249,7 @@ __ioremap_mode(unsigned long offset, unsigned long size, unsigned long flags) | |||
| 255 | if (ret) | 249 | if (ret) |
| 256 | return ret; | 250 | return ret; |
| 257 | 251 | ||
| 258 | #if defined(CONFIG_SUPERH32) && !defined(CONFIG_PMB_FIXED) | 252 | #if defined(CONFIG_SUPERH32) && !defined(CONFIG_PMB_FIXED) && !defined(CONFIG_PMB) |
| 259 | /* | 253 | /* |
| 260 | * For P1 and P2 space this is trivial, as everything is already | 254 | * For P1 and P2 space this is trivial, as everything is already |
| 261 | * mapped. Uncached access for P1 addresses are done through P2. | 255 | * mapped. Uncached access for P1 addresses are done through P2. |
