diff options
author | Ingo Molnar <mingo@elte.hu> | 2008-01-30 13:33:40 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-30 13:33:40 +0100 |
commit | 6371b495991debfd1417b17c2bc4f7d7bae05739 (patch) | |
tree | f5990360fde1f5bd9a03834f4381eea2c86408bc /include/asm-x86/io_64.h | |
parent | x86: fix recursion in arch/x86/kernel/cpu/mcheck/mce_amd_64.c (diff) | |
download | linux-6371b495991debfd1417b17c2bc4f7d7bae05739.tar.xz linux-6371b495991debfd1417b17c2bc4f7d7bae05739.zip |
x86: change ioremap() to default to uncached
Prepare ioremap() to default to uncached. This will be the
safest - but first we have to fix CPA.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include/asm-x86/io_64.h')
-rw-r--r-- | include/asm-x86/io_64.h | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/include/asm-x86/io_64.h b/include/asm-x86/io_64.h index fef0ce2ced81..7dee3c6e9c39 100644 --- a/include/asm-x86/io_64.h +++ b/include/asm-x86/io_64.h @@ -152,11 +152,6 @@ static inline void * phys_to_virt(unsigned long address) extern void __iomem *__ioremap(unsigned long offset, unsigned long size, unsigned long flags); -static inline void __iomem * ioremap (unsigned long offset, unsigned long size) -{ - return __ioremap(offset, size, 0); -} - extern void *early_ioremap(unsigned long addr, unsigned long size); extern void early_iounmap(void *addr, unsigned long size); @@ -165,8 +160,24 @@ extern void early_iounmap(void *addr, unsigned long size); * it's useful if some control registers are in such an area and write combining * or read caching is not desirable: */ -extern void __iomem * ioremap_nocache (unsigned long offset, unsigned long size); +extern void __iomem * ioremap_nocache(unsigned long offset, unsigned long size); + +static inline void __iomem * +ioremap_cache(unsigned long offset, unsigned long size) +{ + return __ioremap(offset, size, 0); +} + +/* + * The default ioremap() behavior is non-cached: + */ +static inline void __iomem * ioremap(unsigned long offset, unsigned long size) +{ + return ioremap_cache(offset, size); +} + extern void iounmap(volatile void __iomem *addr); + extern void __iomem *fix_ioremap(unsigned idx, unsigned long phys); /* |