[PATCH] m32r: NONCACHE_OFFSET in _port2addr
authorHirokazu Takata <takata@linux-m32r.org>
Sun, 30 Oct 2005 23:00:04 +0000 (15:00 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Mon, 31 Oct 2005 01:37:16 +0000 (17:37 -0800)
Change _port2addr() not to add NONCACHE_OFFSET.  Adding NONCACHE_OFFSET
requires needless address adjusting by a driver using ioremap() like a
SMC91x driver.

Signed-off-by: Hayato Fujiwara <fujiwara@linux-m32r.org>
Signed-off-by: Hirokazu Takata <takata@linux-m32r.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/m32r/kernel/io_mappi.c
arch/m32r/kernel/io_mappi2.c
arch/m32r/kernel/io_oaks32r.c
arch/m32r/kernel/io_opsput.c
arch/m32r/kernel/io_usrv.c

index 7803316..3c3da04 100644 (file)
@@ -31,7 +31,7 @@ extern void pcc_iowrite(int, unsigned long, void *, size_t, size_t, int);
 
 static inline void *_port2addr(unsigned long port)
 {
-       return (void *)(port + NONCACHE_OFFSET);
+       return (void *)(port | (NONCACHE_OFFSET));
 }
 
 static inline void *_port2addr_ne(unsigned long port)
index 5c03504..d04e90a 100644 (file)
@@ -33,7 +33,7 @@ extern void pcc_iowrite_word(int, unsigned long, void *, size_t, size_t, int);
 
 static inline void *_port2addr(unsigned long port)
 {
-       return (void *)(port + NONCACHE_OFFSET);
+       return (void *)(port | (NONCACHE_OFFSET));
 }
 
 #define LAN_IOSTART    0x300
index 9997ddd..8be3239 100644 (file)
@@ -16,7 +16,7 @@
 
 static inline void *_port2addr(unsigned long port)
 {
-       return (void *)(port + NONCACHE_OFFSET);
+       return (void *)(port | (NONCACHE_OFFSET));
 }
 
 static inline  void *_port2addr_ne(unsigned long port)
index e34951e..5ac84b1 100644 (file)
@@ -36,7 +36,7 @@ extern void pcc_iowrite_word(int, unsigned long, void *, size_t, size_t, int);
 
 static inline void *_port2addr(unsigned long port)
 {
-       return (void *)(port + NONCACHE_OFFSET);
+       return (void *)(port | (NONCACHE_OFFSET));
 }
 
 /*
index 9eb161d..39a379a 100644 (file)
@@ -47,7 +47,7 @@ static inline void *_port2addr(unsigned long port)
        else if (port >= UART1_IOSTART && port <= UART1_IOEND)
                port = ((port - UART1_IOSTART) << 1) + UART1_REGSTART;
 #endif /* CONFIG_SERIAL_8250 || CONFIG_SERIAL_8250_MODULE */
-       return (void *)(port + NONCACHE_OFFSET);
+       return (void *)(port | (NONCACHE_OFFSET));
 }
 
 static inline void delay(void)