diff options
author | Tejun Heo <htejun@gmail.com> | 2008-04-07 09:47:20 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2008-04-17 15:44:23 -0400 |
commit | 79f97dadfe9b4b561634d202225ba2fa910dc225 (patch) | |
tree | 7bea39a135c7c87b7430d6c071288a05990b9309 /drivers/ata/libata-core.c | |
parent | 22183bf569c8600ff414ac25f23134044e0ef453 (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.c | 6 |
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 | */ |
4689 | int ata_qc_complete_multiple(struct ata_port *ap, u32 qc_active, | 4688 | int 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 | } |