diff options
Diffstat (limited to 'include/linux/mmc/host.h')
-rw-r--r-- | include/linux/mmc/host.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h index 3e7615e9087e..024582ca344b 100644 --- a/include/linux/mmc/host.h +++ b/include/linux/mmc/host.h @@ -161,6 +161,20 @@ struct mmc_host { struct dentry *debugfs_root; +#ifdef CONFIG_MMC_EMBEDDED_SDIO + struct { + struct sdio_cis *cis; + struct sdio_cccr *cccr; + struct sdio_embedded_func *funcs; + int num_funcs; + unsigned int quirks; /* embedded sdio card quirks */ +/* do not ignore MMC_VDD_165_195 */ +#define MMC_QUIRK_VDD_165_195 (1<<0) +/* allow SDIO FN0 writes outside of VS CCCR*/ +#define MMC_QUIRK_LENIENT_FUNC0 (1<<1) + } embedded_sdio_data; +#endif + unsigned long private[0] ____cacheline_aligned; }; @@ -169,6 +183,15 @@ extern int mmc_add_host(struct mmc_host *); extern void mmc_remove_host(struct mmc_host *); extern void mmc_free_host(struct mmc_host *); +#ifdef CONFIG_MMC_EMBEDDED_SDIO +extern void mmc_set_embedded_sdio_data(struct mmc_host *host, + struct sdio_cis *cis, + struct sdio_cccr *cccr, + struct sdio_embedded_func *funcs, + int num_funcs, + unsigned int quirks); +#endif + static inline void *mmc_priv(struct mmc_host *host) { return (void *)host->private; |