mirror of
https://github.com/fail0verflow/switch-linux.git
synced 2025-05-04 02:34:21 -04:00
[ATALK]: Add alloc_ltalkdev().
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>
This commit is contained in:
parent
476e19cfa1
commit
3ef4e9a8db
4 changed files with 24 additions and 6 deletions
|
@ -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)
|
||||||
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)
|
||||||
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 @@
|
||||||
#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)
|
||||||
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)
|
||||||
|
|
||||||
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);
|
||||||
|
|
Loading…
Add table
Reference in a new issue