aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mmc
diff options
context:
space:
mode:
authorPierre Ossman <drzeus@drzeus.cx>2007-01-03 13:47:29 -0500
committerPierre Ossman <drzeus@drzeus.cx>2007-05-01 07:04:18 -0400
commitb855885e3b60cf6f9452848712a62517b94583eb (patch)
tree2e8a6fb8d8992ac8fb968a26c6db8778c2b5e791 /include/linux/mmc
parentb5af25bee2de2f6cd1ac74ba737cbc4f3d303e5d (diff)
mmc: deprecate mmc bus topology
The classic MMC bus was defined as multi card bus system, which is reflected in the design in the MMC layer. When SD showed up, the bus topology was abandoned and a star topology (one card per host) was mandated. MMC version 4 has followed this, officially deprecating the bus topology. As we do not have any known users of the bus topology we can remove support for it. This will simplify the code and rectify some incorrect assumptions in the newer additions. Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Diffstat (limited to 'include/linux/mmc')
-rw-r--r--include/linux/mmc/card.h8
-rw-r--r--include/linux/mmc/host.h4
-rw-r--r--include/linux/mmc/mmc.h9
3 files changed, 2 insertions, 19 deletions
diff --git a/include/linux/mmc/card.h b/include/linux/mmc/card.h
index 1ca50542ce1..7d98990ac94 100644
--- a/include/linux/mmc/card.h
+++ b/include/linux/mmc/card.h
@@ -61,7 +61,6 @@ struct mmc_host;
61 * MMC device 61 * MMC device
62 */ 62 */
63struct mmc_card { 63struct mmc_card {
64 struct list_head node; /* node in hosts devices list */
65 struct mmc_host *host; /* the host this device belongs to */ 64 struct mmc_host *host; /* the host this device belongs to */
66 struct device dev; /* the device */ 65 struct device dev; /* the device */
67 unsigned int rca; /* relative card address of device */ 66 unsigned int rca; /* relative card address of device */
@@ -123,11 +122,4 @@ struct mmc_driver {
123extern int mmc_register_driver(struct mmc_driver *); 122extern int mmc_register_driver(struct mmc_driver *);
124extern void mmc_unregister_driver(struct mmc_driver *); 123extern void mmc_unregister_driver(struct mmc_driver *);
125 124
126static inline int mmc_card_claim_host(struct mmc_card *card)
127{
128 return __mmc_claim_host(card->host, card);
129}
130
131#define mmc_card_release_host(c) mmc_release_host((c)->host)
132
133#endif 125#endif
diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h
index 92efe8e5be7..6ea3c0ea3e1 100644
--- a/include/linux/mmc/host.h
+++ b/include/linux/mmc/host.h
@@ -138,14 +138,12 @@ struct mmc_host {
138#define MMC_MODE_MMC 0 138#define MMC_MODE_MMC 0
139#define MMC_MODE_SD 1 139#define MMC_MODE_SD 1
140 140
141 struct list_head cards; /* devices attached to this host */ 141 struct mmc_card *card; /* device attached to this host */
142 142
143 wait_queue_head_t wq; 143 wait_queue_head_t wq;
144 spinlock_t lock; /* claimed lock */ 144 spinlock_t lock; /* claimed lock */
145 unsigned int claimed:1; /* host exclusively claimed */ 145 unsigned int claimed:1; /* host exclusively claimed */
146 146
147 struct mmc_card *card_selected; /* the selected MMC card */
148
149 struct delayed_work detect; 147 struct delayed_work detect;
150#ifdef CONFIG_MMC_DEBUG 148#ifdef CONFIG_MMC_DEBUG
151 unsigned int removed:1; /* host is being removed */ 149 unsigned int removed:1; /* host is being removed */
diff --git a/include/linux/mmc/mmc.h b/include/linux/mmc/mmc.h
index cdc54be804f..b3d80efc643 100644
--- a/include/linux/mmc/mmc.h
+++ b/include/linux/mmc/mmc.h
@@ -8,7 +8,6 @@
8#ifndef MMC_H 8#ifndef MMC_H
9#define MMC_H 9#define MMC_H
10 10
11#include <linux/list.h>
12#include <linux/interrupt.h> 11#include <linux/interrupt.h>
13#include <linux/device.h> 12#include <linux/device.h>
14 13
@@ -107,13 +106,7 @@ extern int mmc_wait_for_app_cmd(struct mmc_host *, unsigned int,
107 106
108extern void mmc_set_data_timeout(struct mmc_data *, const struct mmc_card *, int); 107extern void mmc_set_data_timeout(struct mmc_data *, const struct mmc_card *, int);
109 108
110extern int __mmc_claim_host(struct mmc_host *host, struct mmc_card *card); 109extern void mmc_claim_host(struct mmc_host *host);
111
112static inline void mmc_claim_host(struct mmc_host *host)
113{
114 __mmc_claim_host(host, (struct mmc_card *)-1);
115}
116
117extern void mmc_release_host(struct mmc_host *host); 110extern void mmc_release_host(struct mmc_host *host);
118 111
119#endif 112#endif