In below call trace:
    mmc_rescan
    -> mmc_rescan_try_freq()
    -> mmc_attach_sdio()
    -> mmc_sdio_init_card()
       ...
       pm_runtime_set_active()
       ...
       mmc_add_card()

The dev name is set until in mmc_add_card(), but before that, it is
possible the dev name is needed, for example in pm_runtime_set_active(),
we can call trace event to trace which dev is changing the runtime status.

So here advance it into mmc_sdio_init_card() to benefit others.

Signed-off-by: liu chuansheng <chuansheng....@intel.com>
---
 drivers/mmc/core/bus.c  |    5 +++--
 drivers/mmc/core/sdio.c |    5 ++++-
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/mmc/core/bus.c b/drivers/mmc/core/bus.c
index 9b68933..4884d6e 100644
--- a/drivers/mmc/core/bus.c
+++ b/drivers/mmc/core/bus.c
@@ -270,8 +270,9 @@ int mmc_add_card(struct mmc_card *card)
                [UHS_DDR50_BUS_SPEED] = "DDR50 ",
        };
 
-
-       dev_set_name(&card->dev, "%s:%04x", mmc_hostname(card->host), 
card->rca);
+       if (!dev_name(&card->dev))
+               dev_set_name(&card->dev, "%s:%04x", mmc_hostname(card->host),
+                       card->rca);
 
        switch (card->type) {
        case MMC_TYPE_MMC:
diff --git a/drivers/mmc/core/sdio.c b/drivers/mmc/core/sdio.c
index 2273ce6..a9f6f02 100644
--- a/drivers/mmc/core/sdio.c
+++ b/drivers/mmc/core/sdio.c
@@ -795,8 +795,11 @@ static int mmc_sdio_init_card(struct mmc_host *host, u32 
ocr,
                        goto remove;
        }
 finish:
-       if (!oldcard)
+       if (!oldcard) {
                host->card = card;
+               dev_set_name(&card->dev, "%s:%04x", mmc_hostname(card->host),
+                       card->rca);
+       }
        return 0;
 
 remove:
-- 
1.7.0.4



--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to