packaging: release out (3.8.3)
[profile/ivi/kernel-adaptation-intel-automotive.git] / 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 struct tmio_mmc_data;
8
9 #define SH_MOBILE_SDHI_IRQ_CARD_DETECT  "card_detect"
10 #define SH_MOBILE_SDHI_IRQ_SDCARD       "sdcard"
11 #define SH_MOBILE_SDHI_IRQ_SDIO         "sdio"
12
13 /**
14  * struct sh_mobile_sdhi_ops - SDHI driver callbacks
15  * @cd_wakeup:          trigger a card-detection run
16  */
17 struct sh_mobile_sdhi_ops {
18         void (*cd_wakeup)(const struct platform_device *pdev);
19 };
20
21 struct sh_mobile_sdhi_info {
22         int dma_slave_tx;
23         int dma_slave_rx;
24         unsigned long tmio_flags;
25         unsigned long tmio_caps;
26         unsigned long tmio_caps2;
27         u32 tmio_ocr_mask;      /* available MMC voltages */
28         unsigned int cd_gpio;
29         struct tmio_mmc_data *pdata;
30         void (*set_pwr)(struct platform_device *pdev, int state);
31         int (*get_cd)(struct platform_device *pdev);
32
33         /* callbacks for board specific setup code */
34         int (*init)(struct platform_device *pdev,
35                     const struct sh_mobile_sdhi_ops *ops);
36         void (*cleanup)(struct platform_device *pdev);
37 };
38
39 #endif /* LINUX_MMC_SH_MOBILE_SDHI_H */