asm-generic/io.h: move ioremap_nocache/ioremap_uc/ioremap_wc/ioremap_wt out of ifndef CONFIG_MMU
It allows some architectures to use this generic macro instead of defining theirs. sparc: io: To use the define of ioremap_[nocache|wc|wb] in asm-generic/io.h It will move the ioremap_nocache out of the CONFIG_MMU ifdef. This means that in order to suppress re-definition errors we need to remove the #define in arch/sparc/include/asm/io_32.h. Also, the change adds a prototype for ioremap where size is size_t and offset is phys_addr_t so fix that as well. Signed-off-by: Greentime Hu <greentime@andestech.com>
This commit is contained in:
parent
94bc61ead4
commit
b3ada9d0ce
|
@ -127,12 +127,7 @@ static inline void sbus_memcpy_toio(volatile void __iomem *dst,
|
||||||
* Bus number may be embedded in the higher bits of the physical address.
|
* Bus number may be embedded in the higher bits of the physical address.
|
||||||
* This is why we have no bus number argument to ioremap().
|
* This is why we have no bus number argument to ioremap().
|
||||||
*/
|
*/
|
||||||
void __iomem *ioremap(unsigned long offset, unsigned long size);
|
|
||||||
#define ioremap_nocache(X,Y) ioremap((X),(Y))
|
|
||||||
#define ioremap_wc(X,Y) ioremap((X),(Y))
|
|
||||||
#define ioremap_wt(X,Y) ioremap((X),(Y))
|
|
||||||
void iounmap(volatile void __iomem *addr);
|
void iounmap(volatile void __iomem *addr);
|
||||||
|
|
||||||
/* Create a virtual mapping cookie for an IO port range */
|
/* Create a virtual mapping cookie for an IO port range */
|
||||||
void __iomem *ioport_map(unsigned long port, unsigned int nr);
|
void __iomem *ioport_map(unsigned long port, unsigned int nr);
|
||||||
void ioport_unmap(void __iomem *);
|
void ioport_unmap(void __iomem *);
|
||||||
|
|
|
@ -122,12 +122,12 @@ static void xres_free(struct xresource *xrp) {
|
||||||
*
|
*
|
||||||
* Bus type is always zero on IIep.
|
* Bus type is always zero on IIep.
|
||||||
*/
|
*/
|
||||||
void __iomem *ioremap(unsigned long offset, unsigned long size)
|
void __iomem *ioremap(phys_addr_t offset, size_t size)
|
||||||
{
|
{
|
||||||
char name[14];
|
char name[14];
|
||||||
|
|
||||||
sprintf(name, "phys_%08x", (u32)offset);
|
sprintf(name, "phys_%08x", (u32)offset);
|
||||||
return _sparc_alloc_io(0, offset, size, name);
|
return _sparc_alloc_io(0, (unsigned long)offset, size, name);
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(ioremap);
|
EXPORT_SYMBOL(ioremap);
|
||||||
|
|
||||||
|
|
|
@ -852,7 +852,16 @@ static inline void __iomem *__ioremap(phys_addr_t offset, size_t size,
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef iounmap
|
||||||
|
#define iounmap iounmap
|
||||||
|
|
||||||
|
static inline void iounmap(void __iomem *addr)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif /* CONFIG_MMU */
|
||||||
#ifndef ioremap_nocache
|
#ifndef ioremap_nocache
|
||||||
|
void __iomem *ioremap(phys_addr_t phys_addr, size_t size);
|
||||||
#define ioremap_nocache ioremap_nocache
|
#define ioremap_nocache ioremap_nocache
|
||||||
static inline void __iomem *ioremap_nocache(phys_addr_t offset, size_t size)
|
static inline void __iomem *ioremap_nocache(phys_addr_t offset, size_t size)
|
||||||
{
|
{
|
||||||
|
@ -884,15 +893,6 @@ static inline void __iomem *ioremap_wt(phys_addr_t offset, size_t size)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef iounmap
|
|
||||||
#define iounmap iounmap
|
|
||||||
|
|
||||||
static inline void iounmap(void __iomem *addr)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
#endif /* CONFIG_MMU */
|
|
||||||
|
|
||||||
#ifdef CONFIG_HAS_IOPORT_MAP
|
#ifdef CONFIG_HAS_IOPORT_MAP
|
||||||
#ifndef CONFIG_GENERIC_IOMAP
|
#ifndef CONFIG_GENERIC_IOMAP
|
||||||
#ifndef ioport_map
|
#ifndef ioport_map
|
||||||
|
|
Loading…
Reference in New Issue