diff options
author | Dominik Brodowski <linux@dominikbrodowski.net> | 2010-03-20 14:39:26 -0400 |
---|---|---|
committer | Dominik Brodowski <linux@dominikbrodowski.net> | 2010-05-10 04:23:16 -0400 |
commit | c7c2fa079073ab92b0736a161b4cf1051a3e631f (patch) | |
tree | c23bb2e89f68601e5c37a1a0df9e83c9e71f9dd6 /drivers/net/pcmcia/fmvj18x_cs.c | |
parent | ded6a1a341cb38c4cfeb09d3d01ffe16b5c804b3 (diff) |
pcmcia: dev_node removal (drivers with unregister_netdev check)
As a third step, remove any usage of dev_node_t from drivers which
only wrote to this typedef/struct, except to determine whether
register_netdev() succeeded previously. However, the function calling
unregister_netdev() was only ever called by the PCMCIA core if
register_netdev() succeeded previously. The lonely exception was
easily fixed.
CC: netdev@vger.kernel.org
CC: linux-wireless@vger.kernel.org
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Diffstat (limited to 'drivers/net/pcmcia/fmvj18x_cs.c')
-rw-r--r-- | drivers/net/pcmcia/fmvj18x_cs.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/drivers/net/pcmcia/fmvj18x_cs.c b/drivers/net/pcmcia/fmvj18x_cs.c index 31f1a037737c..6580d78397d1 100644 --- a/drivers/net/pcmcia/fmvj18x_cs.c +++ b/drivers/net/pcmcia/fmvj18x_cs.c | |||
@@ -110,7 +110,6 @@ typedef enum { MBH10302, MBH10304, TDK, CONTEC, LA501, UNGERMANN, | |||
110 | */ | 110 | */ |
111 | typedef struct local_info_t { | 111 | typedef struct local_info_t { |
112 | struct pcmcia_device *p_dev; | 112 | struct pcmcia_device *p_dev; |
113 | dev_node_t node; | ||
114 | long open_time; | 113 | long open_time; |
115 | uint tx_started:1; | 114 | uint tx_started:1; |
116 | uint tx_queue; | 115 | uint tx_queue; |
@@ -274,8 +273,7 @@ static void fmvj18x_detach(struct pcmcia_device *link) | |||
274 | 273 | ||
275 | dev_dbg(&link->dev, "fmvj18x_detach\n"); | 274 | dev_dbg(&link->dev, "fmvj18x_detach\n"); |
276 | 275 | ||
277 | if (link->dev_node) | 276 | unregister_netdev(dev); |
278 | unregister_netdev(dev); | ||
279 | 277 | ||
280 | fmvj18x_release(link); | 278 | fmvj18x_release(link); |
281 | 279 | ||
@@ -523,17 +521,13 @@ static int fmvj18x_config(struct pcmcia_device *link) | |||
523 | } | 521 | } |
524 | 522 | ||
525 | lp->cardtype = cardtype; | 523 | lp->cardtype = cardtype; |
526 | link->dev_node = &lp->node; | ||
527 | SET_NETDEV_DEV(dev, &link->dev); | 524 | SET_NETDEV_DEV(dev, &link->dev); |
528 | 525 | ||
529 | if (register_netdev(dev) != 0) { | 526 | if (register_netdev(dev) != 0) { |
530 | printk(KERN_NOTICE "fmvj18x_cs: register_netdev() failed\n"); | 527 | printk(KERN_NOTICE "fmvj18x_cs: register_netdev() failed\n"); |
531 | link->dev_node = NULL; | ||
532 | goto failed; | 528 | goto failed; |
533 | } | 529 | } |
534 | 530 | ||
535 | strcpy(lp->node.dev_name, dev->name); | ||
536 | |||
537 | /* print current configuration */ | 531 | /* print current configuration */ |
538 | printk(KERN_INFO "%s: %s, sram %s, port %#3lx, irq %d, " | 532 | printk(KERN_INFO "%s: %s, sram %s, port %#3lx, irq %d, " |
539 | "hw_addr %pM\n", | 533 | "hw_addr %pM\n", |