mmc: add bus handler
[pandora-kernel.git] / include / linux / mmc / host.h
index c89f410..efae87b 100644 (file)
@@ -10,7 +10,7 @@
 #ifndef LINUX_MMC_HOST_H
 #define LINUX_MMC_HOST_H
 
-#include <linux/mmc/mmc.h>
+#include <linux/mmc/core.h>
 
 struct mmc_ios {
        unsigned int    clock;                  /* clock rate */
@@ -131,6 +131,8 @@ struct mmc_host {
        unsigned int            max_blk_count;  /* maximum number of blocks in one req */
 
        /* private data */
+       spinlock_t              lock;           /* lock for claim and bus ops */
+
        struct mmc_ios          ios;            /* current io bus settings */
        u32                     ocr;            /* the current OCR setting */
 
@@ -138,15 +140,19 @@ struct mmc_host {
 #define MMC_MODE_MMC           0
 #define MMC_MODE_SD            1
 
-       struct list_head        cards;          /* devices attached to this host */
+       struct mmc_card         *card;          /* device attached to this host */
 
        wait_queue_head_t       wq;
-       spinlock_t              lock;           /* claimed lock */
        unsigned int            claimed:1;      /* host exclusively claimed */
 
-       struct mmc_card         *card_selected; /* the selected MMC card */
-
        struct delayed_work     detect;
+#ifdef CONFIG_MMC_DEBUG
+       unsigned int            removed:1;      /* host is being removed */
+#endif
+
+       const struct mmc_bus_ops *bus_ops;      /* current bus driver */
+       unsigned int            bus_refs;       /* reference counter */
+       unsigned int            bus_dead:1;     /* bus has been released */
 
        unsigned long           private[0] ____cacheline_aligned;
 };