diff options
| author | Kyle McMartin <kyle@parisc-linux.org> | 2006-04-20 17:16:32 -0400 |
|---|---|---|
| committer | Kyle McMartin <kyle@hera.kernel.org> | 2006-04-21 18:20:35 -0400 |
| commit | 1b52d7c2210b9a64c5cba6aded478c8217a8853c (patch) | |
| tree | 4fe47a5723720a7df5cd15997cf725e5363e276b | |
| parent | 6ca773cf8b9dc19989c9b44635292b1ba80f9112 (diff) | |
[PARISC] Make ioremap default to _nocache
Since it is way more work to change most drivers to comply with parisc, take
the easy way out and make ioremap _NO_CACHE by default. This is in line with
what powerpc does.
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
| -rw-r--r-- | include/asm-parisc/io.h | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/include/asm-parisc/io.h b/include/asm-parisc/io.h index 29da31194b91..244f6b8883f4 100644 --- a/include/asm-parisc/io.h +++ b/include/asm-parisc/io.h | |||
| @@ -126,24 +126,17 @@ static inline void gsc_writeq(unsigned long long val, unsigned long addr) | |||
| 126 | 126 | ||
| 127 | extern void __iomem * __ioremap(unsigned long offset, unsigned long size, unsigned long flags); | 127 | extern void __iomem * __ioremap(unsigned long offset, unsigned long size, unsigned long flags); |
| 128 | 128 | ||
| 129 | extern inline void __iomem * ioremap(unsigned long offset, unsigned long size) | 129 | /* Most machines react poorly to I/O-space being cacheable... Instead let's |
| 130 | { | 130 | * define ioremap() in terms of ioremap_nocache(). |
| 131 | return __ioremap(offset, size, 0); | ||
| 132 | } | ||
| 133 | |||
| 134 | /* | ||
| 135 | * This one maps high address device memory and turns off caching for that area. | ||
| 136 | * it's useful if some control registers are in such an area and write combining | ||
| 137 | * or read caching is not desirable: | ||
| 138 | */ | 131 | */ |
| 139 | extern inline void * ioremap_nocache(unsigned long offset, unsigned long size) | 132 | extern inline void __iomem * ioremap(unsigned long offset, unsigned long size) |
| 140 | { | 133 | { |
| 141 | return __ioremap(offset, size, _PAGE_NO_CACHE /* _PAGE_PCD */); | 134 | return __ioremap(offset, size, _PAGE_NO_CACHE); |
| 142 | } | 135 | } |
| 136 | #define ioremap_nocache(off, sz) ioremap((off), (sz)) | ||
| 143 | 137 | ||
| 144 | extern void iounmap(void __iomem *addr); | 138 | extern void iounmap(void __iomem *addr); |
| 145 | 139 | ||
| 146 | |||
| 147 | static inline unsigned char __raw_readb(const volatile void __iomem *addr) | 140 | static inline unsigned char __raw_readb(const volatile void __iomem *addr) |
| 148 | { | 141 | { |
| 149 | return (*(volatile unsigned char __force *) (addr)); | 142 | return (*(volatile unsigned char __force *) (addr)); |
