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_via.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_via.c')
-rw-r--r-- | drivers/ata/pata_via.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/drivers/ata/pata_via.c b/drivers/ata/pata_via.c index d1edb1b27480..e66bb85ad3d1 100644 --- a/drivers/ata/pata_via.c +++ b/drivers/ata/pata_via.c | |||
@@ -398,7 +398,6 @@ static int via_init_one(struct pci_dev *pdev, const struct pci_device_id *id) | |||
398 | { | 398 | { |
399 | /* Early VIA without UDMA support */ | 399 | /* Early VIA without UDMA support */ |
400 | static const struct ata_port_info via_mwdma_info = { | 400 | static const struct ata_port_info via_mwdma_info = { |
401 | .sht = &via_sht, | ||
402 | .flags = ATA_FLAG_SLAVE_POSS, | 401 | .flags = ATA_FLAG_SLAVE_POSS, |
403 | .pio_mask = 0x1f, | 402 | .pio_mask = 0x1f, |
404 | .mwdma_mask = 0x07, | 403 | .mwdma_mask = 0x07, |
@@ -406,7 +405,6 @@ static int via_init_one(struct pci_dev *pdev, const struct pci_device_id *id) | |||
406 | }; | 405 | }; |
407 | /* Ditto with IRQ masking required */ | 406 | /* Ditto with IRQ masking required */ |
408 | static const struct ata_port_info via_mwdma_info_borked = { | 407 | static const struct ata_port_info via_mwdma_info_borked = { |
409 | .sht = &via_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, |
@@ -414,7 +412,6 @@ static int via_init_one(struct pci_dev *pdev, const struct pci_device_id *id) | |||
414 | }; | 412 | }; |
415 | /* VIA UDMA 33 devices (and borked 66) */ | 413 | /* VIA UDMA 33 devices (and borked 66) */ |
416 | static const struct ata_port_info via_udma33_info = { | 414 | static const struct ata_port_info via_udma33_info = { |
417 | .sht = &via_sht, | ||
418 | .flags = ATA_FLAG_SLAVE_POSS, | 415 | .flags = ATA_FLAG_SLAVE_POSS, |
419 | .pio_mask = 0x1f, | 416 | .pio_mask = 0x1f, |
420 | .mwdma_mask = 0x07, | 417 | .mwdma_mask = 0x07, |
@@ -423,7 +420,6 @@ static int via_init_one(struct pci_dev *pdev, const struct pci_device_id *id) | |||
423 | }; | 420 | }; |
424 | /* VIA UDMA 66 devices */ | 421 | /* VIA UDMA 66 devices */ |
425 | static const struct ata_port_info via_udma66_info = { | 422 | static const struct ata_port_info via_udma66_info = { |
426 | .sht = &via_sht, | ||
427 | .flags = ATA_FLAG_SLAVE_POSS, | 423 | .flags = ATA_FLAG_SLAVE_POSS, |
428 | .pio_mask = 0x1f, | 424 | .pio_mask = 0x1f, |
429 | .mwdma_mask = 0x07, | 425 | .mwdma_mask = 0x07, |
@@ -432,7 +428,6 @@ static int via_init_one(struct pci_dev *pdev, const struct pci_device_id *id) | |||
432 | }; | 428 | }; |
433 | /* VIA UDMA 100 devices */ | 429 | /* VIA UDMA 100 devices */ |
434 | static const struct ata_port_info via_udma100_info = { | 430 | static const struct ata_port_info via_udma100_info = { |
435 | .sht = &via_sht, | ||
436 | .flags = ATA_FLAG_SLAVE_POSS, | 431 | .flags = ATA_FLAG_SLAVE_POSS, |
437 | .pio_mask = 0x1f, | 432 | .pio_mask = 0x1f, |
438 | .mwdma_mask = 0x07, | 433 | .mwdma_mask = 0x07, |
@@ -441,7 +436,6 @@ static int via_init_one(struct pci_dev *pdev, const struct pci_device_id *id) | |||
441 | }; | 436 | }; |
442 | /* UDMA133 with bad AST (All current 133) */ | 437 | /* UDMA133 with bad AST (All current 133) */ |
443 | static const struct ata_port_info via_udma133_info = { | 438 | static const struct ata_port_info via_udma133_info = { |
444 | .sht = &via_sht, | ||
445 | .flags = ATA_FLAG_SLAVE_POSS, | 439 | .flags = ATA_FLAG_SLAVE_POSS, |
446 | .pio_mask = 0x1f, | 440 | .pio_mask = 0x1f, |
447 | .mwdma_mask = 0x07, | 441 | .mwdma_mask = 0x07, |
@@ -532,7 +526,7 @@ static int via_init_one(struct pci_dev *pdev, const struct pci_device_id *id) | |||
532 | /* We have established the device type, now fire it up */ | 526 | /* We have established the device type, now fire it up */ |
533 | type.private_data = (void *)config; | 527 | type.private_data = (void *)config; |
534 | 528 | ||
535 | return ata_pci_init_one(pdev, ppi); | 529 | return ata_pci_init_one(pdev, ppi, &via_sht); |
536 | } | 530 | } |
537 | 531 | ||
538 | #ifdef CONFIG_PM | 532 | #ifdef CONFIG_PM |