From 2608bab9bb75d275dbc7fd4012e3c2069a364697 Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Thu, 16 Oct 2003 11:03:12 -0700 Subject: [PATCH] [NET]: Mark init_etherdev() as deprecated. --- drivers/net/net_init.c | 8 ++++++-- include/linux/etherdevice.h | 8 +++++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/drivers/net/net_init.c b/drivers/net/net_init.c index 0a5706e6c41d1..a61eac6cc10e6 100644 --- a/drivers/net/net_init.c +++ b/drivers/net/net_init.c @@ -197,9 +197,13 @@ static struct net_device *init_netdev(struct net_device *dev, int sizeof_priv, * * If an empty string area is passed as dev->name, or a new structure is made, * a new name string is constructed. + * + * Deprecated because of exposed window between device registration + * and interfaces pointers that need to be set by driver. + * Use alloc_etherdev and register_netdev instead. */ -struct net_device *init_etherdev(struct net_device *dev, int sizeof_priv) +struct net_device *__init_etherdev(struct net_device *dev, int sizeof_priv) { return init_netdev(dev, sizeof_priv, "eth%d", ether_setup); } @@ -222,7 +226,7 @@ struct net_device *alloc_etherdev(int sizeof_priv) return alloc_netdev(sizeof_priv, "eth%d", ether_setup); } -EXPORT_SYMBOL(init_etherdev); +EXPORT_SYMBOL(__init_etherdev); EXPORT_SYMBOL(alloc_etherdev); static int eth_mac_addr(struct net_device *dev, void *p) diff --git a/include/linux/etherdevice.h b/include/linux/etherdevice.h index d3b49237ed50d..9cba9322d8503 100644 --- a/include/linux/etherdevice.h +++ b/include/linux/etherdevice.h @@ -38,7 +38,13 @@ extern int eth_header_cache(struct neighbour *neigh, struct hh_cache *hh); extern int eth_header_parse(struct sk_buff *skb, unsigned char *haddr); -extern struct net_device *init_etherdev(struct net_device *dev, int sizeof_priv); +extern struct net_device *__init_etherdev(struct net_device *dev, int sizeof_priv); +static inline __deprecated struct net_device *init_etherdev(struct net_device *dev, + int sizeof_priv) +{ + return __init_etherdev(dev, sizeof_priv); +} + extern struct net_device *alloc_etherdev(int sizeof_priv); static inline void eth_copy_and_sum (struct sk_buff *dest, unsigned char *src, int len, int base) { -- 2.53.0