]> Pileus Git - ~andy/linux/commitdiff
net: smc911x: use io{read,write}*_rep accessors
authorMatthew Leach <matthew@mattleach.net>
Tue, 11 Dec 2012 04:49:49 +0000 (04:49 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 11 Dec 2012 17:49:53 +0000 (12:49 -0500)
The {read,write}s{b,w,l} operations are not defined by all
architectures and are being removed from the asm-generic/io.h
interface.

This patch replaces the usage of these string functions in the smc911x
accessors with io{read,write}{8,16,32}_rep calls instead.

Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Ben Herrenschmidt <benh@kernel.crashing.org>
Cc: netdev@vger.kernel.org
Signed-off-by: Matthew Leach <matthew@mattleach.net>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/smsc/smc911x.h
drivers/net/ethernet/smsc/smsc911x.c

index 3269292efeccb3440b22c7fbaf7235ba691ea98e..d51261ba464243c936b0baaa3eaa6f8a68c6091a 100644 (file)
@@ -159,12 +159,12 @@ static inline void SMC_insl(struct smc911x_local *lp, int reg,
        void __iomem *ioaddr = lp->base + reg;
 
        if (lp->cfg.flags & SMC911X_USE_32BIT) {
-               readsl(ioaddr, addr, count);
+               ioread32_rep(ioaddr, addr, count);
                return;
        }
 
        if (lp->cfg.flags & SMC911X_USE_16BIT) {
-               readsw(ioaddr, addr, count * 2);
+               ioread16_rep(ioaddr, addr, count * 2);
                return;
        }
 
@@ -177,12 +177,12 @@ static inline void SMC_outsl(struct smc911x_local *lp, int reg,
        void __iomem *ioaddr = lp->base + reg;
 
        if (lp->cfg.flags & SMC911X_USE_32BIT) {
-               writesl(ioaddr, addr, count);
+               iowrite32_rep(ioaddr, addr, count);
                return;
        }
 
        if (lp->cfg.flags & SMC911X_USE_16BIT) {
-               writesw(ioaddr, addr, count * 2);
+               iowrite16_rep(ioaddr, addr, count * 2);
                return;
        }
 
@@ -196,14 +196,14 @@ static inline void SMC_outsl(struct smc911x_local *lp, int reg,
                 writew(v & 0xFFFF, (lp)->base + (r));   \
                 writew(v >> 16, (lp)->base + (r) + 2); \
         } while (0)
-#define SMC_insl(lp, r, p, l)   readsw((short*)((lp)->base + (r)), p, l*2)
-#define SMC_outsl(lp, r, p, l)  writesw((short*)((lp)->base + (r)), p, l*2)
+#define SMC_insl(lp, r, p, l)   ioread16_rep((short*)((lp)->base + (r)), p, l*2)
+#define SMC_outsl(lp, r, p, l)  iowrite16_rep((short*)((lp)->base + (r)), p, l*2)
 
 #elif  SMC_USE_32BIT
 #define SMC_inl(lp, r)          readl((lp)->base + (r))
 #define SMC_outl(v, lp, r)      writel(v, (lp)->base + (r))
-#define SMC_insl(lp, r, p, l)   readsl((int*)((lp)->base + (r)), p, l)
-#define SMC_outsl(lp, r, p, l)  writesl((int*)((lp)->base + (r)), p, l)
+#define SMC_insl(lp, r, p, l)   ioread32_rep((int*)((lp)->base + (r)), p, l)
+#define SMC_outsl(lp, r, p, l)  iowrite32_rep((int*)((lp)->base + (r)), p, l)
 
 #endif /* SMC_USE_16BIT */
 #endif /* SMC_DYNAMIC_BUS_CONFIG */
index 39a7a49d98e04c016b1029de18c5c3d1dae49e40..4616bf27d5150fc5b54a114c7d91f4aac15f8122 100644 (file)
@@ -253,7 +253,7 @@ smsc911x_tx_writefifo(struct smsc911x_data *pdata, unsigned int *buf,
        }
 
        if (pdata->config.flags & SMSC911X_USE_32BIT) {
-               writesl(pdata->ioaddr + TX_DATA_FIFO, buf, wordcount);
+               iowrite32_rep(pdata->ioaddr + TX_DATA_FIFO, buf, wordcount);
                goto out;
        }
 
@@ -285,7 +285,7 @@ smsc911x_tx_writefifo_shift(struct smsc911x_data *pdata, unsigned int *buf,
        }
 
        if (pdata->config.flags & SMSC911X_USE_32BIT) {
-               writesl(pdata->ioaddr + __smsc_shift(pdata,
+               iowrite32_rep(pdata->ioaddr + __smsc_shift(pdata,
                                                TX_DATA_FIFO), buf, wordcount);
                goto out;
        }
@@ -319,7 +319,7 @@ smsc911x_rx_readfifo(struct smsc911x_data *pdata, unsigned int *buf,
        }
 
        if (pdata->config.flags & SMSC911X_USE_32BIT) {
-               readsl(pdata->ioaddr + RX_DATA_FIFO, buf, wordcount);
+               ioread32_rep(pdata->ioaddr + RX_DATA_FIFO, buf, wordcount);
                goto out;
        }
 
@@ -351,7 +351,7 @@ smsc911x_rx_readfifo_shift(struct smsc911x_data *pdata, unsigned int *buf,
        }
 
        if (pdata->config.flags & SMSC911X_USE_32BIT) {
-               readsl(pdata->ioaddr + __smsc_shift(pdata,
+               ioread32_rep(pdata->ioaddr + __smsc_shift(pdata,
                                                RX_DATA_FIFO), buf, wordcount);
                goto out;
        }