]> err.no Git - linux-2.6/blobdiff - drivers/mmc/core/bus.c
Merge branch 'locks' of git://linux-nfs.org/~bfields/linux
[linux-2.6] / drivers / mmc / core / bus.c
index 733ac95331c733ce10e2ae27944d43375accc533..b0c22cad9423f2878c8742f48801f422967c32df 100644 (file)
@@ -58,12 +58,11 @@ static int mmc_bus_match(struct device *dev, struct device_driver *drv)
 }
 
 static int
-mmc_bus_uevent(struct device *dev, char **envp, int num_envp, char *buf,
-               int buf_size)
+mmc_bus_uevent(struct device *dev, struct kobj_uevent_env *env)
 {
        struct mmc_card *card = dev_to_mmc_card(dev);
        const char *type;
-       int i = 0, length = 0;
+       int retval = 0;
 
        switch (card->type) {
        case MMC_TYPE_MMC:
@@ -80,20 +79,14 @@ mmc_bus_uevent(struct device *dev, char **envp, int num_envp, char *buf,
        }
 
        if (type) {
-               if (add_uevent_var(envp, num_envp, &i,
-                               buf, buf_size, &length,
-                               "MMC_TYPE=%s", type))
-                       return -ENOMEM;
+               retval = add_uevent_var(env, "MMC_TYPE=%s", type);
+               if (retval)
+                       return retval;
        }
 
-       if (add_uevent_var(envp, num_envp, &i,
-                       buf, buf_size, &length,
-                       "MMC_NAME=%s", mmc_card_name(card)))
-               return -ENOMEM;
+       retval = add_uevent_var(env, "MMC_NAME=%s", mmc_card_name(card));
 
-       envp[i] = NULL;
-
-       return 0;
+       return retval;
 }
 
 static int mmc_bus_probe(struct device *dev)
@@ -243,10 +236,17 @@ int mmc_add_card(struct mmc_card *card)
                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);
+       if (mmc_host_is_spi(card->host)) {
+               printk(KERN_INFO "%s: new %s%s card on SPI\n",
+                       mmc_hostname(card->host),
+                       mmc_card_highspeed(card) ? "high speed " : "",
+                       type);
+       } else {
+               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;
 
@@ -278,8 +278,13 @@ 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 (mmc_host_is_spi(card->host)) {
+                       printk(KERN_INFO "%s: SPI card removed\n",
+                               mmc_hostname(card->host));
+               } else {
+                       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);