]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/net/tokenring/madgemc.c
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
[linux-2.6-omap-h63xx.git] / drivers / net / tokenring / madgemc.c
index 3a25d191ea4af322ae851edd38f5128afb40cd88..c9c5a2b1ed9e9ea6a49d8e5f2af22e9799adb403 100644 (file)
@@ -11,7 +11,7 @@
  *     - Madge Smart 16/4 Ringnode MC32 (??)
  *
  *  Maintainer(s):
- *    AF       Adam Fritzler           mid@auk.cx
+ *    AF       Adam Fritzler
  *
  *  Modification History:
  *     16-Jan-00       AF      Created
@@ -23,7 +23,6 @@ static const char version[] = "madgemc.c: v0.91 23/01/2000 by Adam Fritzler\n";
 #include <linux/mca.h>
 #include <linux/kernel.h>
 #include <linux/errno.h>
-#include <linux/pci.h>
 #include <linux/init.h>
 #include <linux/netdevice.h>
 #include <linux/trdevice.h>
@@ -70,7 +69,7 @@ static void madgemc_setregpage(struct net_device *dev, int page);
 static void madgemc_setsifsel(struct net_device *dev, int val);
 static void madgemc_setint(struct net_device *dev, int val);
 
-static irqreturn_t madgemc_interrupt(int irq, void *dev_id, struct pt_regs *regs);
+static irqreturn_t madgemc_interrupt(int irq, void *dev_id);
 
 /*
  * These work around paging, however they don't guarentee you're on the
@@ -152,7 +151,8 @@ static int __devinit madgemc_probe(struct device *device)
        struct net_local *tp;
        struct card_info *card;
        struct mca_device *mdev = to_mca_device(device);
-       int ret = 0, i = 0;
+       int ret = 0;
+       DECLARE_MAC_BUF(mac);
 
        if (versionprinted++ == 0)
                printk("%s", version);
@@ -169,7 +169,6 @@ static int __devinit madgemc_probe(struct device *device)
                goto getout;
        }
 
-       SET_MODULE_OWNER(dev);
        dev->dma = 0;
 
        card = kmalloc(sizeof(struct card_info), GFP_KERNEL);
@@ -311,7 +310,7 @@ static int __devinit madgemc_probe(struct device *device)
         */ 
        outb(0, dev->base_addr + MC_CONTROL_REG0); /* sanity */
        madgemc_setsifsel(dev, 1);
-       if (request_irq(dev->irq, madgemc_interrupt, SA_SHIRQ,
+       if (request_irq(dev->irq, madgemc_interrupt, IRQF_SHARED,
                       "madgemc", dev)) {
                ret = -EBUSY;
                goto getout3;
@@ -324,11 +323,8 @@ static int __devinit madgemc_probe(struct device *device)
        mca_device_set_name(mdev, (card->cardtype == 0x08)?MADGEMC16_CARDNAME:MADGEMC32_CARDNAME);
        mca_set_adapter_procfn(mdev->slot, madgemc_mcaproc, dev);
 
-       printk("%s:     Ring Station Address: ", dev->name);
-       printk("%2.2x", dev->dev_addr[0]);
-       for (i = 1; i < 6; i++)
-               printk(":%2.2x", dev->dev_addr[i]);
-       printk("\n");
+       printk("%s:     Ring Station Address: %s\n",
+              dev->name, print_mac(mac, dev->dev_addr));
 
        if (tmsdev_init(dev, device)) {
                printk("%s: unable to get memory for dev->priv.\n", 
@@ -417,7 +413,7 @@ getout:
  * exhausted all contiguous interrupts.
  *
  */
-static irqreturn_t madgemc_interrupt(int irq, void *dev_id, struct pt_regs *regs)
+static irqreturn_t madgemc_interrupt(int irq, void *dev_id)
 {
        int pending,reg1;
        struct net_device *dev;
@@ -451,7 +447,7 @@ static irqreturn_t madgemc_interrupt(int irq, void *dev_id, struct pt_regs *regs
                        outb(reg1, dev->base_addr + MC_CONTROL_REG1);
 
                        /* Continue handling as normal */
-                       tms380tr_interrupt(irq, dev_id, regs);
+                       tms380tr_interrupt(irq, dev_id);
 
                        pending = SIFREADW(SIFSTS); /* restart - the SIF way */
 
@@ -691,14 +687,14 @@ static int madgemc_close(struct net_device *dev)
 static int madgemc_mcaproc(char *buf, int slot, void *d) 
 {      
        struct net_device *dev = (struct net_device *)d;
-       struct net_local *tp = dev->priv;
+       struct net_local *tp = netdev_priv(dev);
        struct card_info *curcard = tp->tmspriv;
        int len = 0;
+       DECLARE_MAC_BUF(mac);
        
        len += sprintf(buf+len, "-------\n");
        if (curcard) {
                struct net_local *tp = netdev_priv(dev);
-               int i;
                
                len += sprintf(buf+len, "Card Revision: %d\n", curcard->cardrev);
                len += sprintf(buf+len, "RAM Size: %dkb\n", curcard->ramsize);
@@ -718,11 +714,8 @@ static int madgemc_mcaproc(char *buf, int slot, void *d)
                }
                len += sprintf(buf+len, " (%s)\n", (curcard->fairness)?"Unfair":"Fair");
                
-               len += sprintf(buf+len, "Ring Station Address: ");
-               len += sprintf(buf+len, "%2.2x", dev->dev_addr[0]);
-               for (i = 1; i < 6; i++)
-                       len += sprintf(buf+len, " %2.2x", dev->dev_addr[i]);
-               len += sprintf(buf+len, "\n");
+               len += sprintf(buf+len, "Ring Station Address: %s\n",
+                              print_mac(mac, dev->dev_addr));
        } else 
                len += sprintf(buf+len, "Card not configured\n");
 
@@ -735,10 +728,9 @@ static int __devexit madgemc_remove(struct device *device)
        struct net_local *tp;
         struct card_info *card;
 
-       if (!dev)
-               BUG();
+       BUG_ON(!dev);
 
-       tp = dev->priv;
+       tp = netdev_priv(dev);
        card = tp->tmspriv;
        kfree(card);
        tp->tmspriv = NULL;