aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata/pata_cs5530.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_cs5530.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_cs5530.c')
-rw-r--r--drivers/ata/pata_cs5530.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/ata/pata_cs5530.c b/drivers/ata/pata_cs5530.c
index e4a16a578ca..c632ce499d3 100644
--- a/drivers/ata/pata_cs5530.c
+++ b/drivers/ata/pata_cs5530.c
@@ -298,7 +298,6 @@ fail_put:
298static int cs5530_init_one(struct pci_dev *pdev, const struct pci_device_id *id) 298static int cs5530_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
299{ 299{
300 static const struct ata_port_info info = { 300 static const struct ata_port_info info = {
301 .sht = &cs5530_sht,
302 .flags = ATA_FLAG_SLAVE_POSS, 301 .flags = ATA_FLAG_SLAVE_POSS,
303 .pio_mask = 0x1f, 302 .pio_mask = 0x1f,
304 .mwdma_mask = 0x07, 303 .mwdma_mask = 0x07,
@@ -307,7 +306,6 @@ static int cs5530_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
307 }; 306 };
308 /* The docking connector doesn't do UDMA, and it seems not MWDMA */ 307 /* The docking connector doesn't do UDMA, and it seems not MWDMA */
309 static const struct ata_port_info info_palmax_secondary = { 308 static const struct ata_port_info info_palmax_secondary = {
310 .sht = &cs5530_sht,
311 .flags = ATA_FLAG_SLAVE_POSS, 309 .flags = ATA_FLAG_SLAVE_POSS,
312 .pio_mask = 0x1f, 310 .pio_mask = 0x1f,
313 .port_ops = &cs5530_port_ops 311 .port_ops = &cs5530_port_ops
@@ -327,7 +325,7 @@ static int cs5530_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
327 ppi[1] = &info_palmax_secondary; 325 ppi[1] = &info_palmax_secondary;
328 326
329 /* Now kick off ATA set up */ 327 /* Now kick off ATA set up */
330 return ata_pci_init_one(pdev, ppi); 328 return ata_pci_init_one(pdev, ppi, &cs5530_sht);
331} 329}
332 330
333#ifdef CONFIG_PM 331#ifdef CONFIG_PM