diff options
Diffstat (limited to 'drivers/pcmcia/pd6729.c')
| -rw-r--r-- | drivers/pcmcia/pd6729.c | 33 |
1 files changed, 9 insertions, 24 deletions
diff --git a/drivers/pcmcia/pd6729.c b/drivers/pcmcia/pd6729.c index 96c72e90b79..622dd6fe734 100644 --- a/drivers/pcmcia/pd6729.c +++ b/drivers/pcmcia/pd6729.c @@ -19,7 +19,6 @@ #include <pcmcia/ss.h> -#include <asm/system.h> #include "pd6729.h" #include "i82365.h" @@ -590,7 +589,7 @@ static int pd6729_check_irq(int irq) return 0; } -static u_int __devinit pd6729_isa_scan(void) +static u_int pd6729_isa_scan(void) { u_int mask0, mask = 0; int i; @@ -621,7 +620,7 @@ static u_int __devinit pd6729_isa_scan(void) return mask; } -static int __devinit pd6729_pci_probe(struct pci_dev *dev, +static int pd6729_pci_probe(struct pci_dev *dev, const struct pci_device_id *id) { int i, j, ret; @@ -645,6 +644,7 @@ static int __devinit pd6729_pci_probe(struct pci_dev *dev, if (!pci_resource_start(dev, 0)) { dev_warn(&dev->dev, "refusing to load the driver as the " "io_base is NULL.\n"); + ret = -ENOMEM; goto err_out_disable; } @@ -674,6 +674,7 @@ static int __devinit pd6729_pci_probe(struct pci_dev *dev, mask = pd6729_isa_scan(); if (irq_mode == 0 && mask == 0) { dev_warn(&dev->dev, "no ISA interrupt is available.\n"); + ret = -ENODEV; goto err_out_free_res; } @@ -740,7 +741,7 @@ err_out_free_mem: return ret; } -static void __devexit pd6729_pci_remove(struct pci_dev *dev) +static void pd6729_pci_remove(struct pci_dev *dev) { int i; struct pd6729_socket *socket = pci_get_drvdata(dev); @@ -763,13 +764,8 @@ static void __devexit pd6729_pci_remove(struct pci_dev *dev) kfree(socket); } -static struct pci_device_id pd6729_pci_ids[] = { - { - .vendor = PCI_VENDOR_ID_CIRRUS, - .device = PCI_DEVICE_ID_CIRRUS_6729, - .subvendor = PCI_ANY_ID, - .subdevice = PCI_ANY_ID, - }, +static DEFINE_PCI_DEVICE_TABLE(pd6729_pci_ids) = { + { PCI_DEVICE(PCI_VENDOR_ID_CIRRUS, PCI_DEVICE_ID_CIRRUS_6729) }, { } }; MODULE_DEVICE_TABLE(pci, pd6729_pci_ids); @@ -778,18 +774,7 @@ static struct pci_driver pd6729_pci_driver = { .name = "pd6729", .id_table = pd6729_pci_ids, .probe = pd6729_pci_probe, - .remove = __devexit_p(pd6729_pci_remove), + .remove = pd6729_pci_remove, }; -static int pd6729_module_init(void) -{ - return pci_register_driver(&pd6729_pci_driver); -} - -static void pd6729_module_exit(void) -{ - pci_unregister_driver(&pd6729_pci_driver); -} - -module_init(pd6729_module_init); -module_exit(pd6729_module_exit); +module_pci_driver(pd6729_pci_driver); |
