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 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" 11 12 /** 13 * struct sh_mobile_sdhi_ops - SDHI driver callbacks 14 * @cd_wakeup: trigger a card-detection run 15 */ 16 struct sh_mobile_sdhi_ops { 17 void (*cd_wakeup)(const struct platform_device *pdev); 18 }; 19 20 struct sh_mobile_sdhi_info { 21 int dma_slave_tx; 22 int dma_slave_rx; 23 unsigned long tmio_flags; 24 unsigned long tmio_caps; 25 unsigned long tmio_caps2; 26 u32 tmio_ocr_mask; /* available MMC voltages */ 27 unsigned int cd_gpio; 28 29 /* callbacks for board specific setup code */ 30 int (*init)(struct platform_device *pdev, 31 const struct sh_mobile_sdhi_ops *ops); 32 void (*cleanup)(struct platform_device *pdev); 33 }; 34 35 #endif /* LINUX_MMC_SH_MOBILE_SDHI_H */ 36