diff options
Diffstat (limited to 'drivers/pcmcia/i82092.c')
| -rw-r--r-- | drivers/pcmcia/i82092.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/drivers/pcmcia/i82092.c b/drivers/pcmcia/i82092.c index 4e8831bdb6e..7d47456429a 100644 --- a/drivers/pcmcia/i82092.c +++ b/drivers/pcmcia/i82092.c @@ -35,7 +35,7 @@ static struct pci_driver i82092aa_pci_driver = { .name = "i82092aa", .id_table = i82092aa_pci_ids, .probe = i82092aa_pci_probe, - .remove = __devexit_p(i82092aa_pci_remove), + .remove = i82092aa_pci_remove, }; @@ -67,7 +67,7 @@ static struct socket_info sockets[MAX_SOCKETS]; static int socket_count; /* shortcut */ -static int __devinit i82092aa_pci_probe(struct pci_dev *dev, const struct pci_device_id *id) +static int i82092aa_pci_probe(struct pci_dev *dev, const struct pci_device_id *id) { unsigned char configbyte; int i, ret; @@ -133,8 +133,6 @@ static int __devinit i82092aa_pci_probe(struct pci_dev *dev, const struct pci_de 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; @@ -162,16 +160,16 @@ err_out_disable: return ret; } -static void __devexit i82092aa_pci_remove(struct pci_dev *dev) +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"); } @@ -610,7 +608,7 @@ static int i82092aa_set_mem_map(struct pcmcia_socket *socket, struct pccard_mem_ enter("i82092aa_set_mem_map"); - pcibios_resource_to_bus(sock_info->dev, ®ion, mem->res); + pcibios_resource_to_bus(sock_info->dev->bus, ®ion, mem->res); map = mem->map; if (map > 4) { |
