diff options
| author | Michal Marek <mmarek@suse.cz> | 2010-10-27 18:15:57 -0400 |
|---|---|---|
| committer | Michal Marek <mmarek@suse.cz> | 2010-10-27 18:15:57 -0400 |
| commit | b74b953b998bcc2db91b694446f3a2619ec32de6 (patch) | |
| tree | 6ce24caabd730f6ae9287ed0676ec32e6ff31e9d /include/linux/mmc/host.h | |
| parent | abb438526201c6a79949ad45375c051b6681c253 (diff) | |
| parent | f6f94e2ab1b33f0082ac22d71f66385a60d8157f (diff) | |
Merge commit 'v2.6.36' into kbuild/misc
Update to be able to fix a recent change to scripts/basic/docproc.c
(commit eda603f).
Diffstat (limited to 'include/linux/mmc/host.h')
| -rw-r--r-- | include/linux/mmc/host.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h index eaf36364b7d4..1575b52c3bfa 100644 --- a/include/linux/mmc/host.h +++ b/include/linux/mmc/host.h | |||
| @@ -14,6 +14,7 @@ | |||
| 14 | #include <linux/sched.h> | 14 | #include <linux/sched.h> |
| 15 | 15 | ||
| 16 | #include <linux/mmc/core.h> | 16 | #include <linux/mmc/core.h> |
| 17 | #include <linux/mmc/pm.h> | ||
| 17 | 18 | ||
| 18 | struct mmc_ios { | 19 | struct mmc_ios { |
| 19 | unsigned int clock; /* clock rate */ | 20 | unsigned int clock; /* clock rate */ |
| @@ -107,6 +108,9 @@ struct mmc_host_ops { | |||
| 107 | int (*get_cd)(struct mmc_host *host); | 108 | int (*get_cd)(struct mmc_host *host); |
| 108 | 109 | ||
| 109 | void (*enable_sdio_irq)(struct mmc_host *host, int enable); | 110 | void (*enable_sdio_irq)(struct mmc_host *host, int enable); |
| 111 | |||
| 112 | /* optional callback for HC quirks */ | ||
| 113 | void (*init_card)(struct mmc_host *host, struct mmc_card *card); | ||
| 110 | }; | 114 | }; |
| 111 | 115 | ||
| 112 | struct mmc_card; | 116 | struct mmc_card; |
| @@ -120,6 +124,7 @@ struct mmc_host { | |||
| 120 | unsigned int f_min; | 124 | unsigned int f_min; |
| 121 | unsigned int f_max; | 125 | unsigned int f_max; |
| 122 | u32 ocr_avail; | 126 | u32 ocr_avail; |
| 127 | struct notifier_block pm_notify; | ||
| 123 | 128 | ||
| 124 | #define MMC_VDD_165_195 0x00000080 /* VDD voltage 1.65 - 1.95 */ | 129 | #define MMC_VDD_165_195 0x00000080 /* VDD voltage 1.65 - 1.95 */ |
| 125 | #define MMC_VDD_20_21 0x00000100 /* VDD voltage 2.0 ~ 2.1 */ | 130 | #define MMC_VDD_20_21 0x00000100 /* VDD voltage 2.0 ~ 2.1 */ |
| @@ -151,6 +156,9 @@ struct mmc_host { | |||
| 151 | #define MMC_CAP_DISABLE (1 << 7) /* Can the host be disabled */ | 156 | #define MMC_CAP_DISABLE (1 << 7) /* Can the host be disabled */ |
| 152 | #define MMC_CAP_NONREMOVABLE (1 << 8) /* Nonremovable e.g. eMMC */ | 157 | #define MMC_CAP_NONREMOVABLE (1 << 8) /* Nonremovable e.g. eMMC */ |
| 153 | #define MMC_CAP_WAIT_WHILE_BUSY (1 << 9) /* Waits while card is busy */ | 158 | #define MMC_CAP_WAIT_WHILE_BUSY (1 << 9) /* Waits while card is busy */ |
| 159 | #define MMC_CAP_ERASE (1 << 10) /* Allow erase/trim commands */ | ||
| 160 | |||
| 161 | mmc_pm_flag_t pm_caps; /* supported pm features */ | ||
| 154 | 162 | ||
| 155 | /* host specific block data */ | 163 | /* host specific block data */ |
| 156 | unsigned int max_seg_size; /* see blk_queue_max_segment_size */ | 164 | unsigned int max_seg_size; /* see blk_queue_max_segment_size */ |
| @@ -177,6 +185,7 @@ struct mmc_host { | |||
| 177 | 185 | ||
| 178 | /* Only used with MMC_CAP_DISABLE */ | 186 | /* Only used with MMC_CAP_DISABLE */ |
| 179 | int enabled; /* host is enabled */ | 187 | int enabled; /* host is enabled */ |
| 188 | int rescan_disable; /* disable card detection */ | ||
| 180 | int nesting_cnt; /* "enable" nesting count */ | 189 | int nesting_cnt; /* "enable" nesting count */ |
| 181 | int en_dis_recurs; /* detect recursion */ | 190 | int en_dis_recurs; /* detect recursion */ |
| 182 | unsigned int disable_delay; /* disable delay in msecs */ | 191 | unsigned int disable_delay; /* disable delay in msecs */ |
| @@ -197,6 +206,8 @@ struct mmc_host { | |||
| 197 | struct task_struct *sdio_irq_thread; | 206 | struct task_struct *sdio_irq_thread; |
| 198 | atomic_t sdio_irq_thread_abort; | 207 | atomic_t sdio_irq_thread_abort; |
| 199 | 208 | ||
| 209 | mmc_pm_flag_t pm_flags; /* requested pm features */ | ||
| 210 | |||
| 200 | #ifdef CONFIG_LEDS_TRIGGERS | 211 | #ifdef CONFIG_LEDS_TRIGGERS |
| 201 | struct led_trigger *led; /* activity led */ | 212 | struct led_trigger *led; /* activity led */ |
| 202 | #endif | 213 | #endif |
| @@ -222,7 +233,7 @@ static inline void *mmc_priv(struct mmc_host *host) | |||
| 222 | #define mmc_classdev(x) (&(x)->class_dev) | 233 | #define mmc_classdev(x) (&(x)->class_dev) |
| 223 | #define mmc_hostname(x) (dev_name(&(x)->class_dev)) | 234 | #define mmc_hostname(x) (dev_name(&(x)->class_dev)) |
| 224 | 235 | ||
| 225 | extern int mmc_suspend_host(struct mmc_host *, pm_message_t); | 236 | extern int mmc_suspend_host(struct mmc_host *); |
| 226 | extern int mmc_resume_host(struct mmc_host *); | 237 | extern int mmc_resume_host(struct mmc_host *); |
| 227 | 238 | ||
| 228 | extern void mmc_power_save_host(struct mmc_host *host); | 239 | extern void mmc_power_save_host(struct mmc_host *host); |
| @@ -249,6 +260,7 @@ int mmc_card_can_sleep(struct mmc_host *host); | |||
| 249 | int mmc_host_enable(struct mmc_host *host); | 260 | int mmc_host_enable(struct mmc_host *host); |
| 250 | int mmc_host_disable(struct mmc_host *host); | 261 | int mmc_host_disable(struct mmc_host *host); |
| 251 | int mmc_host_lazy_disable(struct mmc_host *host); | 262 | int mmc_host_lazy_disable(struct mmc_host *host); |
| 263 | int mmc_pm_notify(struct notifier_block *notify_block, unsigned long, void *); | ||
| 252 | 264 | ||
| 253 | static inline void mmc_set_disable_delay(struct mmc_host *host, | 265 | static inline void mmc_set_disable_delay(struct mmc_host *host, |
| 254 | unsigned int disable_delay) | 266 | unsigned int disable_delay) |
