提交 109b5bed 编写于 作者: P Pierre Ossman

mmc: be more verbose about card insertions/removal

Let the user know that the kernel actually detected the card
by printing some basic information in dmesg.
Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
上级 2986d0bf
......@@ -209,10 +209,30 @@ struct mmc_card *mmc_alloc_card(struct mmc_host *host)
int mmc_add_card(struct mmc_card *card)
{
int ret;
const char *type;
snprintf(card->dev.bus_id, sizeof(card->dev.bus_id),
"%s:%04x", mmc_hostname(card->host), card->rca);
switch (card->type) {
case MMC_TYPE_MMC:
type = "MMC";
break;
case MMC_TYPE_SD:
type = "SD";
if (mmc_card_blockaddr(card))
type = "SDHC";
break;
default:
type = "?";
break;
}
printk(KERN_INFO "%s: new %s%s card at address %04x\n",
mmc_hostname(card->host),
mmc_card_highspeed(card) ? "high speed " : "",
type, card->rca);
card->dev.uevent_suppress = 1;
ret = device_add(&card->dev);
......@@ -243,6 +263,9 @@ int mmc_add_card(struct mmc_card *card)
void mmc_remove_card(struct mmc_card *card)
{
if (mmc_card_present(card)) {
printk(KERN_INFO "%s: card %04x removed\n",
mmc_hostname(card->host), card->rca);
if (card->host->bus_ops->sysfs_remove)
card->host->bus_ops->sysfs_remove(card->host, card);
device_del(&card->dev);
......
......@@ -556,8 +556,10 @@ int mmc_attach_mmc(struct mmc_host *host, u32 ocr)
/*
* Can we support the voltage of the card?
*/
if (!host->ocr)
if (!host->ocr) {
err = -EINVAL;
goto err;
}
/*
* Detect and init the card.
......@@ -582,6 +584,9 @@ int mmc_attach_mmc(struct mmc_host *host, u32 ocr)
mmc_detach_bus(host);
mmc_release_host(host);
printk(KERN_ERR "%s: error %d whilst initialising MMC card\n",
mmc_hostname(host), err);
return 0;
}
......@@ -637,8 +637,10 @@ int mmc_attach_sd(struct mmc_host *host, u32 ocr)
/*
* Can we support the voltage(s) of the card(s)?
*/
if (!host->ocr)
if (!host->ocr) {
err = -EINVAL;
goto err;
}
/*
* Detect and init the card.
......@@ -663,6 +665,9 @@ int mmc_attach_sd(struct mmc_host *host, u32 ocr)
mmc_detach_bus(host);
mmc_release_host(host);
printk(KERN_ERR "%s: error %d whilst initialising SD card\n",
mmc_hostname(host), err);
return 0;
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册