diff options
Diffstat (limited to 'drivers/pcmcia')
-rw-r--r-- | drivers/pcmcia/Kconfig | 4 | ||||
-rw-r--r-- | drivers/pcmcia/i82092.c | 8 | ||||
-rw-r--r-- | drivers/pcmcia/vrc4171_card.c | 1 |
3 files changed, 6 insertions, 7 deletions
diff --git a/drivers/pcmcia/Kconfig b/drivers/pcmcia/Kconfig index 8fd255f7ee4..b90f85bf5f8 100644 --- a/drivers/pcmcia/Kconfig +++ b/drivers/pcmcia/Kconfig @@ -36,8 +36,8 @@ config PCMCIA If unsure, say Y. config PCMCIA_LOAD_CIS - bool "Load CIS updates from userspace (EXPERIMENTAL)" - depends on PCMCIA && EXPERIMENTAL + bool "Load CIS updates from userspace" + depends on PCMCIA select FW_LOADER default y help diff --git a/drivers/pcmcia/i82092.c b/drivers/pcmcia/i82092.c index 3578e1ca97a..519c4d6003a 100644 --- a/drivers/pcmcia/i82092.c +++ b/drivers/pcmcia/i82092.c @@ -133,8 +133,6 @@ static int i82092aa_pci_probe(struct pci_dev *dev, const struct pci_device_id *i goto err_out_free_res; } - pci_set_drvdata(dev, &sockets[i].socket); - for (i = 0; i<socket_count; i++) { sockets[i].socket.dev.parent = &dev->dev; sockets[i].socket.ops = &i82092aa_operations; @@ -164,14 +162,14 @@ err_out_disable: static void i82092aa_pci_remove(struct pci_dev *dev) { - struct pcmcia_socket *socket = pci_get_drvdata(dev); + int i; enter("i82092aa_pci_remove"); free_irq(dev->irq, i82092aa_interrupt); - if (socket) - pcmcia_unregister_socket(socket); + for (i = 0; i < socket_count; i++) + pcmcia_unregister_socket(&sockets[i].socket); leave("i82092aa_pci_remove"); } diff --git a/drivers/pcmcia/vrc4171_card.c b/drivers/pcmcia/vrc4171_card.c index 75806be344e..d98a0861249 100644 --- a/drivers/pcmcia/vrc4171_card.c +++ b/drivers/pcmcia/vrc4171_card.c @@ -246,6 +246,7 @@ static int pccard_init(struct pcmcia_socket *sock) socket = &vrc4171_sockets[slot]; socket->csc_irq = search_nonuse_irq(); socket->io_irq = search_nonuse_irq(); + spin_lock_init(&socket->lock); return 0; } |