]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - include/linux/mmc/sdhci.h
mmc: sdhci: Use work structs instead of tasklets
[karo-tx-linux.git] / include / linux / mmc / sdhci.h
index 3e781b8c0be74dd76e658c4ba78ecbb72516e153..05cd76c9a9aacec36a049eb560e5eb82b240788c 100644 (file)
@@ -12,6 +12,7 @@
 #define LINUX_MMC_SDHCI_H
 
 #include <linux/scatterlist.h>
+#include <linux/workqueue.h>
 #include <linux/compiler.h>
 #include <linux/types.h>
 #include <linux/io.h>
@@ -160,10 +161,10 @@ struct sdhci_host {
        dma_addr_t adma_addr;   /* Mapped ADMA descr. table */
        dma_addr_t align_addr;  /* Mapped bounce buffer */
 
-       struct tasklet_struct card_tasklet;     /* Tasklet structures */
-       struct tasklet_struct finish_tasklet;
+       struct work_struct      card_detect_work;
+       struct work_struct      finish_work;
 
-       struct timer_list timer;        /* Timer for timeouts */
+       struct delayed_work     timeout_work;   /* Work for timeouts */
 
        u32 caps;               /* Alternative CAPABILITY_0 */
        u32 caps1;              /* Alternative CAPABILITY_1 */
@@ -179,7 +180,7 @@ struct sdhci_host {
        unsigned int            tuning_count;   /* Timer count for re-tuning */
        unsigned int            tuning_mode;    /* Re-tuning mode supported by host */
 #define SDHCI_TUNING_MODE_1    0
-       struct timer_list       tuning_timer;   /* Timer for tuning */
+       struct delayed_work     tuning_timeout_work;    /* Work for tuning timeouts */
 
        unsigned long private[0] ____cacheline_aligned;
 };