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
;
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"
13 * struct sh_mobile_sdhi_ops - SDHI driver callbacks
14 * @cd_wakeup: trigger a card-detection run
16 struct sh_mobile_sdhi_ops
{
17 void (*cd_wakeup
)(const struct platform_device
*pdev
);
20 struct sh_mobile_sdhi_info
{
23 unsigned long tmio_flags
;
24 unsigned long tmio_caps
;
25 unsigned long tmio_caps2
;
26 u32 tmio_ocr_mask
; /* available MMC voltages */
28 void (*set_pwr
)(struct platform_device
*pdev
, int state
);
29 int (*get_cd
)(struct platform_device
*pdev
);
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
);
37 #endif /* LINUX_MMC_SH_MOBILE_SDHI_H */