[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>
This commit is contained in:
Dominik Brodowski
2006-01-15 09:32:39 +01:00
parent 1de9cedfbd
commit 5f2a71fcb7
43 changed files with 153 additions and 401 deletions
+9 -15
View File
@@ -267,23 +267,17 @@ failed:
void parport_cs_release(dev_link_t *link)
{
parport_info_t *info = link->priv;
DEBUG(0, "parport_release(0x%p)\n", link);
parport_info_t *info = link->priv;
if (info->ndev) {
struct parport *p = info->port;
parport_pc_unregister_port(p);
}
info->ndev = 0;
link->dev = NULL;
pcmcia_release_configuration(link->handle);
pcmcia_release_io(link->handle, &link->io);
pcmcia_release_irq(link->handle, &link->irq);
link->state &= ~DEV_CONFIG;
DEBUG(0, "parport_release(0x%p)\n", link);
if (info->ndev) {
struct parport *p = info->port;
parport_pc_unregister_port(p);
}
info->ndev = 0;
pcmcia_disable_device(link->handle);
} /* parport_cs_release */
static int parport_suspend(struct pcmcia_device *dev)