--- zzzz-none-000/linux-2.4.17/include/asm-arm/io.h 2001-10-11 16:04:57.000000000 +0000 +++ sangam-fb-322/linux-2.4.17/include/asm-arm/io.h 2004-11-24 13:21:39.000000000 +0000 @@ -23,6 +23,7 @@ #ifdef __KERNEL__ #include +#include #include #include @@ -82,12 +83,14 @@ */ #ifdef __io #define outb(v,p) __raw_writeb(v,__io(p)) -#define outw(v,p) __raw_writew(v,__io(p)) -#define outl(v,p) __raw_writel(v,__io(p)) +#define outw(v,p) __raw_writew(__cpu_to_le16(v),__io(p)) +#define outl(v,p) __raw_writel(__cpu_to_le32(v),__io(p)) #define inb(p) ({ unsigned int __v = __raw_readb(__io(p)); __v; }) -#define inw(p) ({ unsigned int __v = __raw_readw(__io(p)); __v; }) -#define inl(p) ({ unsigned int __v = __raw_readl(__io(p)); __v; }) +#define inw(p) \ + ({ unsigned int __v = __le16_to_cpu(__raw_readw(__io(p))); __v; }) +#define inl(p) \ + ({ unsigned int __v = __le32_to_cpu(__raw_readl(__io(p))); __v; }) #define outsb(p,d,l) __raw_writesb(__io(p),d,l) #define outsw(p,d,l) __raw_writesw(__io(p),d,l) @@ -172,6 +175,8 @@ */ #ifdef __mem_pci +#ifndef __ARMEB__ + #define readb(addr) ({ unsigned int __v = __raw_readb(__mem_pci(addr)); __v; }) #define readw(addr) ({ unsigned int __v = __raw_readw(__mem_pci(addr)); __v; }) #define readl(addr) ({ unsigned int __v = __raw_readl(__mem_pci(addr)); __v; }) @@ -180,6 +185,25 @@ #define writew(val,addr) __raw_writew(val,__mem_pci(addr)) #define writel(val,addr) __raw_writel(val,__mem_pci(addr)) +#else + +#define readb(addr) \ + ({ unsigned int __v = __raw_readb(__mem_pci(addr)); __v; }) +#define readw(addr) \ + ({ unsigned int __v = __le16_to_cpu(__raw_readw(__mem_pci(addr))); \ + __v; }) +#define readl(addr) \ + ({ unsigned int __v = __le32_to_cpu(__raw_readl(__mem_pci(addr))); \ + __v; }) + +#define writeb(val,addr) __raw_writeb(val,__mem_pci(addr)) +#define writew(val,addr) \ + __raw_writew(__cpu_to_le16(val),__mem_pci(addr)) +#define writel(val,addr) \ + __raw_writel(__cpu_to_le32(val),__mem_pci(addr)) + +#endif // !__ARMEB__ + #define memset_io(a,b,c) _memset_io(__mem_pci(a),(b),(c)) #define memcpy_fromio(a,b,c) _memcpy_fromio((a),__mem_pci(b),(c)) #define memcpy_toio(a,b,c) _memcpy_toio(__mem_pci(a),(b),(c))