Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[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>

authored by

Christoph Hellwig and committed by
David S. Miller
3ef4e9a8 476e19cf

+24 -6
+2 -2
drivers/net/appletalk/cops.c
··· 65 65 #include <linux/etherdevice.h> 66 66 #include <linux/skbuff.h> 67 67 #include <linux/if_arp.h> 68 - #include <linux/if_ltalk.h> /* For ltalk_setup() */ 68 + #include <linux/if_ltalk.h> 69 69 #include <linux/delay.h> /* For udelay() */ 70 70 #include <linux/atalk.h> 71 71 #include <linux/spinlock.h> ··· 223 223 int base_addr; 224 224 int err = 0; 225 225 226 - dev = alloc_netdev(sizeof(struct cops_local), "lt%d", ltalk_setup); 226 + dev = alloc_ltalkdev(sizeof(struct cops_local)); 227 227 if (!dev) 228 228 return ERR_PTR(-ENOMEM); 229 229
+1 -1
drivers/net/appletalk/ltpc.c
··· 1039 1039 unsigned long f; 1040 1040 unsigned long timeout; 1041 1041 1042 - dev = alloc_netdev(sizeof(struct ltpc_private), "lt%d", ltalk_setup); 1042 + dev = alloc_ltalkdev(sizeof(struct ltpc_private)); 1043 1043 if (!dev) 1044 1044 goto out; 1045 1045
+1 -1
include/linux/if_ltalk.h
··· 6 6 #define LTALK_ALEN 1 7 7 8 8 #ifdef __KERNEL__ 9 - extern void ltalk_setup(struct net_device *); 9 + extern struct net_device *alloc_ltalkdev(int sizeof_priv); 10 10 #endif 11 11 12 12 #endif
+20 -2
net/appletalk/dev.c
··· 19 19 return -EINVAL; 20 20 } 21 21 22 - void ltalk_setup(struct net_device *dev) 22 + static void ltalk_setup(struct net_device *dev) 23 23 { 24 24 /* Fill in the fields of the device structure with localtalk-generic values. */ 25 25 ··· 40 40 41 41 dev->flags = IFF_BROADCAST|IFF_MULTICAST|IFF_NOARP; 42 42 } 43 - EXPORT_SYMBOL(ltalk_setup); 43 + 44 + /** 45 + * alloc_ltalkdev - Allocates and sets up an localtalk device 46 + * @sizeof_priv: Size of additional driver-private structure to be allocated 47 + * for this localtalk device 48 + * 49 + * Fill in the fields of the device structure with localtalk-generic 50 + * values. Basically does everything except registering the device. 51 + * 52 + * Constructs a new net device, complete with a private data area of 53 + * size @sizeof_priv. A 32-byte (not bit) alignment is enforced for 54 + * this private data area. 55 + */ 56 + 57 + struct net_device *alloc_ltalkdev(int sizeof_priv) 58 + { 59 + return alloc_netdev(sizeof_priv, "lt%d", ltalk_setup); 60 + } 61 + EXPORT_SYMBOL(alloc_ltalkdev);