mmc: block: stop passing around pointless return values
authorLinus Walleij <linus.walleij@linaro.org>
Tue, 24 Jan 2017 10:17:57 +0000 (11:17 +0100)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 13 Feb 2017 12:20:40 +0000 (13:20 +0100)
The mmc_blk_issue_rq() function is called in exactly one place
in queue.c and there the return value is ignored. So the
functions called from that function that also meticulously
return 0/1 do so for no good reason.

Error reporting on the asynchronous requests are done upward to
the block layer when the requests are eventually completed or
fail, which may happen during the flow of the mmc_blk_issue_*
functions directly (for "special commands") or later, when an
asynchronous read/write request is completed.

The issuing functions do not give rise to errors on their own,
and there is nothing to return back to the caller in queue.c.
Drop all return values and make the function return void.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/core/block.c
drivers/mmc/core/block.h

index fc71b6256d351e6dfcaad114937f98acb7b654cc..6c8be1a80551416ea03793b1df469ea43a4fbec5 100644 (file)
@@ -1149,7 +1149,7 @@ int mmc_access_rpmb(struct mmc_queue *mq)
        return false;
 }
 
-static int mmc_blk_issue_discard_rq(struct mmc_queue *mq, struct request *req)
+static void mmc_blk_issue_discard_rq(struct mmc_queue *mq, struct request *req)
 {
        struct mmc_blk_data *md = mq->blkdata;
        struct mmc_card *card = md->queue.card;
@@ -1187,11 +1187,9 @@ static int mmc_blk_issue_discard_rq(struct mmc_queue *mq, struct request *req)
                mmc_blk_reset_success(md, type);
 fail:
        blk_end_request(req, err, blk_rq_bytes(req));
-
-       return err ? 0 : 1;
 }
 
-static int mmc_blk_issue_secdiscard_rq(struct mmc_queue *mq,
+static void mmc_blk_issue_secdiscard_rq(struct mmc_queue *mq,
                                       struct request *req)
 {
        struct mmc_blk_data *md = mq->blkdata;
@@ -1254,11 +1252,9 @@ out_retry:
                mmc_blk_reset_success(md, type);
 out:
        blk_end_request(req, err, blk_rq_bytes(req));
-
-       return err ? 0 : 1;
 }
 
-static int mmc_blk_issue_flush(struct mmc_queue *mq, struct request *req)
+static void mmc_blk_issue_flush(struct mmc_queue *mq, struct request *req)
 {
        struct mmc_blk_data *md = mq->blkdata;
        struct mmc_card *card = md->queue.card;
@@ -1269,8 +1265,6 @@ static int mmc_blk_issue_flush(struct mmc_queue *mq, struct request *req)
                ret = -EIO;
 
        blk_end_request_all(req, ret);
-
-       return ret ? 0 : 1;
 }
 
 /*
@@ -1625,7 +1619,7 @@ static void mmc_blk_rw_start_new(struct mmc_queue *mq, struct mmc_card *card,
        }
 }
 
-static int mmc_blk_issue_rw_rq(struct mmc_queue *mq, struct request *rqc)
+static void mmc_blk_issue_rw_rq(struct mmc_queue *mq, struct request *rqc)
 {
        struct mmc_blk_data *md = mq->blkdata;
        struct mmc_card *card = md->queue.card;
@@ -1638,7 +1632,7 @@ static int mmc_blk_issue_rw_rq(struct mmc_queue *mq, struct request *rqc)
        struct mmc_async_req *old_areq;
 
        if (!rqc && !mq->mqrq_prev->req)
-               return 0;
+               return;
 
        do {
                if (rqc) {
@@ -1651,7 +1645,7 @@ static int mmc_blk_issue_rw_rq(struct mmc_queue *mq, struct request *rqc)
                                pr_err("%s: Transfer size is not 4KB sector size aligned\n",
                                        rqc->rq_disk->disk_name);
                                mmc_blk_rw_cmd_abort(card, rqc);
-                               return 0;
+                               return;
                        }
 
                        mmc_blk_rw_rq_prep(mq->mqrq_cur, card, 0, mq);
@@ -1668,7 +1662,7 @@ static int mmc_blk_issue_rw_rq(struct mmc_queue *mq, struct request *rqc)
                         */
                        if (status == MMC_BLK_NEW_REQUEST)
                                mq->flags |= MMC_QUEUE_NEW_REQUEST;
-                       return 0;
+                       return;
                }
 
                /*
@@ -1702,7 +1696,7 @@ static int mmc_blk_issue_rw_rq(struct mmc_queue *mq, struct request *rqc)
                                       __func__, blk_rq_bytes(req),
                                       brq->data.bytes_xfered);
                                mmc_blk_rw_cmd_abort(card, req);
-                               return 0;
+                               return;
                        }
                        break;
                case MMC_BLK_CMD_ERR:
@@ -1770,18 +1764,16 @@ static int mmc_blk_issue_rw_rq(struct mmc_queue *mq, struct request *rqc)
                }
        } while (ret);
 
-       return 1;
+       return;
 
  cmd_abort:
        mmc_blk_rw_cmd_abort(card, req);
 
  start_new_req:
        mmc_blk_rw_start_new(mq, card, rqc);
-
-       return 0;
 }
 
-int mmc_blk_issue_rq(struct mmc_queue *mq, struct request *req)
+void mmc_blk_issue_rq(struct mmc_queue *mq, struct request *req)
 {
        int ret;
        struct mmc_blk_data *md = mq->blkdata;
@@ -1797,7 +1789,6 @@ int mmc_blk_issue_rq(struct mmc_queue *mq, struct request *req)
                if (req) {
                        blk_end_request_all(req, -EIO);
                }
-               ret = 0;
                goto out;
        }
 
@@ -1806,19 +1797,19 @@ int mmc_blk_issue_rq(struct mmc_queue *mq, struct request *req)
                /* complete ongoing async transfer before issuing discard */
                if (card->host->areq)
                        mmc_blk_issue_rw_rq(mq, NULL);
-               ret = mmc_blk_issue_discard_rq(mq, req);
+               mmc_blk_issue_discard_rq(mq, req);
        } else if (req && req_op(req) == REQ_OP_SECURE_ERASE) {
                /* complete ongoing async transfer before issuing secure erase*/
                if (card->host->areq)
                        mmc_blk_issue_rw_rq(mq, NULL);
-               ret = mmc_blk_issue_secdiscard_rq(mq, req);
+               mmc_blk_issue_secdiscard_rq(mq, req);
        } else if (req && req_op(req) == REQ_OP_FLUSH) {
                /* complete ongoing async transfer before issuing flush */
                if (card->host->areq)
                        mmc_blk_issue_rw_rq(mq, NULL);
-               ret = mmc_blk_issue_flush(mq, req);
+               mmc_blk_issue_flush(mq, req);
        } else {
-               ret = mmc_blk_issue_rw_rq(mq, req);
+               mmc_blk_issue_rw_rq(mq, req);
        }
 
 out:
@@ -1830,7 +1821,6 @@ out:
                 * the 'mmc_blk_issue_rq' with 'mqrq_prev->req'.
                 */
                mmc_put_card(card);
-       return ret;
 }
 
 static inline int mmc_blk_readonly(struct mmc_card *card)
index 00b7483f2d6e1b214bb074ba32d92b663ff5dd44..860ca7c8df8602cefd3daeeaa39026f5644b511a 100644 (file)
@@ -4,6 +4,6 @@
 struct mmc_queue;
 struct request;
 
-int mmc_blk_issue_rq(struct mmc_queue *mq, struct request *req);
+void mmc_blk_issue_rq(struct mmc_queue *mq, struct request *req);
 
 #endif