提交 5f868152 编写于 作者: T Thomas Gleixner 提交者: Ingo Molnar

x86: fix ioremap API

Signed-off-by: NIngo Molnar <mingo@elte.hu>
Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
上级 266b9f87
...@@ -106,8 +106,8 @@ static int ioremap_change_attr(unsigned long phys_addr, unsigned long size, ...@@ -106,8 +106,8 @@ static int ioremap_change_attr(unsigned long phys_addr, unsigned long size,
* have to convert them into an offset in a page-aligned mapping, but the * have to convert them into an offset in a page-aligned mapping, but the
* caller shouldn't need to know that small detail. * caller shouldn't need to know that small detail.
*/ */
void __iomem *__ioremap(unsigned long phys_addr, unsigned long size, static void __iomem *__ioremap(unsigned long phys_addr, unsigned long size,
unsigned long flags) unsigned long flags)
{ {
void __iomem *addr; void __iomem *addr;
struct vm_struct *area; struct vm_struct *area;
...@@ -164,7 +164,6 @@ void __iomem *__ioremap(unsigned long phys_addr, unsigned long size, ...@@ -164,7 +164,6 @@ void __iomem *__ioremap(unsigned long phys_addr, unsigned long size,
return (void __iomem *) (offset + (char __iomem *)addr); return (void __iomem *) (offset + (char __iomem *)addr);
} }
EXPORT_SYMBOL(__ioremap);
/** /**
* ioremap_nocache - map bus memory into CPU space * ioremap_nocache - map bus memory into CPU space
...@@ -193,6 +192,12 @@ void __iomem *ioremap_nocache(unsigned long phys_addr, unsigned long size) ...@@ -193,6 +192,12 @@ void __iomem *ioremap_nocache(unsigned long phys_addr, unsigned long size)
} }
EXPORT_SYMBOL(ioremap_nocache); EXPORT_SYMBOL(ioremap_nocache);
void __iomem *ioremap_cache(unsigned long phys_addr, unsigned long size)
{
return __ioremap(phys_addr, size, 0);
}
EXPORT_SYMBOL(ioremap_cache);
/** /**
* iounmap - Free a IO remapping * iounmap - Free a IO remapping
* @addr: virtual address from ioremap_* * @addr: virtual address from ioremap_*
......
...@@ -100,8 +100,6 @@ static inline void * phys_to_virt(unsigned long address) ...@@ -100,8 +100,6 @@ static inline void * phys_to_virt(unsigned long address)
*/ */
#define page_to_phys(page) ((dma_addr_t)page_to_pfn(page) << PAGE_SHIFT) #define page_to_phys(page) ((dma_addr_t)page_to_pfn(page) << PAGE_SHIFT)
extern void __iomem * __ioremap(unsigned long offset, unsigned long size, unsigned long flags);
/** /**
* ioremap - map bus memory into CPU space * ioremap - map bus memory into CPU space
* @offset: bus address of the memory * @offset: bus address of the memory
...@@ -116,18 +114,13 @@ extern void __iomem * __ioremap(unsigned long offset, unsigned long size, unsign ...@@ -116,18 +114,13 @@ extern void __iomem * __ioremap(unsigned long offset, unsigned long size, unsign
* 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); extern void __iomem *ioremap_nocache(unsigned long offset, unsigned long size);
extern void __iomem *ioremap_cache(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: * The default ioremap() behavior is non-cached:
*/ */
static inline void __iomem * ioremap(unsigned long offset, unsigned long size) static inline void __iomem *ioremap(unsigned long offset, unsigned long size)
{ {
return ioremap_nocache(offset, size); return ioremap_nocache(offset, size);
} }
......
...@@ -150,8 +150,6 @@ static inline void * phys_to_virt(unsigned long address) ...@@ -150,8 +150,6 @@ static inline void * phys_to_virt(unsigned long address)
#include <asm-generic/iomap.h> #include <asm-generic/iomap.h>
extern void __iomem *__ioremap(unsigned long offset, unsigned long size, unsigned long flags);
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);
...@@ -160,18 +158,13 @@ extern void early_iounmap(void *addr, unsigned long size); ...@@ -160,18 +158,13 @@ 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);
extern void __iomem *ioremap_cache(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: * The default ioremap() behavior is non-cached:
*/ */
static inline void __iomem * ioremap(unsigned long offset, unsigned long size) static inline void __iomem *ioremap(unsigned long offset, unsigned long size)
{ {
return ioremap_cache(offset, size); return ioremap_cache(offset, size);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册