mmc: core: Extend mmc_switch_status() to rid of __mmc_switch_status()
authorUlf Hansson <ulf.hansson@linaro.org>
Tue, 4 Feb 2020 08:54:40 +0000 (09:54 +0100)
committerUlf Hansson <ulf.hansson@linaro.org>
Tue, 24 Mar 2020 13:35:39 +0000 (14:35 +0100)
To simplify code, let's extend mmc_switch_status() to cope with needs
addressed in __mmc_switch_status(). Then move all users to the updated
mmc_switch_status() API and drop __mmc_switch_status() altogether.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Tested-by: Baolin Wang <baolin.wang7@gmail.com>
Tested-by: Ludovic Barre <ludovic.barre@st.com>
Reviewed-by: Ludovic Barre <ludovic.barre@st.com>
Link: https://lore.kernel.org/r/20200204085449.32585-4-ulf.hansson@linaro.org
drivers/mmc/core/mmc.c
drivers/mmc/core/mmc_ops.c
drivers/mmc/core/mmc_ops.h

index 24223cb150d434e0e695cc8f28265e89464ad7a0..36846a880d08ad30892fea0621c7a15892075e01 100644 (file)
@@ -1173,7 +1173,7 @@ static int mmc_select_hs400(struct mmc_card *card)
        max_dtr = card->ext_csd.hs_max_dtr;
        mmc_set_clock(host, max_dtr);
 
-       err = mmc_switch_status(card);
+       err = mmc_switch_status(card, true);
        if (err)
                goto out_err;
 
@@ -1211,7 +1211,7 @@ static int mmc_select_hs400(struct mmc_card *card)
        if (host->ops->hs400_complete)
                host->ops->hs400_complete(host);
 
-       err = mmc_switch_status(card);
+       err = mmc_switch_status(card, true);
        if (err)
                goto out_err;
 
@@ -1249,7 +1249,7 @@ int mmc_hs400_to_hs200(struct mmc_card *card)
 
        mmc_set_timing(host, MMC_TIMING_MMC_DDR52);
 
-       err = mmc_switch_status(card);
+       err = mmc_switch_status(card, true);
        if (err)
                goto out_err;
 
@@ -1265,7 +1265,7 @@ int mmc_hs400_to_hs200(struct mmc_card *card)
        if (host->ops->hs400_downgrade)
                host->ops->hs400_downgrade(host);
 
-       err = mmc_switch_status(card);
+       err = mmc_switch_status(card, true);
        if (err)
                goto out_err;
 
@@ -1285,7 +1285,7 @@ int mmc_hs400_to_hs200(struct mmc_card *card)
         * failed. If there really is a problem, we would expect tuning will
         * fail and the result ends up the same.
         */
-       err = __mmc_switch_status(card, false);
+       err = mmc_switch_status(card, false);
        if (err)
                goto out_err;
 
@@ -1366,7 +1366,7 @@ static int mmc_select_hs400es(struct mmc_card *card)
        }
 
        mmc_set_timing(host, MMC_TIMING_MMC_HS);
-       err = mmc_switch_status(card);
+       err = mmc_switch_status(card, true);
        if (err)
                goto out_err;
 
@@ -1407,7 +1407,7 @@ static int mmc_select_hs400es(struct mmc_card *card)
        if (host->ops->hs400_enhanced_strobe)
                host->ops->hs400_enhanced_strobe(host, &host->ios);
 
-       err = mmc_switch_status(card);
+       err = mmc_switch_status(card, true);
        if (err)
                goto out_err;
 
@@ -1468,7 +1468,7 @@ static int mmc_select_hs200(struct mmc_card *card)
                 * switch failed. If there really is a problem, we would expect
                 * tuning will fail and the result ends up the same.
                 */
-               err = __mmc_switch_status(card, false);
+               err = mmc_switch_status(card, false);
 
                /*
                 * mmc_select_timing() assumes timing has not changed if
index 5ad950e26b15d44a94b47a319534ae93693d2a3c..9385c4e1867532b06f6d56037a51754444d51f62 100644 (file)
@@ -430,7 +430,7 @@ static int mmc_switch_status_error(struct mmc_host *host, u32 status)
 }
 
 /* Caller must hold re-tuning */
-int __mmc_switch_status(struct mmc_card *card, bool crc_err_fatal)
+int mmc_switch_status(struct mmc_card *card, bool crc_err_fatal)
 {
        u32 status;
        int err;
@@ -444,11 +444,6 @@ int __mmc_switch_status(struct mmc_card *card, bool crc_err_fatal)
        return mmc_switch_status_error(card->host, status);
 }
 
-int mmc_switch_status(struct mmc_card *card)
-{
-       return __mmc_switch_status(card, true);
-}
-
 static int mmc_poll_for_busy(struct mmc_card *card, unsigned int timeout_ms,
                        bool send_status, bool retry_crc_err)
 {
@@ -596,7 +591,7 @@ out_tim:
                mmc_set_timing(host, timing);
 
        if (send_status) {
-               err = mmc_switch_status(card);
+               err = mmc_switch_status(card, true);
                if (err && timing)
                        mmc_set_timing(host, old_timing);
        }
index 8f2f9475716de8592490cdfca34ad4e5bf9cb386..09dee8a466a096471f169658ab679a1f090adc5a 100644 (file)
@@ -29,8 +29,7 @@ int mmc_bus_test(struct mmc_card *card, u8 bus_width);
 int mmc_interrupt_hpi(struct mmc_card *card);
 int mmc_can_ext_csd(struct mmc_card *card);
 int mmc_get_ext_csd(struct mmc_card *card, u8 **new_ext_csd);
-int mmc_switch_status(struct mmc_card *card);
-int __mmc_switch_status(struct mmc_card *card, bool crc_err_fatal);
+int mmc_switch_status(struct mmc_card *card, bool crc_err_fatal);
 int __mmc_switch(struct mmc_card *card, u8 set, u8 index, u8 value,
                unsigned int timeout_ms, unsigned char timing,
                bool use_busy_signal, bool send_status, bool retry_crc_err);