aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata/pata_serverworks.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_serverworks.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_serverworks.c')
-rw-r--r--drivers/ata/pata_serverworks.c6
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