diff options
author | Tejun Heo <htejun@gmail.com> | 2008-03-25 04:22:47 +0100 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2008-04-17 21:44:16 +0200 |
commit | 358f9a77a668660729e705fde9c3cf69f013aa98 (patch) | |
tree | a249660fdd9f252925eff9eaac3ed7836c839f91 /drivers/ata/sata_fsl.c | |
parent | libata: reorganize ata_port_operations (diff) | |
download | linux-358f9a77a668660729e705fde9c3cf69f013aa98.tar.xz linux-358f9a77a668660729e705fde9c3cf69f013aa98.zip |
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>
Diffstat (limited to 'drivers/ata/sata_fsl.c')
-rw-r--r-- | drivers/ata/sata_fsl.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/drivers/ata/sata_fsl.c b/drivers/ata/sata_fsl.c index d23b690ed1a1..031a512cbaa8 100644 --- a/drivers/ata/sata_fsl.c +++ b/drivers/ata/sata_fsl.c @@ -933,11 +933,6 @@ static void sata_fsl_post_internal_cmd(struct ata_queued_cmd *qc) } } -static void sata_fsl_irq_clear(struct ata_port *ap) -{ - /* unused */ -} - static void sata_fsl_error_intr(struct ata_port *ap) { struct ata_link *link = &ap->link; @@ -1223,7 +1218,7 @@ static const struct ata_port_operations sata_fsl_ops = { .qc_prep = sata_fsl_qc_prep, .qc_issue = sata_fsl_qc_issue, - .irq_clear = sata_fsl_irq_clear, + .irq_clear = ata_noop_irq_clear, .scr_read = sata_fsl_scr_read, .scr_write = sata_fsl_scr_write, |