]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/mmc/core/sdio_bus.c
sdio: add modalias support
[linux-2.6-omap-h63xx.git] / drivers / mmc / core / sdio_bus.c
index a3a89e973d940396038cee21f9d5dd1498e98851..c834f515088847c60504c17642b6ff4f8906c779 100644 (file)
@@ -68,7 +68,26 @@ static int
 sdio_bus_uevent(struct device *dev, char **envp, int num_envp, char *buf,
                int buf_size)
 {
-       envp[0] = NULL;
+       struct sdio_func *func = dev_to_sdio_func(dev);
+       int i = 0, length = 0;
+
+       if (add_uevent_var(envp, num_envp, &i,
+                       buf, buf_size, &length,
+                       "SDIO_CLASS=%02X", func->class))
+               return -ENOMEM;
+
+       if (add_uevent_var(envp, num_envp, &i,
+                       buf, buf_size, &length,
+                       "SDIO_ID=%04X:%04X", func->vendor, func->device))
+               return -ENOMEM;
+
+       if (add_uevent_var(envp, num_envp, &i,
+                       buf, buf_size, &length,
+                       "MODALIAS=sdio:c%02Xv%04Xd%04X",
+                       func->class, func->vendor, func->device))
+               return -ENOMEM;
+
+       envp[i] = NULL;
 
        return 0;
 }