Commit 6371b495 authored by Ingo Molnar's avatar Ingo Molnar

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: default avatarIngo Molnar <mingo@elte.hu>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
parent 5a96f4a5
...@@ -111,18 +111,27 @@ extern void __iomem * __ioremap(unsigned long offset, unsigned long size, unsign ...@@ -111,18 +111,27 @@ extern void __iomem * __ioremap(unsigned long offset, unsigned long size, unsign
* make bus memory CPU accessible via the readb/readw/readl/writeb/ * make bus memory CPU accessible via the readb/readw/readl/writeb/
* writew/writel functions and the other mmio helpers. The returned * writew/writel functions and the other mmio helpers. The returned
* address is not guaranteed to be usable directly as a virtual * address is not guaranteed to be usable directly as a virtual
* address. * address.
* *
* If the area you are trying to map is a PCI BAR you should have a * If the area you are trying to map is a PCI BAR you should have a
* look at pci_iomap(). * look at pci_iomap().
*/ */
extern void __iomem * ioremap_nocache(unsigned long offset, unsigned long size);
static inline void __iomem * ioremap(unsigned long offset, unsigned long size) static inline void __iomem *
ioremap_cache(unsigned long offset, unsigned long size)
{ {
return __ioremap(offset, size, 0); return __ioremap(offset, size, 0);
} }
extern void __iomem * ioremap_nocache(unsigned long offset, unsigned long size); /*
* The default ioremap() behavior is non-cached:
*/
static inline void __iomem * ioremap(unsigned long offset, unsigned long size)
{
return ioremap_nocache(offset, size);
}
extern void iounmap(volatile void __iomem *addr); extern void iounmap(volatile void __iomem *addr);
/* /*
......
...@@ -152,11 +152,6 @@ static inline void * phys_to_virt(unsigned long address) ...@@ -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); 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_ioremap(unsigned long addr, unsigned long size);
extern void early_iounmap(void *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); ...@@ -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 * it's useful if some control registers are in such an area and write combining
* or read caching is not desirable: * 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 iounmap(volatile void __iomem *addr);
extern void __iomem *fix_ioremap(unsigned idx, unsigned long phys); extern void __iomem *fix_ioremap(unsigned idx, unsigned long phys);
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment