]> Pileus Git - ~andy/linux/blob - include/linux/mmc/sh_mobile_sdhi.h
Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211
[~andy/linux] / include / linux / mmc / sh_mobile_sdhi.h
1 #ifndef LINUX_MMC_SH_MOBILE_SDHI_H
2 #define LINUX_MMC_SH_MOBILE_SDHI_H
3
4 #include <linux/types.h>
5
6 struct platform_device;
7
8 #define SH_MOBILE_SDHI_IRQ_CARD_DETECT  "card_detect"
9 #define SH_MOBILE_SDHI_IRQ_SDCARD       "sdcard"
10 #define SH_MOBILE_SDHI_IRQ_SDIO         "sdio"
11
12 /**
13  * struct sh_mobile_sdhi_ops - SDHI driver callbacks
14  * @cd_wakeup:          trigger a card-detection run
15  */
16 struct sh_mobile_sdhi_ops {
17         void (*cd_wakeup)(const struct platform_device *pdev);
18 };
19
20 struct sh_mobile_sdhi_info {
21         int dma_slave_tx;
22         int dma_slave_rx;
23         unsigned long tmio_flags;
24         unsigned long tmio_caps;
25         unsigned long tmio_caps2;
26         u32 tmio_ocr_mask;      /* available MMC voltages */
27         unsigned int cd_gpio;
28         void (*set_pwr)(struct platform_device *pdev, int state);
29         int (*get_cd)(struct platform_device *pdev);
30
31         /* callbacks for board specific setup code */
32         int (*init)(struct platform_device *pdev,
33                     const struct sh_mobile_sdhi_ops *ops);
34         void (*cleanup)(struct platform_device *pdev);
35 };
36
37 #endif /* LINUX_MMC_SH_MOBILE_SDHI_H */