]> err.no Git - linux-2.6/blobdiff - drivers/net/arm/ether1.c
Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
[linux-2.6] / drivers / net / arm / ether1.c
index f3478a30e7787ea7375db5af7c0c9d2aae8d6bf2..3bb9e293e2efea6ba066b6ad61960002f89d1675 100644 (file)
 
 #include <linux/module.h>
 #include <linux/kernel.h>
-#include <linux/sched.h>
 #include <linux/types.h>
 #include <linux/fcntl.h>
 #include <linux/interrupt.h>
-#include <linux/ptrace.h>
 #include <linux/ioport.h>
 #include <linux/in.h>
 #include <linux/slab.h>
@@ -76,7 +74,7 @@ static void ether1_timeout(struct net_device *dev);
 
 /* ------------------------------------------------------------------------- */
 
-static char version[] __initdata = "ether1 ethernet driver (c) 2000 Russell King v1.07\n";
+static char version[] __devinitdata = "ether1 ethernet driver (c) 2000 Russell King v1.07\n";
 
 #define BUS_16 16
 #define BUS_8  8
@@ -254,7 +252,7 @@ ether1_readbuffer (struct net_device *dev, void *data, unsigned int start, unsig
        } while (thislen);
 }
 
-static int __init
+static int __devinit
 ether1_ramtest(struct net_device *dev, unsigned char byte)
 {
        unsigned char *buffer = kmalloc (BUFFER_SIZE, GFP_KERNEL);
@@ -308,7 +306,7 @@ ether1_reset (struct net_device *dev)
        return BUS_16;
 }
 
-static int __init
+static int __devinit
 ether1_init_2(struct net_device *dev)
 {
        int i;
@@ -876,7 +874,6 @@ ether1_recv_done (struct net_device *dev)
                        skb = dev_alloc_skb (length + 2);
 
                        if (skb) {
-                               skb->dev = dev;
                                skb_reserve (skb, 2);
 
                                ether1_readbuffer (dev, skb_put (skb, length), rbd.rbd_bufl, length);
@@ -986,7 +983,7 @@ ether1_setmulticastlist (struct net_device *dev)
 
 /* ------------------------------------------------------------------------- */
 
-static void __init ether1_banner(void)
+static void __devinit ether1_banner(void)
 {
        static unsigned int version_printed = 0;
 
@@ -999,6 +996,7 @@ ether1_probe(struct expansion_card *ec, const struct ecard_id *id)
 {
        struct net_device *dev;
        int i, ret = 0;
+       DECLARE_MAC_BUF(mac);
 
        ether1_banner();
 
@@ -1012,12 +1010,10 @@ ether1_probe(struct expansion_card *ec, const struct ecard_id *id)
                goto release;
        }
 
-       SET_MODULE_OWNER(dev);
        SET_NETDEV_DEV(dev, &ec->dev);
 
        dev->irq = ec->irq;
-       priv(dev)->base = ioremap(ecard_resource_start(ec, ECARD_RES_IOCFAST),
-                                 ecard_resource_len(ec, ECARD_RES_IOCFAST));
+       priv(dev)->base = ecardm_iomap(ec, ECARD_RES_IOCFAST, 0, 0);
        if (!priv(dev)->base) {
                ret = -ENOMEM;
                goto free;
@@ -1048,18 +1044,13 @@ ether1_probe(struct expansion_card *ec, const struct ecard_id *id)
        if (ret)
                goto free;
 
-       printk(KERN_INFO "%s: ether1 in slot %d, ",
-               dev->name, ec->slot_no);
+       printk(KERN_INFO "%s: ether1 in slot %d, %s\n",
+               dev->name, ec->slot_no, print_mac(mac, dev->dev_addr));
     
-       for (i = 0; i < 6; i++)
-               printk ("%2.2x%c", dev->dev_addr[i], i == 5 ? '\n' : ':');
-
        ecard_set_drvdata(ec, dev);
        return 0;
 
  free:
-       if (priv(dev)->base)
-               iounmap(priv(dev)->base);
        free_netdev(dev);
  release:
        ecard_release_resources(ec);
@@ -1074,7 +1065,6 @@ static void __devexit ether1_remove(struct expansion_card *ec)
        ecard_set_drvdata(ec, NULL);    
 
        unregister_netdev(dev);
-       iounmap(priv(dev)->base);
        free_netdev(dev);
        ecard_release_resources(ec);
 }