aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/ide/pci/aec62xx.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/ide/pci/aec62xx.c b/drivers/ide/pci/aec62xx.c
index 7ca7989bc35..253299961a1 100644
--- a/drivers/ide/pci/aec62xx.c
+++ b/drivers/ide/pci/aec62xx.c
@@ -280,6 +280,12 @@ static int __devinit aec62xx_init_one(struct pci_dev *dev, const struct pci_devi
280 return err; 280 return err;
281} 281}
282 282
283static void __devexit aec62xx_remove(struct pci_dev *dev)
284{
285 ide_pci_remove(dev);
286 pci_disable_device(dev);
287}
288
283static const struct pci_device_id aec62xx_pci_tbl[] = { 289static const struct pci_device_id aec62xx_pci_tbl[] = {
284 { PCI_VDEVICE(ARTOP, PCI_DEVICE_ID_ARTOP_ATP850UF), 0 }, 290 { PCI_VDEVICE(ARTOP, PCI_DEVICE_ID_ARTOP_ATP850UF), 0 },
285 { PCI_VDEVICE(ARTOP, PCI_DEVICE_ID_ARTOP_ATP860), 1 }, 291 { PCI_VDEVICE(ARTOP, PCI_DEVICE_ID_ARTOP_ATP860), 1 },
@@ -294,6 +300,7 @@ static struct pci_driver driver = {
294 .name = "AEC62xx_IDE", 300 .name = "AEC62xx_IDE",
295 .id_table = aec62xx_pci_tbl, 301 .id_table = aec62xx_pci_tbl,
296 .probe = aec62xx_init_one, 302 .probe = aec62xx_init_one,
303 .remove = aec62xx_remove,
297}; 304};
298 305
299static int __init aec62xx_ide_init(void) 306static int __init aec62xx_ide_init(void)
@@ -301,7 +308,13 @@ static int __init aec62xx_ide_init(void)
301 return ide_pci_register_driver(&driver); 308 return ide_pci_register_driver(&driver);
302} 309}
303 310
311static void __exit aec62xx_ide_exit(void)
312{
313 pci_unregister_driver(&driver);
314}
315
304module_init(aec62xx_ide_init); 316module_init(aec62xx_ide_init);
317module_exit(aec62xx_ide_exit);
305 318
306MODULE_AUTHOR("Andre Hedrick"); 319MODULE_AUTHOR("Andre Hedrick");
307MODULE_DESCRIPTION("PCI driver module for ARTOP AEC62xx IDE"); 320MODULE_DESCRIPTION("PCI driver module for ARTOP AEC62xx IDE");