de4x5 fixes
[safe/jmp/linux-2.6] / drivers / net / 3c527.c
index 625e57d..b72b89d 100644 (file)
@@ -217,7 +217,7 @@ static int      mc32_command(struct net_device *dev, u16 cmd, void *data, int le
 static int     mc32_open(struct net_device *dev);
 static void    mc32_timeout(struct net_device *dev);
 static int     mc32_send_packet(struct sk_buff *skb, struct net_device *dev);
-static irqreturn_t mc32_interrupt(int irq, void *dev_id, struct pt_regs *regs);
+static irqreturn_t mc32_interrupt(int irq, void *dev_id);
 static int     mc32_close(struct net_device *dev);
 static struct  net_device_stats *mc32_get_stats(struct net_device *dev);
 static void    mc32_set_multicast_list(struct net_device *dev);
@@ -257,8 +257,6 @@ struct net_device *__init mc32_probe(int unit)
        if (unit >= 0)
                sprintf(dev->name, "eth%d", unit);
 
-       SET_MODULE_OWNER(dev);
-
        /* Do not check any supplied i/o locations.
           POS registers usually don't fail :) */
 
@@ -338,6 +336,7 @@ static int __init mc32_probe1(struct net_device *dev, int slot)
                "82586 initialisation failure",
                "Adapter list configuration error"
        };
+       DECLARE_MAC_BUF(mac);
 
        /* Time to play MCA games */
 
@@ -398,17 +397,17 @@ static int __init mc32_probe1(struct net_device *dev, int slot)
         *      Go PROM browsing
         */
 
-       printk("%s: Address ", dev->name);
-
        /* Retrieve and print the ethernet address. */
        for (i = 0; i < 6; i++)
        {
                mca_write_pos(slot, 6, i+12);
                mca_write_pos(slot, 7, 0);
 
-               printk(" %2.2x", dev->dev_addr[i] = mca_read_pos(slot,3));
+               dev->dev_addr[i] = mca_read_pos(slot,3);
        }
 
+       printk("%s: Address %s", dev->name, print_mac(mac, dev->dev_addr));
+
        mca_write_pos(slot, 6, 0);
        mca_write_pos(slot, 7, 0);
 
@@ -1189,7 +1188,6 @@ static void mc32_rx_ring(struct net_device *dev)
                        }
 
                        skb->protocol=eth_type_trans(skb,dev);
-                       skb->dev=dev;
                        dev->last_rx = jiffies;
                        lp->net_stats.rx_packets++;
                        lp->net_stats.rx_bytes += length;
@@ -1316,7 +1314,7 @@ static void mc32_tx_ring(struct net_device *dev)
  *
  */
 
-static irqreturn_t mc32_interrupt(int irq, void *dev_id, struct pt_regs * regs)
+static irqreturn_t mc32_interrupt(int irq, void *dev_id)
 {
        struct net_device *dev = dev_id;
        struct mc32_local *lp;
@@ -1324,11 +1322,6 @@ static irqreturn_t mc32_interrupt(int irq, void *dev_id, struct pt_regs * regs)
        int rx_event = 0;
        int tx_event = 0;
 
-       if (dev == NULL) {
-               printk(KERN_WARNING "%s: irq %d for unknown device.\n", cardname, irq);
-               return IRQ_NONE;
-       }
-
        ioaddr = dev->base_addr;
        lp = netdev_priv(dev);
 
@@ -1664,7 +1657,7 @@ int __init init_module(void)
  *     transmit operations are allowed to start scribbling into memory.
  */
 
-void cleanup_module(void)
+void __exit cleanup_module(void)
 {
        unregister_netdev(this_device);
        cleanup_card(this_device);