mmc: add MODALIAS linkage for MMC/SD devices
authorAndy Whitcroft <apw@canonical.com>
Mon, 23 Feb 2009 12:38:41 +0000 (12:38 +0000)
committerPierre Ossman <drzeus@drzeus.cx>
Tue, 24 Mar 2009 20:29:58 +0000 (21:29 +0100)
Currently we are using an explicit udev rule to trigger loading of the
mmc-block module when an MMC or SD card is detected:

    SUBSYSTEM=="mmc", RUN+="/sbin/modprobe -Qba mmc-block"

It makes much more sense for the mmc bus driver and the mmc-block module to
share MODALIAS information so that they are linked automatically.

There is no real information of use in the MMC system at the current time.
All devices inserted require us to load the mmc-block device.  Until such
time as useful parameters exist simply reflect the module linkage via
the module alias below:

mmc:block

Signed-off-by: Andy Whitcroft <apw@canonical.com>
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
drivers/mmc/card/block.c
drivers/mmc/core/bus.c

index 513eb09..fe8041e 100644 (file)
@@ -41,6 +41,8 @@
 
 #include "queue.h"
 
+MODULE_ALIAS("mmc:block");
+
 /*
  * max 8 partitions per card
  */
index f210a8e..bdb165f 100644 (file)
@@ -84,6 +84,14 @@ mmc_bus_uevent(struct device *dev, struct kobj_uevent_env *env)
        }
 
        retval = add_uevent_var(env, "MMC_NAME=%s", mmc_card_name(card));
+       if (retval)
+               return retval;
+
+       /*
+        * Request the mmc_block device.  Note: that this is a direct request
+        * for the module it carries no information as to what is inserted.
+        */
+       retval = add_uevent_var(env, "MODALIAS=mmc:block");
 
        return retval;
 }