mmc: core: Re-factor code for sending CID
authorUlf Hansson <ulf.hansson@linaro.org>
Thu, 8 Jun 2017 13:27:43 +0000 (15:27 +0200)
committerUlf Hansson <ulf.hansson@linaro.org>
Tue, 20 Jun 2017 08:30:45 +0000 (10:30 +0200)
Instead of having the caller to check for SPI mode, let's leave that to
internals of mmc_send_cid(). In this way the code gets cleaner and it
becomes clear what is specific to SPI and non-SPI mode.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Shawn Lin <shawn.lin@rock-chips.com>
drivers/mmc/core/mmc.c
drivers/mmc/core/mmc_ops.c
drivers/mmc/core/mmc_ops.h
drivers/mmc/core/sd.c

index ff6cdc3..e504b66 100644 (file)
@@ -1556,10 +1556,7 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr,
        /*
         * Fetch CID from card.
         */
-       if (mmc_host_is_spi(host))
-               err = mmc_send_cid(host, cid);
-       else
-               err = mmc_all_send_cid(host, cid);
+       err = mmc_send_cid(host, cid);
        if (err)
                goto err;
 
index 2c4d9fd..b92bfe8 100644 (file)
@@ -207,7 +207,7 @@ int mmc_send_op_cond(struct mmc_host *host, u32 ocr, u32 *rocr)
        return err;
 }
 
-int mmc_all_send_cid(struct mmc_host *host, u32 *cid)
+static int mmc_all_send_cid(struct mmc_host *host, u32 *cid)
 {
        int err;
        struct mmc_command cmd = {};
@@ -334,7 +334,7 @@ err:
        return ret;
 }
 
-int mmc_send_cid(struct mmc_host *host, u32 *cid)
+static int mmc_spi_send_cid(struct mmc_host *host, u32 *cid)
 {
        int ret, i;
        __be32 *cid_tmp;
@@ -355,6 +355,14 @@ err:
        return ret;
 }
 
+int mmc_send_cid(struct mmc_host *host, u32 *cid)
+{
+       if (mmc_host_is_spi(host))
+               return mmc_spi_send_cid(host, cid);
+
+       return mmc_all_send_cid(host, cid);
+}
+
 int mmc_get_ext_csd(struct mmc_card *card, u8 **new_ext_csd)
 {
        int err;
index dabb44a..a1390d4 100644 (file)
@@ -22,7 +22,6 @@ int mmc_deselect_cards(struct mmc_host *host);
 int mmc_set_dsr(struct mmc_host *host);
 int mmc_go_idle(struct mmc_host *host);
 int mmc_send_op_cond(struct mmc_host *host, u32 ocr, u32 *rocr);
-int mmc_all_send_cid(struct mmc_host *host, u32 *cid);
 int mmc_set_relative_addr(struct mmc_card *card);
 int mmc_send_csd(struct mmc_card *card, u32 *csd);
 int __mmc_send_status(struct mmc_card *card, u32 *status, unsigned int retries);
index 1d7542d..a1b0aa1 100644 (file)
@@ -788,11 +788,7 @@ try_again:
                }
        }
 
-       if (mmc_host_is_spi(host))
-               err = mmc_send_cid(host, cid);
-       else
-               err = mmc_all_send_cid(host, cid);
-
+       err = mmc_send_cid(host, cid);
        return err;
 }