aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata/pata_sl82c105.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_sl82c105.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_sl82c105.c')
-rw-r--r--drivers/ata/pata_sl82c105.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/ata/pata_sl82c105.c b/drivers/ata/pata_sl82c105.c
index 0dd8e2f69558..2d14b2505c7d 100644
--- a/drivers/ata/pata_sl82c105.c
+++ b/drivers/ata/pata_sl82c105.c
@@ -289,14 +289,12 @@ static int sl82c105_bridge_revision(struct pci_dev *pdev)
289static int sl82c105_init_one(struct pci_dev *dev, const struct pci_device_id *id) 289static int sl82c105_init_one(struct pci_dev *dev, const struct pci_device_id *id)
290{ 290{
291 static const struct ata_port_info info_dma = { 291 static const struct ata_port_info info_dma = {
292 .sht = &sl82c105_sht,
293 .flags = ATA_FLAG_SLAVE_POSS, 292 .flags = ATA_FLAG_SLAVE_POSS,
294 .pio_mask = 0x1f, 293 .pio_mask = 0x1f,
295 .mwdma_mask = 0x07, 294 .mwdma_mask = 0x07,
296 .port_ops = &sl82c105_port_ops 295 .port_ops = &sl82c105_port_ops
297 }; 296 };
298 static const struct ata_port_info info_early = { 297 static const struct ata_port_info info_early = {
299 .sht = &sl82c105_sht,
300 .flags = ATA_FLAG_SLAVE_POSS, 298 .flags = ATA_FLAG_SLAVE_POSS,
301 .pio_mask = 0x1f, 299 .pio_mask = 0x1f,
302 .port_ops = &sl82c105_port_ops 300 .port_ops = &sl82c105_port_ops
@@ -325,7 +323,7 @@ static int sl82c105_init_one(struct pci_dev *dev, const struct pci_device_id *id
325 val |= CTRL_P0EN | CTRL_P0F16 | CTRL_P1F16; 323 val |= CTRL_P0EN | CTRL_P0F16 | CTRL_P1F16;
326 pci_write_config_dword(dev, 0x40, val); 324 pci_write_config_dword(dev, 0x40, val);
327 325
328 return ata_pci_init_one(dev, ppi); 326 return ata_pci_init_one(dev, ppi, &sl82c105_sht);
329} 327}
330 328
331static const struct pci_device_id sl82c105[] = { 329static const struct pci_device_id sl82c105[] = {