aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPierre Ossman <drzeus@drzeus.cx>2007-01-13 19:41:45 -0500
committerPierre Ossman <drzeus@drzeus.cx>2007-02-04 14:54:06 -0500
commit11354d03afe9dd0d114e078057158baad4b4eee9 (patch)
tree828e115a262663d075cdfc2a30b87282e576ff8b
parentf22ee4edf63e7480511112d9965c71e07be3f8b7 (diff)
mmc: let host be parent of cards
Change the parent of cards to be a specific host (a class device), not the physical controller. This is particularly useful when the hardware has multiple slots, meaning multiple hosts. Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
-rw-r--r--drivers/mmc/mmc_sysfs.c2
-rw-r--r--include/linux/mmc/host.h1
2 files changed, 2 insertions, 1 deletions
diff --git a/drivers/mmc/mmc_sysfs.c b/drivers/mmc/mmc_sysfs.c
index e334acd045bc..d32698b02d7f 100644
--- a/drivers/mmc/mmc_sysfs.c
+++ b/drivers/mmc/mmc_sysfs.c
@@ -199,7 +199,7 @@ void mmc_init_card(struct mmc_card *card, struct mmc_host *host)
199 memset(card, 0, sizeof(struct mmc_card)); 199 memset(card, 0, sizeof(struct mmc_card));
200 card->host = host; 200 card->host = host;
201 device_initialize(&card->dev); 201 device_initialize(&card->dev);
202 card->dev.parent = mmc_dev(host); 202 card->dev.parent = mmc_classdev(host);
203 card->dev.bus = &mmc_bus_type; 203 card->dev.bus = &mmc_bus_type;
204 card->dev.release = mmc_release_card; 204 card->dev.release = mmc_release_card;
205} 205}
diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h
index dc4c6e395198..ae98d6766bdd 100644
--- a/include/linux/mmc/host.h
+++ b/include/linux/mmc/host.h
@@ -127,6 +127,7 @@ static inline void *mmc_priv(struct mmc_host *host)
127} 127}
128 128
129#define mmc_dev(x) ((x)->parent) 129#define mmc_dev(x) ((x)->parent)
130#define mmc_classdev(x) (&(x)->class_dev)
130#define mmc_hostname(x) ((x)->class_dev.bus_id) 131#define mmc_hostname(x) ((x)->class_dev.bus_id)
131 132
132extern int mmc_suspend_host(struct mmc_host *, pm_message_t); 133extern int mmc_suspend_host(struct mmc_host *, pm_message_t);