mmc: whip bus uevent handler into shape

Make the mmc bus uevent callback look like all other subsystems.

Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
This commit is contained in:
Pierre Ossman 2007-06-17 11:18:46 +02:00
parent 3b38bea0d9
commit 9eb3a94d02
1 changed files with 17 additions and 14 deletions

View File

@ -62,31 +62,34 @@ mmc_bus_uevent(struct device *dev, char **envp, int num_envp, char *buf,
int buf_size)
{
struct mmc_card *card = dev_to_mmc_card(dev);
int retval = 0, i = 0, length = 0;
#define add_env(fmt,val) do { \
retval = add_uevent_var(envp, num_envp, &i, \
buf, buf_size, &length, \
fmt, val); \
if (retval) \
return retval; \
} while (0);
const char *type;
int i = 0, length = 0;
switch (card->type) {
case MMC_TYPE_MMC:
add_env("MMC_TYPE=%s", "MMC");
type = "MMC";
break;
case MMC_TYPE_SD:
add_env("MMC_TYPE=%s", "SD");
type = "SD";
break;
case MMC_TYPE_SDIO:
add_env("MMC_TYPE=%s", "SDIO");
type = "SDIO";
break;
default:
type = NULL;
}
add_env("MMC_NAME=%s", mmc_card_name(card));
if (type) {
if (add_uevent_var(envp, num_envp, &i,
buf, buf_size, &length,
"MMC_TYPE=%s", type))
return -ENOMEM;
}
#undef add_env
if (add_uevent_var(envp, num_envp, &i,
buf, buf_size, &length,
"MMC_NAME=%s", mmc_card_name(card)))
return -ENOMEM;
envp[i] = NULL;