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 /include/linux/libata.h | |
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 'include/linux/libata.h')
-rw-r--r-- | include/linux/libata.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/include/linux/libata.h b/include/linux/libata.h index 46aa4ab64891..5494119854de 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h | |||
@@ -739,7 +739,6 @@ struct ata_port_operations { | |||
739 | */ | 739 | */ |
740 | void (*phy_reset)(struct ata_port *ap); | 740 | void (*phy_reset)(struct ata_port *ap); |
741 | void (*eng_timeout)(struct ata_port *ap); | 741 | void (*eng_timeout)(struct ata_port *ap); |
742 | irq_handler_t irq_handler; | ||
743 | 742 | ||
744 | /* | 743 | /* |
745 | * ->inherits must be the last field and all the preceding | 744 | * ->inherits must be the last field and all the preceding |
@@ -1020,7 +1019,8 @@ static inline int ata_acpi_cbl_80wire(struct ata_port *ap, | |||
1020 | struct pci_dev; | 1019 | struct pci_dev; |
1021 | 1020 | ||
1022 | extern int ata_pci_init_one(struct pci_dev *pdev, | 1021 | extern int ata_pci_init_one(struct pci_dev *pdev, |
1023 | const struct ata_port_info * const * ppi); | 1022 | const struct ata_port_info * const * ppi, |
1023 | struct scsi_host_template *sht); | ||
1024 | extern void ata_pci_remove_one(struct pci_dev *pdev); | 1024 | extern void ata_pci_remove_one(struct pci_dev *pdev); |
1025 | #ifdef CONFIG_PM | 1025 | #ifdef CONFIG_PM |
1026 | extern void ata_pci_device_do_suspend(struct pci_dev *pdev, pm_message_t mesg); | 1026 | extern void ata_pci_device_do_suspend(struct pci_dev *pdev, pm_message_t mesg); |