diff options
author | Tejun Heo <htejun@gmail.com> | 2008-03-24 23:22:49 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2008-04-17 15:44:17 -0400 |
commit | 1bd5b715a305f6f13455e89becbd839010dd14b5 (patch) | |
tree | 22e74b38495c51cda92145b7ae31f504f80d9fd3 /drivers/ata/pata_serverworks.c | |
parent | 029cfd6b74fc5c517865fad78cf4a3ea8d9b664a (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_serverworks.c')
-rw-r--r-- | drivers/ata/pata_serverworks.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/drivers/ata/pata_serverworks.c b/drivers/ata/pata_serverworks.c index 627abcf85c6e..515b5b70a555 100644 --- a/drivers/ata/pata_serverworks.c +++ b/drivers/ata/pata_serverworks.c | |||
@@ -399,28 +399,24 @@ static int serverworks_init_one(struct pci_dev *pdev, const struct pci_device_id | |||
399 | { | 399 | { |
400 | static const struct ata_port_info info[4] = { | 400 | static const struct ata_port_info info[4] = { |
401 | { /* OSB4 */ | 401 | { /* OSB4 */ |
402 | .sht = &serverworks_sht, | ||
403 | .flags = ATA_FLAG_SLAVE_POSS, | 402 | .flags = ATA_FLAG_SLAVE_POSS, |
404 | .pio_mask = 0x1f, | 403 | .pio_mask = 0x1f, |
405 | .mwdma_mask = 0x07, | 404 | .mwdma_mask = 0x07, |
406 | .udma_mask = 0x07, | 405 | .udma_mask = 0x07, |
407 | .port_ops = &serverworks_osb4_port_ops | 406 | .port_ops = &serverworks_osb4_port_ops |
408 | }, { /* OSB4 no UDMA */ | 407 | }, { /* OSB4 no UDMA */ |
409 | .sht = &serverworks_sht, | ||
410 | .flags = ATA_FLAG_SLAVE_POSS, | 408 | .flags = ATA_FLAG_SLAVE_POSS, |
411 | .pio_mask = 0x1f, | 409 | .pio_mask = 0x1f, |
412 | .mwdma_mask = 0x07, | 410 | .mwdma_mask = 0x07, |
413 | .udma_mask = 0x00, | 411 | .udma_mask = 0x00, |
414 | .port_ops = &serverworks_osb4_port_ops | 412 | .port_ops = &serverworks_osb4_port_ops |
415 | }, { /* CSB5 */ | 413 | }, { /* CSB5 */ |
416 | .sht = &serverworks_sht, | ||
417 | .flags = ATA_FLAG_SLAVE_POSS, | 414 | .flags = ATA_FLAG_SLAVE_POSS, |
418 | .pio_mask = 0x1f, | 415 | .pio_mask = 0x1f, |
419 | .mwdma_mask = 0x07, | 416 | .mwdma_mask = 0x07, |
420 | .udma_mask = ATA_UDMA4, | 417 | .udma_mask = ATA_UDMA4, |
421 | .port_ops = &serverworks_csb_port_ops | 418 | .port_ops = &serverworks_csb_port_ops |
422 | }, { /* CSB5 - later revisions*/ | 419 | }, { /* CSB5 - later revisions*/ |
423 | .sht = &serverworks_sht, | ||
424 | .flags = ATA_FLAG_SLAVE_POSS, | 420 | .flags = ATA_FLAG_SLAVE_POSS, |
425 | .pio_mask = 0x1f, | 421 | .pio_mask = 0x1f, |
426 | .mwdma_mask = 0x07, | 422 | .mwdma_mask = 0x07, |
@@ -465,7 +461,7 @@ static int serverworks_init_one(struct pci_dev *pdev, const struct pci_device_id | |||
465 | if (pdev->device == PCI_DEVICE_ID_SERVERWORKS_CSB5IDE) | 461 | if (pdev->device == PCI_DEVICE_ID_SERVERWORKS_CSB5IDE) |
466 | ata_pci_clear_simplex(pdev); | 462 | ata_pci_clear_simplex(pdev); |
467 | 463 | ||
468 | return ata_pci_init_one(pdev, ppi); | 464 | return ata_pci_init_one(pdev, ppi, &serverworks_sht); |
469 | } | 465 | } |
470 | 466 | ||
471 | #ifdef CONFIG_PM | 467 | #ifdef CONFIG_PM |