[ATALK]: Add alloc_ltalkdev().
authorChristoph Hellwig <hch@lst.de>
Thu, 5 May 2005 21:25:59 +0000 (14:25 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 5 May 2005 21:25:59 +0000 (14:25 -0700)
this matches the API used by other link layer like ethernet or token
ring.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Acked-by: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/appletalk/cops.c
drivers/net/appletalk/ltpc.c
include/linux/if_ltalk.h
net/appletalk/dev.c

index 2161c2d..9edaa18 100644 (file)
@@ -65,7 +65,7 @@ static const char *version =
 #include <linux/etherdevice.h>
 #include <linux/skbuff.h>
 #include <linux/if_arp.h>
-#include <linux/if_ltalk.h>    /* For ltalk_setup() */
+#include <linux/if_ltalk.h>
 #include <linux/delay.h>       /* For udelay() */
 #include <linux/atalk.h>
 #include <linux/spinlock.h>
@@ -223,7 +223,7 @@ struct net_device * __init cops_probe(int unit)
        int base_addr;
        int err = 0;
 
-       dev = alloc_netdev(sizeof(struct cops_local), "lt%d", ltalk_setup);
+       dev = alloc_ltalkdev(sizeof(struct cops_local));
        if (!dev)
                return ERR_PTR(-ENOMEM);
 
index ad8e943..db4f369 100644 (file)
@@ -1039,7 +1039,7 @@ struct net_device * __init ltpc_probe(void)
        unsigned long f;
        unsigned long timeout;
 
-       dev = alloc_netdev(sizeof(struct ltpc_private), "lt%d", ltalk_setup);
+       dev = alloc_ltalkdev(sizeof(struct ltpc_private));
        if (!dev)
                goto out;
 
index e75e832..7652576 100644 (file)
@@ -6,7 +6,7 @@
 #define LTALK_ALEN             1
 
 #ifdef __KERNEL__
-extern void ltalk_setup(struct net_device *);
+extern struct net_device *alloc_ltalkdev(int sizeof_priv);
 #endif
 
 #endif
index 7659844..1237e20 100644 (file)
@@ -19,7 +19,7 @@ static int ltalk_mac_addr(struct net_device *dev, void *addr)
        return -EINVAL;
 }
 
-void ltalk_setup(struct net_device *dev)
+static void ltalk_setup(struct net_device *dev)
 {
        /* Fill in the fields of the device structure with localtalk-generic values. */
        
@@ -40,4 +40,22 @@ void ltalk_setup(struct net_device *dev)
 
        dev->flags              = IFF_BROADCAST|IFF_MULTICAST|IFF_NOARP;
 }
-EXPORT_SYMBOL(ltalk_setup);
+
+/**
+ * alloc_ltalkdev - Allocates and sets up an localtalk device
+ * @sizeof_priv: Size of additional driver-private structure to be allocated
+ *     for this localtalk device
+ *
+ * Fill in the fields of the device structure with localtalk-generic
+ * values. Basically does everything except registering the device.
+ *
+ * Constructs a new net device, complete with a private data area of
+ * size @sizeof_priv.  A 32-byte (not bit) alignment is enforced for
+ * this private data area.
+ */
+
+struct net_device *alloc_ltalkdev(int sizeof_priv)
+{
+       return alloc_netdev(sizeof_priv, "lt%d", ltalk_setup);
+}
+EXPORT_SYMBOL(alloc_ltalkdev);