mmc: Convert pr_warning to pr_warn
[firefly-linux-kernel-4.4.55.git] / drivers / mmc / core / sd.c
index 0c44510bf717874808a0e1d20de68aa3cf2afda5..d90a6de7901d7514550b3c9ed64d383e528244ad 100644 (file)
@@ -127,6 +127,7 @@ static int mmc_decode_csd(struct mmc_card *card)
                csd->read_partial = UNSTUFF_BITS(resp, 79, 1);
                csd->write_misalign = UNSTUFF_BITS(resp, 78, 1);
                csd->read_misalign = UNSTUFF_BITS(resp, 77, 1);
+               csd->dsr_imp = UNSTUFF_BITS(resp, 76, 1);
                csd->r2w_factor = UNSTUFF_BITS(resp, 26, 3);
                csd->write_blkbits = UNSTUFF_BITS(resp, 22, 4);
                csd->write_partial = UNSTUFF_BITS(resp, 21, 1);
@@ -228,8 +229,8 @@ static int mmc_read_ssr(struct mmc_card *card)
        u32 *ssr;
 
        if (!(card->csd.cmdclass & CCC_APP_SPEC)) {
-               pr_warning("%s: card lacks mandatory SD Status "
-                       "function.\n", mmc_hostname(card->host));
+               pr_warn("%s: card lacks mandatory SD Status function\n",
+                       mmc_hostname(card->host));
                return 0;
        }
 
@@ -239,8 +240,8 @@ static int mmc_read_ssr(struct mmc_card *card)
 
        err = mmc_app_sd_status(card, ssr);
        if (err) {
-               pr_warning("%s: problem reading SD Status "
-                       "register.\n", mmc_hostname(card->host));
+               pr_warn("%s: problem reading SD Status register\n",
+                       mmc_hostname(card->host));
                err = 0;
                goto out;
        }
@@ -264,8 +265,8 @@ static int mmc_read_ssr(struct mmc_card *card)
                                card->ssr.erase_offset = eo * 1000;
                        }
                } else {
-                       pr_warning("%s: SD Status: Invalid Allocation Unit size.\n",
-                                  mmc_hostname(card->host));
+                       pr_warn("%s: SD Status: Invalid Allocation Unit size\n",
+                               mmc_hostname(card->host));
                }
        }
 out:
@@ -285,8 +286,7 @@ static int mmc_read_switch(struct mmc_card *card)
                return 0;
 
        if (!(card->csd.cmdclass & CCC_SWITCH)) {
-               pr_warning("%s: card lacks mandatory switch "
-                       "function, performance might suffer.\n",
+               pr_warn("%s: card lacks mandatory switch function, performance might suffer\n",
                        mmc_hostname(card->host));
                return 0;
        }
@@ -315,7 +315,7 @@ static int mmc_read_switch(struct mmc_card *card)
                if (err != -EINVAL && err != -ENOSYS && err != -EFAULT)
                        goto out;
 
-               pr_warning("%s: problem reading Bus Speed modes.\n",
+               pr_warn("%s: problem reading Bus Speed modes\n",
                        mmc_hostname(card->host));
                err = 0;
 
@@ -371,8 +371,7 @@ int mmc_sd_switch_hs(struct mmc_card *card)
                goto out;
 
        if ((status[16] & 0xF) != 1) {
-               pr_warning("%s: Problem switching card "
-                       "into high-speed mode!\n",
+               pr_warn("%s: Problem switching card into high-speed mode!\n",
                        mmc_hostname(card->host));
                err = 0;
        } else {
@@ -439,7 +438,7 @@ static int sd_select_driver_type(struct mmc_card *card, u8 *status)
                return err;
 
        if ((status[15] & 0xF) != drive_strength) {
-               pr_warning("%s: Problem setting drive strength!\n",
+               pr_warn("%s: Problem setting drive strength!\n",
                        mmc_hostname(card->host));
                return 0;
        }
@@ -517,7 +516,7 @@ static int sd_set_bus_speed_mode(struct mmc_card *card, u8 *status)
                return err;
 
        if ((status[16] & 0xF) != card->sd_bus_speed)
-               pr_warning("%s: Problem setting bus speed mode!\n",
+               pr_warn("%s: Problem setting bus speed mode!\n",
                        mmc_hostname(card->host));
        else {
                mmc_set_timing(card->host, timing);
@@ -597,7 +596,7 @@ static int sd_set_current_limit(struct mmc_card *card, u8 *status)
                        return err;
 
                if (((status[15] >> 4) & 0x0F) != current_limit)
-                       pr_warning("%s: Problem setting current limit!\n",
+                       pr_warn("%s: Problem setting current limit!\n",
                                mmc_hostname(card->host));
 
        }
@@ -726,8 +725,7 @@ int mmc_sd_get_cid(struct mmc_host *host, u32 ocr, u32 *cid, u32 *rocr)
 try_again:
        if (!retries) {
                ocr &= ~SD_OCR_S18R;
-               pr_warning("%s: Skipping voltage switch\n",
-                       mmc_hostname(host));
+               pr_warn("%s: Skipping voltage switch\n", mmc_hostname(host));
        }
 
        /*
@@ -871,9 +869,7 @@ int mmc_sd_setup_card(struct mmc_host *host, struct mmc_card *card,
                }
 
                if (ro < 0) {
-                       pr_warning("%s: host does not "
-                               "support reading read-only "
-                               "switch. assuming write-enable.\n",
+                       pr_warn("%s: host does not support reading read-only switch, assuming write-enable\n",
                                mmc_hostname(host));
                } else if (ro > 0) {
                        mmc_card_set_readonly(card);
@@ -953,6 +949,13 @@ static int mmc_sd_init_card(struct mmc_host *host, u32 ocr,
                mmc_decode_cid(card);
        }
 
+       /*
+        * handling only for cards supporting DSR and hosts requesting
+        * DSR configuration
+        */
+       if (card->csd.dsr_imp && host->dsr_req)
+               mmc_set_dsr(host);
+
        /*
         * Select card, as all following commands rely on that.
         */