aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata/sata_sil24.c
diff options
context:
space:
mode:
authorTejun Heo <htejun@gmail.com>2008-03-24 23:22:47 -0400
committerJeff Garzik <jgarzik@redhat.com>2008-04-17 15:44:16 -0400
commit358f9a77a668660729e705fde9c3cf69f013aa98 (patch)
treea249660fdd9f252925eff9eaac3ed7836c839f91 /drivers/ata/sata_sil24.c
parentc1bc899f5805771926c9198e2ab4d77122c356a1 (diff)
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_sil24.c')
-rw-r--r--drivers/ata/sata_sil24.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/drivers/ata/sata_sil24.c b/drivers/ata/sata_sil24.c
index ba0c00e8ee7f..b85464d51f68 100644
--- a/drivers/ata/sata_sil24.c
+++ b/drivers/ata/sata_sil24.c
@@ -348,7 +348,6 @@ static void sil24_tf_read(struct ata_port *ap, struct ata_taskfile *tf);
348static int sil24_qc_defer(struct ata_queued_cmd *qc); 348static int sil24_qc_defer(struct ata_queued_cmd *qc);
349static void sil24_qc_prep(struct ata_queued_cmd *qc); 349static void sil24_qc_prep(struct ata_queued_cmd *qc);
350static unsigned int sil24_qc_issue(struct ata_queued_cmd *qc); 350static unsigned int sil24_qc_issue(struct ata_queued_cmd *qc);
351static void sil24_irq_clear(struct ata_port *ap);
352static void sil24_pmp_attach(struct ata_port *ap); 351static void sil24_pmp_attach(struct ata_port *ap);
353static void sil24_pmp_detach(struct ata_port *ap); 352static void sil24_pmp_detach(struct ata_port *ap);
354static void sil24_freeze(struct ata_port *ap); 353static void sil24_freeze(struct ata_port *ap);
@@ -416,7 +415,7 @@ static const struct ata_port_operations sil24_ops = {
416 .qc_prep = sil24_qc_prep, 415 .qc_prep = sil24_qc_prep,
417 .qc_issue = sil24_qc_issue, 416 .qc_issue = sil24_qc_issue,
418 417
419 .irq_clear = sil24_irq_clear, 418 .irq_clear = ata_noop_irq_clear,
420 419
421 .scr_read = sil24_scr_read, 420 .scr_read = sil24_scr_read,
422 .scr_write = sil24_scr_write, 421 .scr_write = sil24_scr_write,
@@ -921,11 +920,6 @@ static unsigned int sil24_qc_issue(struct ata_queued_cmd *qc)
921 return 0; 920 return 0;
922} 921}
923 922
924static void sil24_irq_clear(struct ata_port *ap)
925{
926 /* unused */
927}
928
929static void sil24_pmp_attach(struct ata_port *ap) 923static void sil24_pmp_attach(struct ata_port *ap)
930{ 924{
931 sil24_config_pmp(ap, 1); 925 sil24_config_pmp(ap, 1);