[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 78033165fb5c7ecb489bb35a442654f8ce415ccc..3c3da042fbd1437a26cb11dcfaf081696c2cdfb5 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 5c03504bf65375646880da8f8eadd973fabbbf24..d04e90acccb953a50b57c304ca0a440e2ec0d8c6 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 9997dddd24d7ea8584bc5e66ae579b5249aca3e8..8be323931e4ab66d37397ebf8674fdbc5ad69fd9 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 e34951e8156fe227e431fcad50289edf638653df..5ac84b16faaf868a0332ff5c1cf0ad1b11bda18a 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 9eb161dcc1042ea86a0154a7ec2bc324773578cc..39a379af40bca621472910c097ba76310800b80d 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)