aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata/libata-core.c
diff options
context:
space:
mode:
authorTejun Heo <htejun@gmail.com>2008-04-07 09:47:20 -0400
committerJeff Garzik <jgarzik@redhat.com>2008-04-17 15:44:23 -0400
commit79f97dadfe9b4b561634d202225ba2fa910dc225 (patch)
tree7bea39a135c7c87b7430d6c071288a05990b9309 /drivers/ata/libata-core.c
parent22183bf569c8600ff414ac25f23134044e0ef453 (diff)
libata: drop @finish_qc from ata_qc_complete_multiple()
ata_qc_complete_multiple() took @finish_qc and called it on every qc before completing it. This was to give opportunity to update TF cache before ata_qc_complete() tries to fill result_tf. Now that result TF is a separate operation, this is no longer necessary. Update sata_sil24, which was the only user of this mechanism, such that it implements its own ops->qc_fill_rtf() and drop @finish_qc from ata_qc_complete_multiple(). Signed-off-by: Tejun Heo <htejun@gmail.com>
Diffstat (limited to 'drivers/ata/libata-core.c')
-rw-r--r--drivers/ata/libata-core.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 3b822124e97e..dcc5a28e26c1 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -4673,7 +4673,6 @@ void ata_qc_complete(struct ata_queued_cmd *qc)
4673 * ata_qc_complete_multiple - Complete multiple qcs successfully 4673 * ata_qc_complete_multiple - Complete multiple qcs successfully
4674 * @ap: port in question 4674 * @ap: port in question
4675 * @qc_active: new qc_active mask 4675 * @qc_active: new qc_active mask
4676 * @finish_qc: LLDD callback invoked before completing a qc
4677 * 4676 *
4678 * Complete in-flight commands. This functions is meant to be 4677 * Complete in-flight commands. This functions is meant to be
4679 * called from low-level driver's interrupt routine to complete 4678 * called from low-level driver's interrupt routine to complete
@@ -4686,8 +4685,7 @@ void ata_qc_complete(struct ata_queued_cmd *qc)
4686 * RETURNS: 4685 * RETURNS:
4687 * Number of completed commands on success, -errno otherwise. 4686 * Number of completed commands on success, -errno otherwise.
4688 */ 4687 */
4689int ata_qc_complete_multiple(struct ata_port *ap, u32 qc_active, 4688int ata_qc_complete_multiple(struct ata_port *ap, u32 qc_active)
4690 void (*finish_qc)(struct ata_queued_cmd *))
4691{ 4689{
4692 int nr_done = 0; 4690 int nr_done = 0;
4693 u32 done_mask; 4691 u32 done_mask;
@@ -4708,8 +4706,6 @@ int ata_qc_complete_multiple(struct ata_port *ap, u32 qc_active,
4708 continue; 4706 continue;
4709 4707
4710 if ((qc = ata_qc_from_tag(ap, i))) { 4708 if ((qc = ata_qc_from_tag(ap, i))) {
4711 if (finish_qc)
4712 finish_qc(qc);
4713 ata_qc_complete(qc); 4709 ata_qc_complete(qc);
4714 nr_done++; 4710 nr_done++;
4715 } 4711 }