diff options
Diffstat (limited to 'drivers/ide/pci/sl82c105.c')
-rw-r--r-- | drivers/ide/pci/sl82c105.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/drivers/ide/pci/sl82c105.c b/drivers/ide/pci/sl82c105.c index f82a6502c1b7..73905bcc08fb 100644 --- a/drivers/ide/pci/sl82c105.c +++ b/drivers/ide/pci/sl82c105.c | |||
@@ -23,6 +23,8 @@ | |||
23 | 23 | ||
24 | #include <asm/io.h> | 24 | #include <asm/io.h> |
25 | 25 | ||
26 | #define DRV_NAME "sl82c105" | ||
27 | |||
26 | #undef DEBUG | 28 | #undef DEBUG |
27 | 29 | ||
28 | #ifdef DEBUG | 30 | #ifdef DEBUG |
@@ -270,7 +272,7 @@ static u8 sl82c105_bridge_revision(struct pci_dev *dev) | |||
270 | * channel 0 here at least, but channel 1 has to be enabled by | 272 | * channel 0 here at least, but channel 1 has to be enabled by |
271 | * firmware or arch code. We still set both to 16 bits mode. | 273 | * firmware or arch code. We still set both to 16 bits mode. |
272 | */ | 274 | */ |
273 | static unsigned int __devinit init_chipset_sl82c105(struct pci_dev *dev, const char *msg) | 275 | static unsigned int __devinit init_chipset_sl82c105(struct pci_dev *dev) |
274 | { | 276 | { |
275 | u32 val; | 277 | u32 val; |
276 | 278 | ||
@@ -301,7 +303,7 @@ static const struct ide_dma_ops sl82c105_dma_ops = { | |||
301 | }; | 303 | }; |
302 | 304 | ||
303 | static const struct ide_port_info sl82c105_chipset __devinitdata = { | 305 | static const struct ide_port_info sl82c105_chipset __devinitdata = { |
304 | .name = "W82C105", | 306 | .name = DRV_NAME, |
305 | .init_chipset = init_chipset_sl82c105, | 307 | .init_chipset = init_chipset_sl82c105, |
306 | .enablebits = {{0x40,0x01,0x01}, {0x40,0x10,0x10}}, | 308 | .enablebits = {{0x40,0x01,0x01}, {0x40,0x10,0x10}}, |
307 | .port_ops = &sl82c105_port_ops, | 309 | .port_ops = &sl82c105_port_ops, |
@@ -328,14 +330,14 @@ static int __devinit sl82c105_init_one(struct pci_dev *dev, const struct pci_dev | |||
328 | * Never ever EVER under any circumstances enable | 330 | * Never ever EVER under any circumstances enable |
329 | * DMA when the bridge is this old. | 331 | * DMA when the bridge is this old. |
330 | */ | 332 | */ |
331 | printk(KERN_INFO "W82C105_IDE: Winbond W83C553 bridge " | 333 | printk(KERN_INFO DRV_NAME ": Winbond W83C553 bridge " |
332 | "revision %d, BM-DMA disabled\n", rev); | 334 | "revision %d, BM-DMA disabled\n", rev); |
333 | d.dma_ops = NULL; | 335 | d.dma_ops = NULL; |
334 | d.mwdma_mask = 0; | 336 | d.mwdma_mask = 0; |
335 | d.host_flags &= ~IDE_HFLAG_SERIALIZE_DMA; | 337 | d.host_flags &= ~IDE_HFLAG_SERIALIZE_DMA; |
336 | } | 338 | } |
337 | 339 | ||
338 | return ide_setup_pci_device(dev, &d); | 340 | return ide_pci_init_one(dev, &d, NULL); |
339 | } | 341 | } |
340 | 342 | ||
341 | static const struct pci_device_id sl82c105_pci_tbl[] = { | 343 | static const struct pci_device_id sl82c105_pci_tbl[] = { |
@@ -348,6 +350,7 @@ static struct pci_driver driver = { | |||
348 | .name = "W82C105_IDE", | 350 | .name = "W82C105_IDE", |
349 | .id_table = sl82c105_pci_tbl, | 351 | .id_table = sl82c105_pci_tbl, |
350 | .probe = sl82c105_init_one, | 352 | .probe = sl82c105_init_one, |
353 | .remove = ide_pci_remove, | ||
351 | }; | 354 | }; |
352 | 355 | ||
353 | static int __init sl82c105_ide_init(void) | 356 | static int __init sl82c105_ide_init(void) |
@@ -355,7 +358,13 @@ static int __init sl82c105_ide_init(void) | |||
355 | return ide_pci_register_driver(&driver); | 358 | return ide_pci_register_driver(&driver); |
356 | } | 359 | } |
357 | 360 | ||
361 | static void __exit sl82c105_ide_exit(void) | ||
362 | { | ||
363 | pci_unregister_driver(&driver); | ||
364 | } | ||
365 | |||
358 | module_init(sl82c105_ide_init); | 366 | module_init(sl82c105_ide_init); |
367 | module_exit(sl82c105_ide_exit); | ||
359 | 368 | ||
360 | MODULE_DESCRIPTION("PCI driver module for W82C105 IDE"); | 369 | MODULE_DESCRIPTION("PCI driver module for W82C105 IDE"); |
361 | MODULE_LICENSE("GPL"); | 370 | MODULE_LICENSE("GPL"); |