Home Home > GIT Browse
diff options
authorStephen Hemminger <shemminger@osdl.org>2003-10-16 11:03:12 -0700
committerStephen Hemminger <shemminger@osdl.org>2003-10-16 11:03:12 -0700
commit2608bab9bb75d275dbc7fd4012e3c2069a364697 (patch)
parenteb1a40d95007f99918694e68ccefe42b46b1892e (diff)
[NET]: Mark init_etherdev() as deprecated.
2 files changed, 13 insertions, 3 deletions
diff --git a/drivers/net/net_init.c b/drivers/net/net_init.c
index 0a5706e6c41d..a61eac6cc10e 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);
static int eth_mac_addr(struct net_device *dev, void *p)
diff --git a/include/linux/etherdevice.h b/include/linux/etherdevice.h
index d3b49237ed50..9cba9322d850 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)