提交 3ef4e9a8 编写于 作者: C Christoph Hellwig 提交者: David S. Miller

[ATALK]: Add alloc_ltalkdev().

this matches the API used by other link layer like ethernet or token
ring.
Signed-off-by: NChristoph Hellwig <hch@lst.de>
Acked-by: NArnaldo Carvalho de Melo <acme@ghostprotocols.net>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 476e19cf
...@@ -65,7 +65,7 @@ static const char *version = ...@@ -65,7 +65,7 @@ static const char *version =
#include <linux/etherdevice.h> #include <linux/etherdevice.h>
#include <linux/skbuff.h> #include <linux/skbuff.h>
#include <linux/if_arp.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/delay.h> /* For udelay() */
#include <linux/atalk.h> #include <linux/atalk.h>
#include <linux/spinlock.h> #include <linux/spinlock.h>
...@@ -223,7 +223,7 @@ struct net_device * __init cops_probe(int unit) ...@@ -223,7 +223,7 @@ struct net_device * __init cops_probe(int unit)
int base_addr; int base_addr;
int err = 0; int err = 0;
dev = alloc_netdev(sizeof(struct cops_local), "lt%d", ltalk_setup); dev = alloc_ltalkdev(sizeof(struct cops_local));
if (!dev) if (!dev)
return ERR_PTR(-ENOMEM); return ERR_PTR(-ENOMEM);
......
...@@ -1039,7 +1039,7 @@ struct net_device * __init ltpc_probe(void) ...@@ -1039,7 +1039,7 @@ struct net_device * __init ltpc_probe(void)
unsigned long f; unsigned long f;
unsigned long timeout; unsigned long timeout;
dev = alloc_netdev(sizeof(struct ltpc_private), "lt%d", ltalk_setup); dev = alloc_ltalkdev(sizeof(struct ltpc_private));
if (!dev) if (!dev)
goto out; goto out;
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
#define LTALK_ALEN 1 #define LTALK_ALEN 1
#ifdef __KERNEL__ #ifdef __KERNEL__
extern void ltalk_setup(struct net_device *); extern struct net_device *alloc_ltalkdev(int sizeof_priv);
#endif #endif
#endif #endif
...@@ -19,7 +19,7 @@ static int ltalk_mac_addr(struct net_device *dev, void *addr) ...@@ -19,7 +19,7 @@ static int ltalk_mac_addr(struct net_device *dev, void *addr)
return -EINVAL; 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. */ /* Fill in the fields of the device structure with localtalk-generic values. */
...@@ -40,4 +40,22 @@ void ltalk_setup(struct net_device *dev) ...@@ -40,4 +40,22 @@ void ltalk_setup(struct net_device *dev)
dev->flags = IFF_BROADCAST|IFF_MULTICAST|IFF_NOARP; 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);
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册