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 */