2007-09-11 19:07:53

by Kiyoshi Ueda

[permalink] [raw]
Subject: [PATCH 18/27] blk_end_request: changing mmc (take 2)

This patch converts mmc to use blk_end_request().

Signed-off-by: Kiyoshi Ueda <[email protected]>
Signed-off-by: Jun'ichi Nomura <[email protected]>
---
drivers/mmc/card/block.c | 24 +++++-------------------
drivers/mmc/card/queue.c | 4 ++--
2 files changed, 7 insertions(+), 21 deletions(-)

diff -rupN 17-i2o-caller-change/drivers/mmc/card/block.c 18-mmc-caller-change/drivers/mmc/card/block.c
--- 17-i2o-caller-change/drivers/mmc/card/block.c 2007-09-10 17:32:13.000000000 -0400
+++ 18-mmc-caller-change/drivers/mmc/card/block.c 2007-09-10 18:08:53.000000000 -0400
@@ -336,15 +336,7 @@ static int mmc_blk_issue_rq(struct mmc_q
* A block was successfully transferred.
*/
spin_lock_irq(&md->lock);
- ret = end_that_request_chunk(req, 1, brq.data.bytes_xfered);
- if (!ret) {
- /*
- * The whole request completed successfully.
- */
- add_disk_randomness(req->rq_disk);
- blkdev_dequeue_request(req);
- end_that_request_last(req, 1);
- }
+ ret = __blk_end_request(req, 1, brq.data.bytes_xfered);
spin_unlock_irq(&md->lock);
} while (ret);

@@ -374,27 +366,21 @@ static int mmc_blk_issue_rq(struct mmc_q
else
bytes = blocks << 9;
spin_lock_irq(&md->lock);
- ret = end_that_request_chunk(req, 1, bytes);
+ ret = __blk_end_request(req, 1, bytes);
spin_unlock_irq(&md->lock);
}
} else if (rq_data_dir(req) != READ &&
(card->host->caps & MMC_CAP_MULTIWRITE)) {
spin_lock_irq(&md->lock);
- ret = end_that_request_chunk(req, 1, brq.data.bytes_xfered);
+ ret = __blk_end_request(req, 1, brq.data.bytes_xfered);
spin_unlock_irq(&md->lock);
}

mmc_release_host(card->host);

spin_lock_irq(&md->lock);
- while (ret) {
- ret = end_that_request_chunk(req, 0,
- req->current_nr_sectors << 9);
- }
-
- add_disk_randomness(req->rq_disk);
- blkdev_dequeue_request(req);
- end_that_request_last(req, 0);
+ while (ret)
+ ret = __blk_end_request(req, 0, blk_rq_cur_size(req));
spin_unlock_irq(&md->lock);

return 0;
diff -rupN 17-i2o-caller-change/drivers/mmc/card/queue.c 18-mmc-caller-change/drivers/mmc/card/queue.c
--- 17-i2o-caller-change/drivers/mmc/card/queue.c 2007-08-27 21:32:35.000000000 -0400
+++ 18-mmc-caller-change/drivers/mmc/card/queue.c 2007-09-10 18:08:53.000000000 -0400
@@ -93,8 +93,8 @@ static void mmc_request(struct request_q
printk(KERN_ERR "MMC: killing requests for dead queue\n");
while ((req = elv_next_request(q)) != NULL) {
do {
- ret = end_that_request_chunk(req, 0,
- req->current_nr_sectors << 9);
+ ret = __blk_end_request(req, 0,
+ blk_rq_cur_size(req));
} while (ret);
}
return;