libata: implement and use ata_noop_irq_clear()
->irq_clear() is used to clear IRQ bit of a SFF controller and isn't useful for drivers which don't use libata SFF HSM implementation. However, it's a required callback and many drivers implement their own noop version as placeholder. This patch implements ata_noop_irq_clear and use it to replace those custom placeholders. Also, SFF drivers which don't support BMDMA don't need to use ata_bmdma_irq_clear(). It becomes noop if BMDMA address isn't initialized. Convert them to use ata_noop_irq_clear(). Signed-off-by: Tejun Heo <htejun@gmail.com>
This commit is contained in:
@ -302,6 +302,14 @@ void ata_bmdma_irq_clear(struct ata_port *ap)
|
||||
iowrite8(ioread8(mmio + ATA_DMA_STATUS), mmio + ATA_DMA_STATUS);
|
||||
}
|
||||
|
||||
/**
|
||||
* ata_noop_irq_clear - Noop placeholder for irq_clear
|
||||
* @ap: Port associated with this ATA transaction.
|
||||
*/
|
||||
void ata_noop_irq_clear(struct ata_port *ap)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* ata_bmdma_status - Read PCI IDE BMDMA status
|
||||
* @ap: Port associated with this ATA transaction.
|
||||
|
Reference in New Issue
Block a user