Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git] / drivers / mmc / wbsd.h
index 864f308..249baa7 100644 (file)
@@ -8,13 +8,6 @@
  * published by the Free Software Foundation.
  */
 
-const int config_ports[] = { 0x2E, 0x4E };
-const int unlock_codes[] = { 0x83, 0x87 };
-
-const int valid_ids[] = {
-       0x7112,
-       };
-
 #define LOCK_CODE              0xAA
 
 #define WBSD_CONF_SWRST                0x02
@@ -113,6 +106,8 @@ const int valid_ids[] = {
 #define WBSD_CLK_16M           0x02
 #define WBSD_CLK_24M           0x03
 
+#define WBSD_DATA_WIDTH                0x01
+
 #define WBSD_DAT3_H            0x08
 #define WBSD_FIFO_RESET                0x04
 #define WBSD_SOFT_RESET                0x02
@@ -144,47 +139,50 @@ const int valid_ids[] = {
 struct wbsd_host
 {
        struct mmc_host*        mmc;            /* MMC structure */
-       
+
        spinlock_t              lock;           /* Mutex */
 
        int                     flags;          /* Driver states */
 
 #define WBSD_FCARD_PRESENT     (1<<0)          /* Card is present */
 #define WBSD_FIGNORE_DETECT    (1<<1)          /* Ignore card detection */
-       
+
        struct mmc_request*     mrq;            /* Current request */
-       
+
        u8                      isr;            /* Accumulated ISR */
-       
+
        struct scatterlist*     cur_sg;         /* Current SG entry */
        unsigned int            num_sg;         /* Number of entries left */
        void*                   mapped_sg;      /* vaddr of mapped sg */
-       
+
        unsigned int            offset;         /* Offset into current entry */
        unsigned int            remain;         /* Data left in curren entry */
 
        int                     size;           /* Total size of transfer */
-       
+
        char*                   dma_buffer;     /* ISA DMA buffer */
        dma_addr_t              dma_addr;       /* Physical address for same */
 
        int                     firsterr;       /* See fifo functions */
-       
+
        u8                      clk;            /* Current clock speed */
-       
+       unsigned char           bus_width;      /* Current bus width */
+
        int                     config;         /* Config port */
        u8                      unlock_code;    /* Code to unlock config */
 
        int                     chip_id;        /* ID of controller */
-       
+
        int                     base;           /* I/O port base */
        int                     irq;            /* Interrupt */
        int                     dma;            /* DMA channel */
-       
+
        struct tasklet_struct   card_tasklet;   /* Tasklet structures */
        struct tasklet_struct   fifo_tasklet;
        struct tasklet_struct   crc_tasklet;
        struct tasklet_struct   timeout_tasklet;
        struct tasklet_struct   finish_tasklet;
        struct tasklet_struct   block_tasklet;
+
+       struct timer_list       ignore_timer;   /* Ignore detection timer */
 };