aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata/pata_amd.c
diff options
context:
space:
mode:
authorTejun Heo <htejun@gmail.com>2008-03-24 23:22:49 -0400
committerJeff Garzik <jgarzik@redhat.com>2008-04-17 15:44:17 -0400
commit1bd5b715a305f6f13455e89becbd839010dd14b5 (patch)
tree22e74b38495c51cda92145b7ae31f504f80d9fd3 /drivers/ata/pata_amd.c
parent029cfd6b74fc5c517865fad78cf4a3ea8d9b664a (diff)
libata: make ata_pci_init_one() not use ops->irq_handler and pi->sht
ata_pci_init_one() is the only function which uses ops->irq_handler and pi->sht. Other initialization functions take the same information as arguments. This causes confusion and duplicate unused entries in structures. Make ata_pci_init_one() take sht as an argument and use ata_interrupt implicitly. All current users use ata_interrupt and if different irq handler is necessary open coding ata_pci_init_one() using ata_prepare_sff_host() and ata_activate_sff_host can be done under ten lines including error handling and driver which requires custom interrupt handler is likely to require custom initialization anyway. As ata_pci_init_one() was the last user of ops->irq_handler, this patch also kills the field. Signed-off-by: Tejun Heo <htejun@gmail.com>
Diffstat (limited to 'drivers/ata/pata_amd.c')
-rw-r--r--drivers/ata/pata_amd.c12
1 files changed, 1 insertions, 11 deletions
diff --git a/drivers/ata/pata_amd.c b/drivers/ata/pata_amd.c
index b0cb4eaf273c..644702cac6ee 100644
--- a/drivers/ata/pata_amd.c
+++ b/drivers/ata/pata_amd.c
@@ -413,7 +413,6 @@ static int amd_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
413{ 413{
414 static const struct ata_port_info info[10] = { 414 static const struct ata_port_info info[10] = {
415 { /* 0: AMD 7401 */ 415 { /* 0: AMD 7401 */
416 .sht = &amd_sht,
417 .flags = ATA_FLAG_SLAVE_POSS, 416 .flags = ATA_FLAG_SLAVE_POSS,
418 .pio_mask = 0x1f, 417 .pio_mask = 0x1f,
419 .mwdma_mask = 0x07, /* No SWDMA */ 418 .mwdma_mask = 0x07, /* No SWDMA */
@@ -421,7 +420,6 @@ static int amd_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
421 .port_ops = &amd33_port_ops 420 .port_ops = &amd33_port_ops
422 }, 421 },
423 { /* 1: Early AMD7409 - no swdma */ 422 { /* 1: Early AMD7409 - no swdma */
424 .sht = &amd_sht,
425 .flags = ATA_FLAG_SLAVE_POSS, 423 .flags = ATA_FLAG_SLAVE_POSS,
426 .pio_mask = 0x1f, 424 .pio_mask = 0x1f,
427 .mwdma_mask = 0x07, 425 .mwdma_mask = 0x07,
@@ -429,7 +427,6 @@ static int amd_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
429 .port_ops = &amd66_port_ops 427 .port_ops = &amd66_port_ops
430 }, 428 },
431 { /* 2: AMD 7409, no swdma errata */ 429 { /* 2: AMD 7409, no swdma errata */
432 .sht = &amd_sht,
433 .flags = ATA_FLAG_SLAVE_POSS, 430 .flags = ATA_FLAG_SLAVE_POSS,
434 .pio_mask = 0x1f, 431 .pio_mask = 0x1f,
435 .mwdma_mask = 0x07, 432 .mwdma_mask = 0x07,
@@ -437,7 +434,6 @@ static int amd_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
437 .port_ops = &amd66_port_ops 434 .port_ops = &amd66_port_ops
438 }, 435 },
439 { /* 3: AMD 7411 */ 436 { /* 3: AMD 7411 */
440 .sht = &amd_sht,
441 .flags = ATA_FLAG_SLAVE_POSS, 437 .flags = ATA_FLAG_SLAVE_POSS,
442 .pio_mask = 0x1f, 438 .pio_mask = 0x1f,
443 .mwdma_mask = 0x07, 439 .mwdma_mask = 0x07,
@@ -445,7 +441,6 @@ static int amd_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
445 .port_ops = &amd100_port_ops 441 .port_ops = &amd100_port_ops
446 }, 442 },
447 { /* 4: AMD 7441 */ 443 { /* 4: AMD 7441 */
448 .sht = &amd_sht,
449 .flags = ATA_FLAG_SLAVE_POSS, 444 .flags = ATA_FLAG_SLAVE_POSS,
450 .pio_mask = 0x1f, 445 .pio_mask = 0x1f,
451 .mwdma_mask = 0x07, 446 .mwdma_mask = 0x07,
@@ -453,7 +448,6 @@ static int amd_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
453 .port_ops = &amd100_port_ops 448 .port_ops = &amd100_port_ops
454 }, 449 },
455 { /* 5: AMD 8111*/ 450 { /* 5: AMD 8111*/
456 .sht = &amd_sht,
457 .flags = ATA_FLAG_SLAVE_POSS, 451 .flags = ATA_FLAG_SLAVE_POSS,
458 .pio_mask = 0x1f, 452 .pio_mask = 0x1f,
459 .mwdma_mask = 0x07, 453 .mwdma_mask = 0x07,
@@ -461,7 +455,6 @@ static int amd_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
461 .port_ops = &amd133_port_ops 455 .port_ops = &amd133_port_ops
462 }, 456 },
463 { /* 6: AMD 8111 UDMA 100 (Serenade) */ 457 { /* 6: AMD 8111 UDMA 100 (Serenade) */
464 .sht = &amd_sht,
465 .flags = ATA_FLAG_SLAVE_POSS, 458 .flags = ATA_FLAG_SLAVE_POSS,
466 .pio_mask = 0x1f, 459 .pio_mask = 0x1f,
467 .mwdma_mask = 0x07, 460 .mwdma_mask = 0x07,
@@ -469,7 +462,6 @@ static int amd_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
469 .port_ops = &amd133_port_ops 462 .port_ops = &amd133_port_ops
470 }, 463 },
471 { /* 7: Nvidia Nforce */ 464 { /* 7: Nvidia Nforce */
472 .sht = &amd_sht,
473 .flags = ATA_FLAG_SLAVE_POSS, 465 .flags = ATA_FLAG_SLAVE_POSS,
474 .pio_mask = 0x1f, 466 .pio_mask = 0x1f,
475 .mwdma_mask = 0x07, 467 .mwdma_mask = 0x07,
@@ -477,7 +469,6 @@ static int amd_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
477 .port_ops = &nv100_port_ops 469 .port_ops = &nv100_port_ops
478 }, 470 },
479 { /* 8: Nvidia Nforce2 and later */ 471 { /* 8: Nvidia Nforce2 and later */
480 .sht = &amd_sht,
481 .flags = ATA_FLAG_SLAVE_POSS, 472 .flags = ATA_FLAG_SLAVE_POSS,
482 .pio_mask = 0x1f, 473 .pio_mask = 0x1f,
483 .mwdma_mask = 0x07, 474 .mwdma_mask = 0x07,
@@ -485,7 +476,6 @@ static int amd_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
485 .port_ops = &nv133_port_ops 476 .port_ops = &nv133_port_ops
486 }, 477 },
487 { /* 9: AMD CS5536 (Geode companion) */ 478 { /* 9: AMD CS5536 (Geode companion) */
488 .sht = &amd_sht,
489 .flags = ATA_FLAG_SLAVE_POSS, 479 .flags = ATA_FLAG_SLAVE_POSS,
490 .pio_mask = 0x1f, 480 .pio_mask = 0x1f,
491 .mwdma_mask = 0x07, 481 .mwdma_mask = 0x07,
@@ -544,7 +534,7 @@ static int amd_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
544 } 534 }
545 535
546 /* And fire it up */ 536 /* And fire it up */
547 return ata_pci_init_one(pdev, ppi); 537 return ata_pci_init_one(pdev, ppi, &amd_sht);
548} 538}
549 539
550#ifdef CONFIG_PM 540#ifdef CONFIG_PM