[PATCH] mmc,sdio: advancing the setting of dev name inmmc_sdio_init_card()

From: Chuansheng Liu
Date: Mon Nov 19 2012 - 03:36:45 EST



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.liu@xxxxxxxxx>
---
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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/