diff options
author | Dominik Brodowski <linux@dominikbrodowski.net> | 2006-01-15 03:32:39 -0500 |
---|---|---|
committer | Dominik Brodowski <linux@dominikbrodowski.net> | 2006-03-31 10:15:50 -0500 |
commit | 5f2a71fcb7995633b335a1e380ac63a968e61320 (patch) | |
tree | d47f4227d314fc9f298b75c217fa78440004e6e7 /drivers/net/pcmcia/ibmtr_cs.c | |
parent | 1de9cedfbdff1d8adb662cd3afc5bda66e393351 (diff) |
[PATCH] pcmcia: add pcmcia_disable_device
pcmcia_disable_device(struct pcmcia_device *p_dev) performs the necessary
cleanups upon device or driver removal: it calls the appropriate
pcmcia_release_* functions, and can replace (most) of the current drivers'
_release() functions.
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Diffstat (limited to 'drivers/net/pcmcia/ibmtr_cs.c')
-rw-r--r-- | drivers/net/pcmcia/ibmtr_cs.c | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/drivers/net/pcmcia/ibmtr_cs.c b/drivers/net/pcmcia/ibmtr_cs.c index b9c7e39576f5..1948a0bc198d 100644 --- a/drivers/net/pcmcia/ibmtr_cs.c +++ b/drivers/net/pcmcia/ibmtr_cs.c | |||
@@ -348,22 +348,17 @@ failed: | |||
348 | 348 | ||
349 | static void ibmtr_release(dev_link_t *link) | 349 | static void ibmtr_release(dev_link_t *link) |
350 | { | 350 | { |
351 | ibmtr_dev_t *info = link->priv; | 351 | ibmtr_dev_t *info = link->priv; |
352 | struct net_device *dev = info->dev; | 352 | struct net_device *dev = info->dev; |
353 | |||
354 | DEBUG(0, "ibmtr_release(0x%p)\n", link); | ||
355 | 353 | ||
356 | pcmcia_release_configuration(link->handle); | 354 | DEBUG(0, "ibmtr_release(0x%p)\n", link); |
357 | pcmcia_release_io(link->handle, &link->io); | ||
358 | pcmcia_release_irq(link->handle, &link->irq); | ||
359 | if (link->win) { | ||
360 | struct tok_info *ti = netdev_priv(dev); | ||
361 | iounmap(ti->mmio); | ||
362 | pcmcia_release_window(link->win); | ||
363 | pcmcia_release_window(info->sram_win_handle); | ||
364 | } | ||
365 | 355 | ||
366 | link->state &= ~DEV_CONFIG; | 356 | if (link->win) { |
357 | struct tok_info *ti = netdev_priv(dev); | ||
358 | iounmap(ti->mmio); | ||
359 | pcmcia_release_window(info->sram_win_handle); | ||
360 | } | ||
361 | pcmcia_disable_device(link->handle); | ||
367 | } | 362 | } |
368 | 363 | ||
369 | static int ibmtr_suspend(struct pcmcia_device *p_dev) | 364 | static int ibmtr_suspend(struct pcmcia_device *p_dev) |