X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fnet%2Fdepca.c;h=ec6d9d096163ffc68dfc45c7cc9fbee5507437b2;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=5d62a032b8c876af6b046f09037e061b31c68b30;hpb=87fc8d1bb10cd459024a742c6a10961fefcef18f;p=linux-2.6.git diff --git a/drivers/net/depca.c b/drivers/net/depca.c index 5d62a032b..ec6d9d096 100644 --- a/drivers/net/depca.c +++ b/drivers/net/depca.c @@ -255,9 +255,9 @@ #include #include #include +#include #include -#include #include #include @@ -463,11 +463,11 @@ struct depca_private { } depca_bus; /* type of bus */ struct depca_init init_block; /* Shadow Initialization block */ /* CPU address space fields */ - struct depca_rx_desc *rx_ring; /* Pointer to start of RX descriptor ring */ - struct depca_tx_desc *tx_ring; /* Pointer to start of TX descriptor ring */ - void *rx_buff[NUM_RX_DESC]; /* CPU virt address of sh'd memory buffs */ - void *tx_buff[NUM_TX_DESC]; /* CPU virt address of sh'd memory buffs */ - void *sh_mem; /* CPU mapped virt address of device RAM */ + struct depca_rx_desc __iomem *rx_ring; /* Pointer to start of RX descriptor ring */ + struct depca_tx_desc __iomem *tx_ring; /* Pointer to start of TX descriptor ring */ + void __iomem *rx_buff[NUM_RX_DESC]; /* CPU virt address of sh'd memory buffs */ + void __iomem *tx_buff[NUM_TX_DESC]; /* CPU virt address of sh'd memory buffs */ + void __iomem *sh_mem; /* CPU mapped virt address of device RAM */ u_long mem_start; /* Bus address of device RAM (before remap) */ u_long mem_len; /* device memory size */ /* Device address space fields */ @@ -666,7 +666,7 @@ static int __init depca_hw_init (struct net_device *dev, struct device *device) outb(nicsr, DEPCA_NICSR); } - lp->lock = SPIN_LOCK_UNLOCKED; + spin_lock_init(&lp->lock); sprintf(lp->adapter_name, "%s (%s)", depca_signature[lp->adapter], device->bus_id); status = -EBUSY; @@ -693,11 +693,11 @@ static int __init depca_hw_init (struct net_device *dev, struct device *device) /* Tx & Rx descriptors (aligned to a quadword boundary) */ offset = (offset + DEPCA_ALIGN) & ~DEPCA_ALIGN; - lp->rx_ring = (struct depca_rx_desc *) (lp->sh_mem + offset); + lp->rx_ring = (struct depca_rx_desc __iomem *) (lp->sh_mem + offset); lp->rx_ring_offset = offset; offset += (sizeof(struct depca_rx_desc) * NUM_RX_DESC); - lp->tx_ring = (struct depca_tx_desc *) (lp->sh_mem + offset); + lp->tx_ring = (struct depca_tx_desc __iomem *) (lp->sh_mem + offset); lp->tx_ring_offset = offset; offset += (sizeof(struct depca_tx_desc) * NUM_TX_DESC); @@ -1222,10 +1222,10 @@ static int InitRestartDepca(struct net_device *dev) /* clear IDON by writing a "1", enable interrupts and start lance */ outw(IDON | INEA | STRT, DEPCA_DATA); if (depca_debug > 2) { - printk("%s: DEPCA open after %d ticks, init block 0x%08lx csr0 %4.4x.\n", dev->name, i, virt_to_phys(lp->sh_mem), inw(DEPCA_DATA)); + printk("%s: DEPCA open after %d ticks, init block 0x%08lx csr0 %4.4x.\n", dev->name, i, lp->mem_start, inw(DEPCA_DATA)); } } else { - printk("%s: DEPCA unopen after %d ticks, init block 0x%08lx csr0 %4.4x.\n", dev->name, i, virt_to_phys(lp->sh_mem), inw(DEPCA_DATA)); + printk("%s: DEPCA unopen after %d ticks, init block 0x%08lx csr0 %4.4x.\n", dev->name, i, lp->mem_start, inw(DEPCA_DATA)); status = -1; } @@ -1649,7 +1649,7 @@ static int __devexit depca_device_remove (struct device *device) static int __init DepcaSignature(char *name, u_long base_addr) { u_int i, j, k; - void *ptr; + void __iomem *ptr; char tmpstr[16]; u_long prom_addr = base_addr + 0xc000; u_long mem_addr = base_addr + 0x8000; /* 32KB */ @@ -1876,17 +1876,17 @@ static void depca_dbg_open(struct net_device *dev) printk("Descriptor addresses (CPU):\nRX: "); for (i = 0; i < lp->rxRingMask; i++) { if (i < 3) { - printk("0x%8.8lx ", (long) &lp->rx_ring[i].base); + printk("%p ", &lp->rx_ring[i].base); } } - printk("...0x%8.8lx\n", (long) &lp->rx_ring[i].base); + printk("...%p\n", &lp->rx_ring[i].base); printk("TX: "); for (i = 0; i < lp->txRingMask; i++) { if (i < 3) { - printk("0x%8.8lx ", (long) &lp->tx_ring[i].base); + printk("%p ", &lp->tx_ring[i].base); } } - printk("...0x%8.8lx\n", (long) &lp->tx_ring[i].base); + printk("...%p\n", &lp->tx_ring[i].base); printk("\nDescriptor buffers (Device):\nRX: "); for (i = 0; i < lp->rxRingMask; i++) { if (i < 3) { @@ -1901,7 +1901,7 @@ static void depca_dbg_open(struct net_device *dev) } } printk("...0x%8.8x\n", readl(&lp->tx_ring[i].base)); - printk("Initialisation block at 0x%8.8lx(Phys)\n", virt_to_phys(lp->sh_mem)); + printk("Initialisation block at 0x%8.8lx(Phys)\n", lp->mem_start); printk(" mode: 0x%4.4x\n", p->mode); printk(" physical address: "); for (i = 0; i < ETH_ALEN - 1; i++) { @@ -1915,7 +1915,7 @@ static void depca_dbg_open(struct net_device *dev) printk("%2.2x\n", p->mcast_table[i]); printk(" rx_ring at: 0x%8.8x\n", p->rx_ring); printk(" tx_ring at: 0x%8.8x\n", p->tx_ring); - printk("buffers (Phys): 0x%8.8lx\n", virt_to_phys(lp->sh_mem) + lp->buffs_offset); + printk("buffers (Phys): 0x%8.8lx\n", lp->mem_start + lp->buffs_offset); printk("Ring size:\nRX: %d Log2(rxRingMask): 0x%8.8x\n", (int) lp->rxRingMask + 1, lp->rx_rlen); printk("TX: %d Log2(txRingMask): 0x%8.8x\n", (int) lp->txRingMask + 1, lp->tx_rlen); outw(CSR2, DEPCA_ADDR);