diff options
| -rw-r--r-- | drivers/ata/pata_sil680.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/ata/pata_sil680.c b/drivers/ata/pata_sil680.c index 6cd52594a357..00eefbd84b33 100644 --- a/drivers/ata/pata_sil680.c +++ b/drivers/ata/pata_sil680.c | |||
| @@ -210,6 +210,17 @@ static void sil680_sff_exec_command(struct ata_port *ap, | |||
| 210 | ioread8(ap->ioaddr.bmdma_addr + ATA_DMA_CMD); | 210 | ioread8(ap->ioaddr.bmdma_addr + ATA_DMA_CMD); |
| 211 | } | 211 | } |
| 212 | 212 | ||
| 213 | static bool sil680_sff_irq_check(struct ata_port *ap) | ||
| 214 | { | ||
| 215 | struct pci_dev *pdev = to_pci_dev(ap->host->dev); | ||
| 216 | unsigned long addr = sil680_selreg(ap, 1); | ||
| 217 | u8 val; | ||
| 218 | |||
| 219 | pci_read_config_byte(pdev, addr, &val); | ||
| 220 | |||
| 221 | return val & 0x08; | ||
| 222 | } | ||
| 223 | |||
| 213 | static struct scsi_host_template sil680_sht = { | 224 | static struct scsi_host_template sil680_sht = { |
| 214 | ATA_BMDMA_SHT(DRV_NAME), | 225 | ATA_BMDMA_SHT(DRV_NAME), |
| 215 | }; | 226 | }; |
| @@ -218,6 +229,7 @@ static struct scsi_host_template sil680_sht = { | |||
| 218 | static struct ata_port_operations sil680_port_ops = { | 229 | static struct ata_port_operations sil680_port_ops = { |
| 219 | .inherits = &ata_bmdma32_port_ops, | 230 | .inherits = &ata_bmdma32_port_ops, |
| 220 | .sff_exec_command = sil680_sff_exec_command, | 231 | .sff_exec_command = sil680_sff_exec_command, |
| 232 | .sff_irq_check = sil680_sff_irq_check, | ||
| 221 | .cable_detect = sil680_cable_detect, | 233 | .cable_detect = sil680_cable_detect, |
| 222 | .set_piomode = sil680_set_piomode, | 234 | .set_piomode = sil680_set_piomode, |
| 223 | .set_dmamode = sil680_set_dmamode, | 235 | .set_dmamode = sil680_set_dmamode, |
