pata_sil680: implement sff_irq_check() method

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>

authored by Sergei Shtylyov and committed by Jeff Garzik 9b980e10 606254e3

+12
+12
drivers/ata/pata_sil680.c
··· 210 ioread8(ap->ioaddr.bmdma_addr + ATA_DMA_CMD); 211 } 212 213 static struct scsi_host_template sil680_sht = { 214 ATA_BMDMA_SHT(DRV_NAME), 215 }; ··· 229 static struct ata_port_operations sil680_port_ops = { 230 .inherits = &ata_bmdma32_port_ops, 231 .sff_exec_command = sil680_sff_exec_command, 232 .cable_detect = sil680_cable_detect, 233 .set_piomode = sil680_set_piomode, 234 .set_dmamode = sil680_set_dmamode,
··· 210 ioread8(ap->ioaddr.bmdma_addr + ATA_DMA_CMD); 211 } 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 + 224 static struct scsi_host_template sil680_sht = { 225 ATA_BMDMA_SHT(DRV_NAME), 226 }; ··· 218 static struct ata_port_operations sil680_port_ops = { 219 .inherits = &ata_bmdma32_port_ops, 220 .sff_exec_command = sil680_sff_exec_command, 221 + .sff_irq_check = sil680_sff_irq_check, 222 .cable_detect = sil680_cable_detect, 223 .set_piomode = sil680_set_piomode, 224 .set_dmamode = sil680_set_dmamode,