mmc: dw_mmc: add the debug message for polling and non-removable
authorJaehoon Chung <jh80.chung@samsung.com>
Thu, 24 Nov 2016 11:04:41 +0000 (20:04 +0900)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 5 Dec 2016 09:31:16 +0000 (10:31 +0100)
If card is polling or non-removable, display the more exact message.
It's helpful to debug which detecting scheme is using.

Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/dw_mmc.c

index c0e96ad..45b1a3d 100644 (file)
@@ -1525,9 +1525,23 @@ static int dw_mci_get_cd(struct mmc_host *mmc)
        int gpio_cd = mmc_gpio_get_cd(mmc);
 
        /* Use platform get_cd function, else try onboard card detect */
-       if ((mmc->caps & MMC_CAP_NEEDS_POLL) || !mmc_card_is_removable(mmc))
+       if (((mmc->caps & MMC_CAP_NEEDS_POLL)
+                               || !mmc_card_is_removable(mmc))) {
                present = 1;
-       else if (gpio_cd >= 0)
+
+               if (!test_bit(DW_MMC_CARD_PRESENT, &slot->flags)) {
+                       if (mmc->caps & MMC_CAP_NEEDS_POLL) {
+                               dev_info(&mmc->class_dev,
+                                       "card is polling.\n");
+                       } else {
+                               dev_info(&mmc->class_dev,
+                                       "card is non-removable.\n");
+                       }
+                       set_bit(DW_MMC_CARD_PRESENT, &slot->flags);
+               }
+
+               return present;
+       } else if (gpio_cd >= 0)
                present = gpio_cd;
        else
                present = (mci_readl(slot->host, CDETECT) & (1 << slot->id))