[PATCH] mmc: core: Use host instead of mq parameter from mmc_issue_type()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Yue Hu <huyue2@xxxxxxxxxx>

Note that the role of 'mq' parameter is just to get 'host' in
mmc_issue_type(). And all callers to this API have already 'host'
except mmc_blk_mq_dec_in_flight(). So, let's use existing 'host'
directly to make code simpler. Update related code at the same time.

Signed-off-by: Yue Hu <huyue2@xxxxxxxxxx>
---
 drivers/mmc/core/block.c | 6 +++---
 drivers/mmc/core/queue.c | 8 +++-----
 drivers/mmc/core/queue.h | 2 +-
 3 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/drivers/mmc/core/block.c b/drivers/mmc/core/block.c
index 689eb9a..4b6d4b0 100644
--- a/drivers/mmc/core/block.c
+++ b/drivers/mmc/core/block.c
@@ -1382,7 +1382,7 @@ static void mmc_blk_cqe_complete_rq(struct mmc_queue *mq, struct request *req)
 	struct mmc_request *mrq = &mqrq->brq.mrq;
 	struct request_queue *q = req->q;
 	struct mmc_host *host = mq->card->host;
-	enum mmc_issue_type issue_type = mmc_issue_type(mq, req);
+	enum mmc_issue_type issue_type = mmc_issue_type(host, req);
 	unsigned long flags;
 	bool put_card;
 	int err;
@@ -1977,7 +1977,7 @@ static void mmc_blk_mq_dec_in_flight(struct mmc_queue *mq, struct request *req)
 
 	spin_lock_irqsave(&mq->lock, flags);
 
-	mq->in_flight[mmc_issue_type(mq, req)] -= 1;
+	mq->in_flight[mmc_issue_type(mq->card->host, req)] -= 1;
 
 	put_card = (mmc_tot_in_flight(mq) == 0);
 
@@ -2209,7 +2209,7 @@ enum mmc_issued mmc_blk_mq_issue_rq(struct mmc_queue *mq, struct request *req)
 	if (ret)
 		return MMC_REQ_FAILED_TO_START;
 
-	switch (mmc_issue_type(mq, req)) {
+	switch (mmc_issue_type(host, req)) {
 	case MMC_ISSUE_SYNC:
 		ret = mmc_blk_wait_for_idle(mq, host);
 		if (ret)
diff --git a/drivers/mmc/core/queue.c b/drivers/mmc/core/queue.c
index d600e0a..3478f0a 100644
--- a/drivers/mmc/core/queue.c
+++ b/drivers/mmc/core/queue.c
@@ -56,10 +56,8 @@ static enum mmc_issue_type mmc_cqe_issue_type(struct mmc_host *host,
 	}
 }
 
-enum mmc_issue_type mmc_issue_type(struct mmc_queue *mq, struct request *req)
+enum mmc_issue_type mmc_issue_type(struct mmc_host *host, struct request *req)
 {
-	struct mmc_host *host = mq->card->host;
-
 	if (host->cqe_enabled && !host->hsq_enabled)
 		return mmc_cqe_issue_type(host, req);
 
@@ -97,7 +95,7 @@ static enum blk_eh_timer_return mmc_cqe_timed_out(struct request *req)
 	struct mmc_request *mrq = &mqrq->brq.mrq;
 	struct mmc_queue *mq = req->q->queuedata;
 	struct mmc_host *host = mq->card->host;
-	enum mmc_issue_type issue_type = mmc_issue_type(mq, req);
+	enum mmc_issue_type issue_type = mmc_issue_type(host, req);
 	bool recovery_needed = false;
 
 	switch (issue_type) {
@@ -259,7 +257,7 @@ static blk_status_t mmc_mq_queue_rq(struct blk_mq_hw_ctx *hctx,
 		return BLK_STS_IOERR;
 	}
 
-	issue_type = mmc_issue_type(mq, req);
+	issue_type = mmc_issue_type(host, req);
 
 	spin_lock_irq(&mq->lock);
 
diff --git a/drivers/mmc/core/queue.h b/drivers/mmc/core/queue.h
index 3319d8a..d41bacb 100644
--- a/drivers/mmc/core/queue.h
+++ b/drivers/mmc/core/queue.h
@@ -104,7 +104,7 @@ extern unsigned int mmc_queue_map_sg(struct mmc_queue *,
 void mmc_cqe_check_busy(struct mmc_queue *mq);
 void mmc_cqe_recovery_notifier(struct mmc_request *mrq);
 
-enum mmc_issue_type mmc_issue_type(struct mmc_queue *mq, struct request *req);
+enum mmc_issue_type mmc_issue_type(struct mmc_host *host, struct request *req);
 
 static inline int mmc_tot_in_flight(struct mmc_queue *mq)
 {
-- 
1.9.1




[Index of Archives]     [Linux Memonry Technology]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux