1 #ifndef LINUX_MMC_SH_MOBILE_SDHI_H
2 #define LINUX_MMC_SH_MOBILE_SDHI_H
4 #include <linux/types.h>
6 struct platform_device;
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"
14 * struct sh_mobile_sdhi_ops - SDHI driver callbacks
15 * @cd_wakeup: trigger a card-detection run
17 struct sh_mobile_sdhi_ops {
18 void (*cd_wakeup)(const struct platform_device *pdev);
21 struct sh_mobile_sdhi_info {
24 unsigned long tmio_flags;
25 unsigned long tmio_caps;
26 u32 tmio_ocr_mask; /* available MMC voltages */
28 struct tmio_mmc_data *pdata;
29 void (*set_pwr)(struct platform_device *pdev, int state);
30 int (*get_cd)(struct platform_device *pdev);
32 /* callbacks for board specific setup code */
33 int (*init)(struct platform_device *pdev,
34 const struct sh_mobile_sdhi_ops *ops);
35 void (*cleanup)(struct platform_device *pdev);
38 #endif /* LINUX_MMC_SH_MOBILE_SDHI_H */