* [KJ] [patch] net/8139too: use iomap interface
@ 2005-04-15 20:58 Domen Puncer
2005-04-16 10:36 ` Alexey Dobriyan
2005-04-16 11:56 ` Domen Puncer
0 siblings, 2 replies; 3+ messages in thread
From: Domen Puncer @ 2005-04-15 20:58 UTC (permalink / raw)
To: kernel-janitors
[-- Attachment #1: Type: text/plain, Size: 18777 bytes --]
Convert to iomap and add __iomem annotations.
Signed-off-by: Domen Puncer <domen@coderock.org>
--- c/drivers/net/8139too.c 2005-04-15 20:40:28.000000000 +0200
+++ a/drivers/net/8139too.c 2005-04-15 22:42:59.000000000 +0200
@@ -569,7 +569,7 @@ struct rtl_extra_stats {
};
struct rtl8139_private {
- void *mmio_addr;
+ void __iomem *ioaddr;
int drv_flags;
struct pci_dev *pci_dev;
u32 msg_enable;
@@ -614,7 +614,7 @@ MODULE_PARM_DESC (multicast_filter_limit
MODULE_PARM_DESC (media, "8139too: Bits 4+9: force full duplex, bit 5: 100Mbps");
MODULE_PARM_DESC (full_duplex, "8139too: Force full duplex for board(s) (1)");
-static int read_eeprom (void *ioaddr, int location, int addr_len);
+static int read_eeprom (void __iomem *ioaddr, int location, int addr_len);
static int rtl8139_open (struct net_device *dev);
static int mdio_read (struct net_device *dev, int phy_id, int location);
static void mdio_write (struct net_device *dev, int phy_id, int location,
@@ -640,44 +640,29 @@ static struct ethtool_ops rtl8139_ethtoo
#ifdef USE_IO_OPS
-#define RTL_R8(reg) inb (((unsigned long)ioaddr) + (reg))
-#define RTL_R16(reg) inw (((unsigned long)ioaddr) + (reg))
-#define RTL_R32(reg) ((unsigned long) inl (((unsigned long)ioaddr) + (reg)))
-#define RTL_W8(reg, val8) outb ((val8), ((unsigned long)ioaddr) + (reg))
-#define RTL_W16(reg, val16) outw ((val16), ((unsigned long)ioaddr) + (reg))
-#define RTL_W32(reg, val32) outl ((val32), ((unsigned long)ioaddr) + (reg))
+#define RTL_W8(reg, val8) iowrite8((val8), ioaddr + (reg))
+#define RTL_W16(reg, val16) iowrite16((val16), ioaddr + (reg))
+#define RTL_W32(reg, val32) iowrite32((val32), ioaddr + (reg))
#define RTL_W8_F RTL_W8
#define RTL_W16_F RTL_W16
#define RTL_W32_F RTL_W32
-#undef readb
-#undef readw
-#undef readl
-#undef writeb
-#undef writew
-#undef writel
-#define readb(addr) inb((unsigned long)(addr))
-#define readw(addr) inw((unsigned long)(addr))
-#define readl(addr) inl((unsigned long)(addr))
-#define writeb(val,addr) outb((val),(unsigned long)(addr))
-#define writew(val,addr) outw((val),(unsigned long)(addr))
-#define writel(val,addr) outl((val),(unsigned long)(addr))
-#else
+#else /* USE_IO_OPS */
/* write MMIO register, with flush */
/* Flush avoids rtl8139 bug w/ posted MMIO writes */
-#define RTL_W8_F(reg, val8) do { writeb ((val8), ioaddr + (reg)); readb (ioaddr + (reg)); } while (0)
-#define RTL_W16_F(reg, val16) do { writew ((val16), ioaddr + (reg)); readw (ioaddr + (reg)); } while (0)
-#define RTL_W32_F(reg, val32) do { writel ((val32), ioaddr + (reg)); readl (ioaddr + (reg)); } while (0)
+#define RTL_W8_F(reg, val8) do { iowrite8((val8), ioaddr + (reg)); ioread8(ioaddr + (reg)); } while (0)
+#define RTL_W16_F(reg, val16) do { iowrite16((val16), ioaddr + (reg)); ioread16(ioaddr + (reg)); } while (0)
+#define RTL_W32_F(reg, val32) do { iowrite32((val32), ioaddr + (reg)); ioread32(ioaddr + (reg)); } while (0)
#define MMIO_FLUSH_AUDIT_COMPLETE 1
#if MMIO_FLUSH_AUDIT_COMPLETE
/* write MMIO register */
-#define RTL_W8(reg, val8) writeb ((val8), ioaddr + (reg))
-#define RTL_W16(reg, val16) writew ((val16), ioaddr + (reg))
-#define RTL_W32(reg, val32) writel ((val32), ioaddr + (reg))
+#define RTL_W8(reg, val8) iowrite8((val8), ioaddr + (reg))
+#define RTL_W16(reg, val16) iowrite16((val16), ioaddr + (reg))
+#define RTL_W32(reg, val32) iowrite32((val32), ioaddr + (reg))
#else
@@ -687,13 +672,13 @@ static struct ethtool_ops rtl8139_ethtoo
#define RTL_W32 RTL_W32_F
#endif /* MMIO_FLUSH_AUDIT_COMPLETE */
+#endif /* USE_IO_OPS */
-/* read MMIO register */
-#define RTL_R8(reg) readb (ioaddr + (reg))
-#define RTL_R16(reg) readw (ioaddr + (reg))
-#define RTL_R32(reg) ((unsigned long) readl (ioaddr + (reg)))
+/* read register */
+#define RTL_R8(reg) ioread8(ioaddr + (reg))
+#define RTL_R16(reg) ioread16(ioaddr + (reg))
+#define RTL_R32(reg) ioread32(ioaddr + (reg))
-#endif /* USE_IO_OPS */
static const u16 rtl8139_intr_mask =
@@ -740,9 +725,11 @@ static void __rtl8139_cleanup_dev (struc
assert (tp->pci_dev != NULL);
pdev = tp->pci_dev;
-#ifndef USE_IO_OPS
- if (tp->mmio_addr)
- iounmap (tp->mmio_addr);
+ if (tp->ioaddr)
+#ifdef USE_IO_OPS
+ ioport_unmap(tp->ioaddr);
+#else
+ iounmap (tp->ioaddr);
#endif /* !USE_IO_OPS */
/* it's ok to call this even if we have no regions to free */
@@ -753,7 +740,7 @@ static void __rtl8139_cleanup_dev (struc
}
-static void rtl8139_chip_reset (void *ioaddr)
+static void rtl8139_chip_reset (void __iomem *ioaddr)
{
int i;
@@ -773,7 +760,7 @@ static void rtl8139_chip_reset (void *io
static int __devinit rtl8139_init_board (struct pci_dev *pdev,
struct net_device **dev_out)
{
- void *ioaddr;
+ void __iomem *ioaddr;
struct net_device *dev;
struct rtl8139_private *tp;
u8 tmp8;
@@ -855,9 +842,12 @@ static int __devinit rtl8139_init_board
pci_set_master (pdev);
#ifdef USE_IO_OPS
- ioaddr = (void *) pio_start;
- dev->base_addr = pio_start;
- tp->mmio_addr = ioaddr;
+ ioaddr = ioport_map(pio_start, pio_len);
+ if (ioaddr == NULL) {
+ printk(KERN_ERR PFX "%s: cannot remap PIO, aborting\n", pci_name(pdev));
+ rc = -EIO;
+ goto err_out;
+ }
tp->regs_len = pio_len;
#else
/* ioremap MMIO region */
@@ -867,10 +857,10 @@ static int __devinit rtl8139_init_board
rc = -EIO;
goto err_out;
}
- dev->base_addr = (long) ioaddr;
- tp->mmio_addr = ioaddr;
tp->regs_len = mmio_len;
#endif /* USE_IO_OPS */
+ dev->base_addr = (unsigned long) ioaddr;
+ tp->ioaddr = ioaddr;
/* Bring old chips out of low-power mode. */
RTL_W8 (HltClk, 'R');
@@ -894,7 +884,7 @@ static int __devinit rtl8139_init_board
/* if unknown chip, assume array element #0, original RTL-8139 in this case */
printk (KERN_DEBUG PFX "%s: unknown chip version, assuming RTL-8139\n",
pci_name(pdev));
- printk (KERN_DEBUG PFX "%s: TxConfig = 0x%lx\n", pci_name(pdev), RTL_R32 (TxConfig));
+ printk (KERN_DEBUG PFX "%s: TxConfig = 0x%x\n", pci_name(pdev), RTL_R32 (TxConfig));
tp->chipset = 0;
match:
@@ -947,7 +937,7 @@ static int __devinit rtl8139_init_one (s
struct net_device *dev = NULL;
struct rtl8139_private *tp;
int i, addr_len, option;
- void *ioaddr;
+ void __iomem *ioaddr;
static int board_idx = -1;
u8 pci_rev;
@@ -983,7 +973,7 @@ static int __devinit rtl8139_init_one (s
assert (dev != NULL);
tp = netdev_priv(dev);
- ioaddr = tp->mmio_addr;
+ ioaddr = tp->ioaddr;
assert (ioaddr != NULL);
addr_len = read_eeprom (ioaddr, 0, 8) == 0x8129 ? 8 : 6;
@@ -1020,7 +1010,7 @@ static int __devinit rtl8139_init_one (s
/* note: tp->chipset set in rtl8139_init_board */
tp->drv_flags = board_info[ent->driver_data].hw_flags;
- tp->mmio_addr = ioaddr;
+ tp->ioaddr = ioaddr;
tp->msg_enable =
(debug < 0 ? RTL8139_DEF_MSG_ENABLE : ((1 << debug) - 1));
spin_lock_init (&tp->lock);
@@ -1147,47 +1137,47 @@ static void __devexit rtl8139_remove_one
No extra delay is needed with 33Mhz PCI, but 66Mhz may change this.
*/
-#define eeprom_delay() readl(ee_addr)
+#define eeprom_delay() ioread32(ee_addr)
/* The EEPROM commands include the alway-set leading bit. */
#define EE_WRITE_CMD (5)
#define EE_READ_CMD (6)
#define EE_ERASE_CMD (7)
-static int __devinit read_eeprom (void *ioaddr, int location, int addr_len)
+static int __devinit read_eeprom (void __iomem *ioaddr, int location, int addr_len)
{
int i;
unsigned retval = 0;
- void *ee_addr = ioaddr + Cfg9346;
+ void __iomem *ee_addr = ioaddr + Cfg9346;
int read_cmd = location | (EE_READ_CMD << addr_len);
- writeb (EE_ENB & ~EE_CS, ee_addr);
- writeb (EE_ENB, ee_addr);
+ iowrite8 (EE_ENB & ~EE_CS, ee_addr);
+ iowrite8 (EE_ENB, ee_addr);
eeprom_delay ();
/* Shift the read command bits out. */
for (i = 4 + addr_len; i >= 0; i--) {
int dataval = (read_cmd & (1 << i)) ? EE_DATA_WRITE : 0;
- writeb (EE_ENB | dataval, ee_addr);
+ iowrite8 (EE_ENB | dataval, ee_addr);
eeprom_delay ();
- writeb (EE_ENB | dataval | EE_SHIFT_CLK, ee_addr);
+ iowrite8 (EE_ENB | dataval | EE_SHIFT_CLK, ee_addr);
eeprom_delay ();
}
- writeb (EE_ENB, ee_addr);
+ iowrite8 (EE_ENB, ee_addr);
eeprom_delay ();
for (i = 16; i > 0; i--) {
- writeb (EE_ENB | EE_SHIFT_CLK, ee_addr);
+ iowrite8 (EE_ENB | EE_SHIFT_CLK, ee_addr);
eeprom_delay ();
retval =
- (retval << 1) | ((readb (ee_addr) & EE_DATA_READ) ? 1 :
+ (retval << 1) | ((ioread8 (ee_addr) & EE_DATA_READ) ? 1 :
0);
- writeb (EE_ENB, ee_addr);
+ iowrite8 (EE_ENB, ee_addr);
eeprom_delay ();
}
/* Terminate the EEPROM access. */
- writeb (~EE_CS, ee_addr);
+ iowrite8 (~EE_CS, ee_addr);
eeprom_delay ();
return retval;
@@ -1206,7 +1196,7 @@ static int __devinit read_eeprom (void *
#define MDIO_WRITE0 (MDIO_DIR)
#define MDIO_WRITE1 (MDIO_DIR | MDIO_DATA_OUT)
-#define mdio_delay(mdio_addr) readb(mdio_addr)
+#define mdio_delay(mdio_addr) ioread8(mdio_addr)
static char mii_2_8139_map[8] = {
@@ -1223,14 +1213,14 @@ static char mii_2_8139_map[8] = {
#ifdef CONFIG_8139TOO_8129
/* Syncronize the MII management interface by shifting 32 one bits out. */
-static void mdio_sync (void *mdio_addr)
+static void mdio_sync (void __iomem *mdio_addr)
{
int i;
for (i = 32; i >= 0; i--) {
- writeb (MDIO_WRITE1, mdio_addr);
+ iowrite8 (MDIO_WRITE1, mdio_addr);
mdio_delay (mdio_addr);
- writeb (MDIO_WRITE1 | MDIO_CLK, mdio_addr);
+ iowrite8 (MDIO_WRITE1 | MDIO_CLK, mdio_addr);
mdio_delay (mdio_addr);
}
}
@@ -1241,14 +1231,14 @@ static int mdio_read (struct net_device
struct rtl8139_private *tp = netdev_priv(dev);
int retval = 0;
#ifdef CONFIG_8139TOO_8129
- void *mdio_addr = tp->mmio_addr + Config4;
+ void __iomem *mdio_addr = tp->ioaddr + Config4;
int mii_cmd = (0xf6 << 10) | (phy_id << 5) | location;
int i;
#endif
if (phy_id > 31) { /* Really a 8139. Use internal registers. */
return location < 8 && mii_2_8139_map[location] ?
- readw (tp->mmio_addr + mii_2_8139_map[location]) : 0;
+ ioread16 (tp->ioaddr + mii_2_8139_map[location]) : 0;
}
#ifdef CONFIG_8139TOO_8129
@@ -1257,18 +1247,18 @@ static int mdio_read (struct net_device
for (i = 15; i >= 0; i--) {
int dataval = (mii_cmd & (1 << i)) ? MDIO_DATA_OUT : 0;
- writeb (MDIO_DIR | dataval, mdio_addr);
+ iowrite8 (MDIO_DIR | dataval, mdio_addr);
mdio_delay (mdio_addr);
- writeb (MDIO_DIR | dataval | MDIO_CLK, mdio_addr);
+ iowrite8 (MDIO_DIR | dataval | MDIO_CLK, mdio_addr);
mdio_delay (mdio_addr);
}
/* Read the two transition, 16 data, and wire-idle bits. */
for (i = 19; i > 0; i--) {
- writeb (0, mdio_addr);
+ iowrite8 (0, mdio_addr);
mdio_delay (mdio_addr);
- retval = (retval << 1) | ((readb (mdio_addr) & MDIO_DATA_IN) ? 1 : 0);
- writeb (MDIO_CLK, mdio_addr);
+ retval = (retval << 1) | ((ioread8 (mdio_addr) & MDIO_DATA_IN) ? 1 : 0);
+ iowrite8 (MDIO_CLK, mdio_addr);
mdio_delay (mdio_addr);
}
#endif
@@ -1282,13 +1272,13 @@ static void mdio_write (struct net_devic
{
struct rtl8139_private *tp = netdev_priv(dev);
#ifdef CONFIG_8139TOO_8129
- void *mdio_addr = tp->mmio_addr + Config4;
+ void __iomem *mdio_addr = tp->ioaddr + Config4;
int mii_cmd = (0x5002 << 16) | (phy_id << 23) | (location << 18) | value;
int i;
#endif
if (phy_id > 31) { /* Really a 8139. Use internal registers. */
- void *ioaddr = tp->mmio_addr;
+ void __iomem *ioaddr = tp->ioaddr;
if (location == 0) {
RTL_W8 (Cfg9346, Cfg9346_Unlock);
RTL_W16 (BasicModeCtrl, value);
@@ -1305,16 +1295,16 @@ static void mdio_write (struct net_devic
for (i = 31; i >= 0; i--) {
int dataval =
(mii_cmd & (1 << i)) ? MDIO_WRITE1 : MDIO_WRITE0;
- writeb (dataval, mdio_addr);
+ iowrite8 (dataval, mdio_addr);
mdio_delay (mdio_addr);
- writeb (dataval | MDIO_CLK, mdio_addr);
+ iowrite8 (dataval | MDIO_CLK, mdio_addr);
mdio_delay (mdio_addr);
}
/* Clear out extra bits. */
for (i = 2; i > 0; i--) {
- writeb (0, mdio_addr);
+ iowrite8 (0, mdio_addr);
mdio_delay (mdio_addr);
- writeb (MDIO_CLK, mdio_addr);
+ iowrite8 (MDIO_CLK, mdio_addr);
mdio_delay (mdio_addr);
}
#endif
@@ -1325,7 +1315,7 @@ static int rtl8139_open (struct net_devi
{
struct rtl8139_private *tp = netdev_priv(dev);
int retval;
- void *ioaddr = tp->mmio_addr;
+ void __iomem *ioaddr = tp->ioaddr;
retval = request_irq (dev->irq, rtl8139_interrupt, SA_SHIRQ, dev->name, dev);
if (retval)
@@ -1382,7 +1372,7 @@ static void rtl_check_media (struct net_
static void rtl8139_hw_start (struct net_device *dev)
{
struct rtl8139_private *tp = netdev_priv(dev);
- void *ioaddr = tp->mmio_addr;
+ void __iomem *ioaddr = tp->ioaddr;
u32 i;
u8 tmp;
@@ -1484,7 +1474,7 @@ static void rtl8139_tune_twister (struct
struct rtl8139_private *tp)
{
int linkcase;
- void *ioaddr = tp->mmio_addr;
+ void __iomem *ioaddr = tp->ioaddr;
/* This is a complicated state machine to configure the "twister" for
impedance/echos based on the cable length.
@@ -1568,7 +1558,7 @@ static void rtl8139_tune_twister (struct
static inline void rtl8139_thread_iter (struct net_device *dev,
struct rtl8139_private *tp,
- void *ioaddr)
+ void __iomem *ioaddr)
{
int mii_lpa;
@@ -1638,7 +1628,7 @@ static int rtl8139_thread (void *data)
if (rtnl_lock_interruptible ())
break;
- rtl8139_thread_iter (dev, tp, tp->mmio_addr);
+ rtl8139_thread_iter (dev, tp, tp->ioaddr);
rtnl_unlock ();
}
@@ -1676,7 +1666,7 @@ static inline void rtl8139_tx_clear (str
static void rtl8139_tx_timeout (struct net_device *dev)
{
struct rtl8139_private *tp = netdev_priv(dev);
- void *ioaddr = tp->mmio_addr;
+ void __iomem *ioaddr = tp->ioaddr;
int i;
u8 tmp8;
unsigned long flags;
@@ -1688,7 +1678,7 @@ static void rtl8139_tx_timeout (struct n
printk (KERN_DEBUG "%s: Tx queue start entry %ld dirty entry %ld.\n",
dev->name, tp->cur_tx, tp->dirty_tx);
for (i = 0; i < NUM_TX_DESC; i++)
- printk (KERN_DEBUG "%s: Tx descriptor %d is %8.8lx.%s\n",
+ printk (KERN_DEBUG "%s: Tx descriptor %d is %8.8x.%s\n",
dev->name, i, RTL_R32 (TxStatus0 + (i * 4)),
i == tp->dirty_tx % NUM_TX_DESC ?
" (queue head)" : "");
@@ -1721,7 +1711,7 @@ static void rtl8139_tx_timeout (struct n
static int rtl8139_start_xmit (struct sk_buff *skb, struct net_device *dev)
{
struct rtl8139_private *tp = netdev_priv(dev);
- void *ioaddr = tp->mmio_addr;
+ void __iomem *ioaddr = tp->ioaddr;
unsigned int entry;
unsigned int len = skb->len;
@@ -1763,7 +1753,7 @@ static int rtl8139_start_xmit (struct sk
static void rtl8139_tx_interrupt (struct net_device *dev,
struct rtl8139_private *tp,
- void *ioaddr)
+ void __iomem *ioaddr)
{
unsigned long dirty_tx, tx_left;
@@ -1833,7 +1823,7 @@ static void rtl8139_tx_interrupt (struct
/* TODO: clean this up! Rx reset need not be this intensive */
static void rtl8139_rx_err (u32 rx_status, struct net_device *dev,
- struct rtl8139_private *tp, void *ioaddr)
+ struct rtl8139_private *tp, void __iomem *ioaddr)
{
u8 tmp8;
#ifdef CONFIG_8139_OLD_RX_RESET
@@ -1930,7 +1920,7 @@ static __inline__ void wrap_copy(struct
static void rtl8139_isr_ack(struct rtl8139_private *tp)
{
- void *ioaddr = tp->mmio_addr;
+ void __iomem *ioaddr = tp->ioaddr;
u16 status;
status = RTL_R16 (IntrStatus) & RxAckBits;
@@ -1949,7 +1939,7 @@ static void rtl8139_isr_ack(struct rtl81
static int rtl8139_rx(struct net_device *dev, struct rtl8139_private *tp,
int budget)
{
- void *ioaddr = tp->mmio_addr;
+ void __iomem *ioaddr = tp->ioaddr;
int received = 0;
unsigned char *rx_ring = tp->rx_ring;
unsigned int cur_rx = tp->cur_rx;
@@ -2087,7 +2077,7 @@ out:
static void rtl8139_weird_interrupt (struct net_device *dev,
struct rtl8139_private *tp,
- void *ioaddr,
+ void __iomem *ioaddr,
int status, int link_changed)
{
DPRINTK ("%s: Abnormal interrupt, status %8.8x.\n",
@@ -2127,7 +2117,7 @@ static void rtl8139_weird_interrupt (str
static int rtl8139_poll(struct net_device *dev, int *budget)
{
struct rtl8139_private *tp = netdev_priv(dev);
- void *ioaddr = tp->mmio_addr;
+ void __iomem *ioaddr = tp->ioaddr;
int orig_budget = min(*budget, dev->quota);
int done = 1;
@@ -2165,7 +2155,7 @@ static irqreturn_t rtl8139_interrupt (in
{
struct net_device *dev = (struct net_device *) dev_instance;
struct rtl8139_private *tp = netdev_priv(dev);
- void *ioaddr = tp->mmio_addr;
+ void __iomem *ioaddr = tp->ioaddr;
u16 status, ackstat;
int link_changed = 0; /* avoid bogus "uninit" warning */
int handled = 0;
@@ -2241,7 +2231,7 @@ static void rtl8139_poll_controller(stru
static int rtl8139_close (struct net_device *dev)
{
struct rtl8139_private *tp = netdev_priv(dev);
- void *ioaddr = tp->mmio_addr;
+ void __iomem *ioaddr = tp->ioaddr;
int ret = 0;
unsigned long flags;
@@ -2304,7 +2294,7 @@ static int rtl8139_close (struct net_dev
static void rtl8139_get_wol(struct net_device *dev, struct ethtool_wolinfo *wol)
{
struct rtl8139_private *np = netdev_priv(dev);
- void *ioaddr = np->mmio_addr;
+ void __iomem *ioaddr = np->ioaddr;
spin_lock_irq(&np->lock);
if (rtl_chip_info[np->chipset].flags & HasLWake) {
@@ -2338,7 +2328,7 @@ static void rtl8139_get_wol(struct net_d
static int rtl8139_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol)
{
struct rtl8139_private *np = netdev_priv(dev);
- void *ioaddr = np->mmio_addr;
+ void __iomem *ioaddr = np->ioaddr;
u32 support;
u8 cfg3, cfg5;
@@ -2445,7 +2435,7 @@ static void rtl8139_get_regs(struct net_
regs->version = RTL_REGS_VER;
spin_lock_irq(&np->lock);
- memcpy_fromio(regbuf, np->mmio_addr, regs->len);
+ memcpy_fromio(regbuf, np->ioaddr, regs->len);
spin_unlock_irq(&np->lock);
}
#endif /* CONFIG_8139TOO_MMIO */
@@ -2506,7 +2496,7 @@ static int netdev_ioctl(struct net_devic
static struct net_device_stats *rtl8139_get_stats (struct net_device *dev)
{
struct rtl8139_private *tp = netdev_priv(dev);
- void *ioaddr = tp->mmio_addr;
+ void __iomem *ioaddr = tp->ioaddr;
unsigned long flags;
if (netif_running(dev)) {
@@ -2525,7 +2515,7 @@ static struct net_device_stats *rtl8139_
static void __set_rx_mode (struct net_device *dev)
{
struct rtl8139_private *tp = netdev_priv(dev);
- void *ioaddr = tp->mmio_addr;
+ void __iomem *ioaddr = tp->ioaddr;
u32 mc_filter[2]; /* Multicast hash filter */
int i, rx_mode;
u32 tmp;
@@ -2586,7 +2576,7 @@ static int rtl8139_suspend (struct pci_d
{
struct net_device *dev = pci_get_drvdata (pdev);
struct rtl8139_private *tp = netdev_priv(dev);
- void *ioaddr = tp->mmio_addr;
+ void __iomem *ioaddr = tp->ioaddr;
unsigned long flags;
pci_save_state (pdev);
[-- Attachment #2: Type: text/plain, Size: 167 bytes --]
_______________________________________________
Kernel-janitors mailing list
Kernel-janitors@lists.osdl.org
http://lists.osdl.org/mailman/listinfo/kernel-janitors
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [KJ] [patch] net/8139too: use iomap interface
2005-04-15 20:58 [KJ] [patch] net/8139too: use iomap interface Domen Puncer
@ 2005-04-16 10:36 ` Alexey Dobriyan
2005-04-16 11:56 ` Domen Puncer
1 sibling, 0 replies; 3+ messages in thread
From: Alexey Dobriyan @ 2005-04-16 10:36 UTC (permalink / raw)
To: kernel-janitors
[-- Attachment #1: Type: text/plain, Size: 1144 bytes --]
On 22:58 Fri 15 Apr 2005, Domen Puncer wrote:
> Convert to iomap and add __iomem annotations.
> --- c/drivers/net/8139too.c
> +++ a/drivers/net/8139too.c
In netdev-2.6 tree:
============================================================================
[PATCH] 8139too: use iomap for pio/mmio
Hi,
This patch converts the 8139too driver to use the iomap infrastructure
for PIO and MMIO instead of playing macro tricks. I also had to fix
read_eeprom(), mdio_sync(), mdio_read(), and mdio_write() to not pass
PIO base address to MMIO read() and write() functions. In addition,
the patch adds proper __iomem annotations for the driver.
Both modes, PIO and MMIO, were tested with a RealTel RTL8139 card on
an x86 box. The 8129 support remains untested due to lack of
hardware.
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
http://gkernel.bkbits.net:8080/netdev-2.6/cset@41de09e3T2bRtDC4_Wp9d1mKtq8xbw?nav=index.html|src/|src/drivers|src/drivers/net|related/drivers/net/8139too.c
============================================================================
I noticed this too late also.
[-- Attachment #2: Type: text/plain, Size: 167 bytes --]
_______________________________________________
Kernel-janitors mailing list
Kernel-janitors@lists.osdl.org
http://lists.osdl.org/mailman/listinfo/kernel-janitors
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [KJ] [patch] net/8139too: use iomap interface
2005-04-15 20:58 [KJ] [patch] net/8139too: use iomap interface Domen Puncer
2005-04-16 10:36 ` Alexey Dobriyan
@ 2005-04-16 11:56 ` Domen Puncer
1 sibling, 0 replies; 3+ messages in thread
From: Domen Puncer @ 2005-04-16 11:56 UTC (permalink / raw)
To: kernel-janitors
[-- Attachment #1: Type: text/plain, Size: 318 bytes --]
On 16/04/05 14:35 +0000, Alexey Dobriyan wrote:
> On 22:58 Fri 15 Apr 2005, Domen Puncer wrote:
> > Convert to iomap and add __iomem annotations.
>
> > --- c/drivers/net/8139too.c
> > +++ a/drivers/net/8139too.c
>
> In netdev-2.6 tree:
Maybe someday I'll learn to check the -mm tree first.
Thanks Alexey!
Domen
[-- Attachment #2: Type: text/plain, Size: 167 bytes --]
_______________________________________________
Kernel-janitors mailing list
Kernel-janitors@lists.osdl.org
http://lists.osdl.org/mailman/listinfo/kernel-janitors
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2005-04-16 11:56 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-04-15 20:58 [KJ] [patch] net/8139too: use iomap interface Domen Puncer
2005-04-16 10:36 ` Alexey Dobriyan
2005-04-16 11:56 ` Domen Puncer
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.