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 unsigned long tmio_caps2;
27 u32 tmio_ocr_mask; /* available MMC voltages */
29 struct tmio_mmc_data *pdata;
30 void (*set_pwr)(struct platform_device *pdev, int state);
31 int (*get_cd)(struct platform_device *pdev);
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);
39 #endif /* LINUX_MMC_SH_MOBILE_SDHI_H */