On Thu, Jan 17, 2008 at 04:14:37PM -0500, Jeff Dike wrote: > On Thu, Jan 17, 2008 at 11:38:53AM -0800, Pallipadi, Venkatesh wrote: > > Apart from unxlate, there is also ioremap_wc which is defined in the > > same way. > > And while we're on the subject, what's the deal with these, in > include/asm-x86/io.h? > > #define ioremap_wc ioremap_wc > #define unxlate_dev_mem_ptr unxlate_dev_mem_ptr > If archs want to override the defaults for these two functions, they define the above and then include asm-generic/iomap.h. Archs which doesnt want to implement anything in these new funcs just have to include asm-generic/iomap.h which has the proper stubs. So, a patch like the below is what is required here for all archs to include asm-generic iomap.h (without the other patch that defines null unxlate in asm specific header). Totally untested. Thanks, Venki Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@xxxxxxxxx> Index: linux-2.6.git/include/asm-arm/io.h =================================================================== --- linux-2.6.git.orig/include/asm-arm/io.h 2008-01-17 06:28:06.000000000 -0800 +++ linux-2.6.git/include/asm-arm/io.h 2008-01-17 06:39:13.000000000 -0800 @@ -27,6 +27,8 @@ #include <asm/byteorder.h> #include <asm/memory.h> +#include <asm-generic/iomap.h> + /* * ISA I/O bus memory addresses are 1:1 with the physical address. */ Index: linux-2.6.git/include/asm-avr32/io.h =================================================================== --- linux-2.6.git.orig/include/asm-avr32/io.h 2008-01-17 06:28:06.000000000 -0800 +++ linux-2.6.git/include/asm-avr32/io.h 2008-01-17 06:39:13.000000000 -0800 @@ -10,6 +10,8 @@ #include <asm/arch/io.h> +#include <asm-generic/iomap.h> + /* virt_to_phys will only work when address is in P1 or P2 */ static __inline__ unsigned long virt_to_phys(volatile void *address) { Index: linux-2.6.git/include/asm-blackfin/io.h =================================================================== --- linux-2.6.git.orig/include/asm-blackfin/io.h 2008-01-17 06:28:06.000000000 -0800 +++ linux-2.6.git/include/asm-blackfin/io.h 2008-01-17 06:39:13.000000000 -0800 @@ -8,6 +8,8 @@ #endif #include <linux/compiler.h> +#include <asm-generic/iomap.h> + /* * These are for ISA/PCI shared memory _only_ and should never be used * on any other type of memory, including Zorro memory. They are meant to Index: linux-2.6.git/include/asm-cris/io.h =================================================================== --- linux-2.6.git.orig/include/asm-cris/io.h 2008-01-17 06:28:06.000000000 -0800 +++ linux-2.6.git/include/asm-cris/io.h 2008-01-17 06:39:13.000000000 -0800 @@ -5,6 +5,8 @@ #include <asm/arch/io.h> #include <linux/kernel.h> +#include <asm-generic/iomap.h> + struct cris_io_operations { u32 (*read_mem)(void *addr, int size); Index: linux-2.6.git/include/asm-frv/io.h =================================================================== --- linux-2.6.git.orig/include/asm-frv/io.h 2008-01-17 06:28:06.000000000 -0800 +++ linux-2.6.git/include/asm-frv/io.h 2008-01-17 06:39:13.000000000 -0800 @@ -23,6 +23,8 @@ #include <asm/mb-regs.h> #include <linux/delay.h> +#include <asm-generic/iomap.h> + /* * swap functions are sometimes needed to interface little-endian hardware */ Index: linux-2.6.git/include/asm-h8300/io.h =================================================================== --- linux-2.6.git.orig/include/asm-h8300/io.h 2008-01-17 06:28:06.000000000 -0800 +++ linux-2.6.git/include/asm-h8300/io.h 2008-01-17 06:39:13.000000000 -0800 @@ -13,6 +13,8 @@ #error UNKNOWN CPU TYPE #endif +#include <asm-generic/iomap.h> + /* * These are for ISA/PCI shared memory _only_ and should never be used Index: linux-2.6.git/include/asm-m32r/io.h =================================================================== --- linux-2.6.git.orig/include/asm-m32r/io.h 2008-01-17 06:28:06.000000000 -0800 +++ linux-2.6.git/include/asm-m32r/io.h 2008-01-17 06:39:13.000000000 -0800 @@ -5,6 +5,8 @@ #include <linux/compiler.h> #include <asm/page.h> /* __va */ +#include <asm-generic/iomap.h> + #ifdef __KERNEL__ #define IO_SPACE_LIMIT 0xFFFFFFFF Index: linux-2.6.git/include/asm-m68knommu/io.h =================================================================== --- linux-2.6.git.orig/include/asm-m68knommu/io.h 2008-01-17 06:28:06.000000000 -0800 +++ linux-2.6.git/include/asm-m68knommu/io.h 2008-01-17 06:39:13.000000000 -0800 @@ -1,6 +1,8 @@ #ifndef _M68KNOMMU_IO_H #define _M68KNOMMU_IO_H +#include <asm-generic/iomap.h> + #ifdef __KERNEL__ Index: linux-2.6.git/include/asm-ppc/io.h =================================================================== --- linux-2.6.git.orig/include/asm-ppc/io.h 2008-01-17 06:28:06.000000000 -0800 +++ linux-2.6.git/include/asm-ppc/io.h 2008-01-17 06:39:13.000000000 -0800 @@ -10,6 +10,8 @@ #include <asm/synch.h> #include <asm/mmu.h> +#include <asm-generic/iomap.h> + #define SIO_CONFIG_RA 0x398 #define SIO_CONFIG_RD 0x399 Index: linux-2.6.git/include/asm-s390/io.h =================================================================== --- linux-2.6.git.orig/include/asm-s390/io.h 2008-01-17 06:28:06.000000000 -0800 +++ linux-2.6.git/include/asm-s390/io.h 2008-01-17 06:39:13.000000000 -0800 @@ -15,6 +15,8 @@ #include <asm/page.h> +#include <asm-generic/iomap.h> + #define IO_SPACE_LIMIT 0xffffffff /* Index: linux-2.6.git/include/asm-sparc/io.h =================================================================== --- linux-2.6.git.orig/include/asm-sparc/io.h 2008-01-17 06:28:06.000000000 -0800 +++ linux-2.6.git/include/asm-sparc/io.h 2008-01-17 06:39:13.000000000 -0800 @@ -11,6 +11,8 @@ #include <asm/page.h> /* IO address mapping routines need this */ #include <asm/system.h> +#include <asm-generic/iomap.h> + #define page_to_phys(page) (((page) - mem_map) << PAGE_SHIFT) static inline u32 flip_dword (u32 l) Index: linux-2.6.git/include/asm-sparc64/io.h =================================================================== --- linux-2.6.git.orig/include/asm-sparc64/io.h 2008-01-17 06:28:06.000000000 -0800 +++ linux-2.6.git/include/asm-sparc64/io.h 2008-01-17 06:39:13.000000000 -0800 @@ -9,6 +9,8 @@ #include <asm/system.h> #include <asm/asi.h> +#include <asm-generic/iomap.h> + /* PC crapola... */ #define __SLOW_DOWN_IO do { } while (0) #define SLOW_DOWN_IO do { } while (0) Index: linux-2.6.git/include/asm-um/io.h =================================================================== --- linux-2.6.git.orig/include/asm-um/io.h 2008-01-17 06:28:06.000000000 -0800 +++ linux-2.6.git/include/asm-um/io.h 2008-01-17 06:39:13.000000000 -0800 @@ -3,6 +3,8 @@ #include "asm/page.h" +#include <asm-generic/iomap.h> + #define IO_SPACE_LIMIT 0xdeadbeef /* Sure hope nothing uses this */ static inline int inb(unsigned long i) { return(0); } Index: linux-2.6.git/include/asm-v850/io.h =================================================================== --- linux-2.6.git.orig/include/asm-v850/io.h 2008-01-17 06:28:06.000000000 -0800 +++ linux-2.6.git/include/asm-v850/io.h 2008-01-17 06:39:13.000000000 -0800 @@ -14,6 +14,8 @@ #ifndef __V850_IO_H__ #define __V850_IO_H__ +#include <asm-generic/iomap.h> + #define IO_SPACE_LIMIT 0xFFFFFFFF #define readb(addr) \ Index: linux-2.6.git/include/asm-xtensa/io.h =================================================================== --- linux-2.6.git.orig/include/asm-xtensa/io.h 2008-01-17 06:28:06.000000000 -0800 +++ linux-2.6.git/include/asm-xtensa/io.h 2008-01-17 06:39:13.000000000 -0800 @@ -18,6 +18,8 @@ #include <linux/types.h> +#include <asm-generic/iomap.h> + #define XCHAL_KIO_CACHED_VADDR 0xf0000000 #define XCHAL_KIO_BYPASS_VADDR 0xf8000000 #define XCHAL_KIO_PADDR 0xf0000000 Index: linux-2.6.git/include/asm-generic/iomap.h =================================================================== --- linux-2.6.git.orig/include/asm-generic/iomap.h 2008-01-17 06:28:06.000000000 -0800 +++ linux-2.6.git/include/asm-generic/iomap.h 2008-01-17 06:39:39.000000000 -0800 @@ -2,6 +2,7 @@ #define __GENERIC_IO_H #include <linux/linkage.h> +#include <linux/compiler.h> #include <asm/byteorder.h> /* - To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html