It's very good to me, thanks. Guan Xuetao On Sat, 2011-07-02 at 19:36 +0200, Jonas Bonn wrote: > Some of the implementations, in particular the ioremap variants, in > asm-generic/io.h are for systems without an MMU. In order to be able to > use the generic header file for systems with an MMU, this patch wraps > these implementations in checks for CONFIG_MMU. > > Tested on OpenRISC. > > Signed-off-by: Jonas Bonn <jonas@xxxxxxxxxxxx> > Cc: vapier@xxxxxxxxxx > Cc: liqin.chen@xxxxxxxxxxxxx > Cc: gxt@xxxxxxxxxxxxxxx > --- > include/asm-generic/io.h | 7 ++++++- > 1 files changed, 6 insertions(+), 1 deletions(-) > > diff --git a/include/asm-generic/io.h b/include/asm-generic/io.h > index e0ffa3d..a1caf2d 100644 > --- a/include/asm-generic/io.h > +++ b/include/asm-generic/io.h > @@ -307,7 +307,11 @@ static inline void *phys_to_virt(unsigned long address) > > /* > * Change "struct page" to physical address. > + * > + * This implementation is for the no-MMU case only... if you have an MMU > + * you'll need to provide your own definitions. > */ > +#ifndef CONFIG_MMU > static inline void __iomem *ioremap(phys_addr_t offset, unsigned long size) > { > return (void __iomem*) (unsigned long)offset; > @@ -326,6 +330,7 @@ static inline void __iomem *ioremap(phys_addr_t offset, unsigned long size) > static inline void iounmap(void *addr) > { > } > +#endif /* CONFIG_MMU */ > > #ifndef CONFIG_GENERIC_IOMAP > static inline void __iomem *ioport_map(unsigned long port, unsigned int nr) > @@ -342,7 +347,7 @@ extern void ioport_unmap(void __iomem *p); > #endif /* CONFIG_GENERIC_IOMAP */ > > #define xlate_dev_kmem_ptr(p) p > -#define xlate_dev_mem_ptr(p) ((void *) (p)) > +#define xlate_dev_mem_ptr(p) __va(p) > > #ifndef virt_to_bus > static inline unsigned long virt_to_bus(volatile void *address) -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html