diff options
Diffstat (limited to 'drivers/pcmcia/pd6729.c')
| -rw-r--r-- | drivers/pcmcia/pd6729.c | 41 | 
1 files changed, 13 insertions, 28 deletions
diff --git a/drivers/pcmcia/pd6729.c b/drivers/pcmcia/pd6729.c index 8cbfa067171..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;  	} @@ -725,22 +726,22 @@ static int __devinit pd6729_pci_probe(struct pci_dev *dev,  	return 0; - err_out_free_res2: +err_out_free_res2:  	if (irq_mode == 1)  		free_irq(dev->irq, socket);  	else  		del_timer_sync(&socket->poll_timer); - err_out_free_res: +err_out_free_res:  	pci_release_regions(dev); - err_out_disable: +err_out_disable:  	pci_disable_device(dev); - err_out_free_mem: +err_out_free_mem:  	kfree(socket);  	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);  | 
