sdhci-pltfm.h revision 85d6509dc8ca24b2b652863ef7a75622ddca17d6
1515033f97c0b5a1bce13fa93e09704d95b44f376Anton Vorontsov/* 2515033f97c0b5a1bce13fa93e09704d95b44f376Anton Vorontsov * Copyright 2010 MontaVista Software, LLC. 3515033f97c0b5a1bce13fa93e09704d95b44f376Anton Vorontsov * 4515033f97c0b5a1bce13fa93e09704d95b44f376Anton Vorontsov * Author: Anton Vorontsov <avorontsov@ru.mvista.com> 5515033f97c0b5a1bce13fa93e09704d95b44f376Anton Vorontsov * 6515033f97c0b5a1bce13fa93e09704d95b44f376Anton Vorontsov * This program is free software; you can redistribute it and/or modify 7515033f97c0b5a1bce13fa93e09704d95b44f376Anton Vorontsov * it under the terms of the GNU General Public License version 2 as 8515033f97c0b5a1bce13fa93e09704d95b44f376Anton Vorontsov * published by the Free Software Foundation. 9515033f97c0b5a1bce13fa93e09704d95b44f376Anton Vorontsov */ 10515033f97c0b5a1bce13fa93e09704d95b44f376Anton Vorontsov 11515033f97c0b5a1bce13fa93e09704d95b44f376Anton Vorontsov#ifndef _DRIVERS_MMC_SDHCI_PLTFM_H 12515033f97c0b5a1bce13fa93e09704d95b44f376Anton Vorontsov#define _DRIVERS_MMC_SDHCI_PLTFM_H 13515033f97c0b5a1bce13fa93e09704d95b44f376Anton Vorontsov 144b711cb13843f5082e82970dd1e8031383134a65Wolfram Sang#include <linux/clk.h> 154b711cb13843f5082e82970dd1e8031383134a65Wolfram Sang#include <linux/types.h> 1685d6509dc8ca24b2b652863ef7a75622ddca17d6Shawn Guo#include <linux/platform_device.h> 17d3b993dcc11cd291e6908ed02b9db99970220952Wolfram Sang#include <linux/mmc/sdhci-pltfm.h> 1820b1597bcf4a76ccab232fa032f5f9ad30069167Anton Vorontsov 194b711cb13843f5082e82970dd1e8031383134a65Wolfram Sangstruct sdhci_pltfm_host { 204b711cb13843f5082e82970dd1e8031383134a65Wolfram Sang struct clk *clk; 21e149860d16d96aef1a8eb7dc1d0b9d4313479e61Richard Zhu void *priv; /* to handle quirks across io-accessor calls */ 224b711cb13843f5082e82970dd1e8031383134a65Wolfram Sang}; 234b711cb13843f5082e82970dd1e8031383134a65Wolfram Sang 2485d6509dc8ca24b2b652863ef7a75622ddca17d6Shawn Guoextern struct sdhci_host *sdhci_pltfm_init(struct platform_device *pdev, 2585d6509dc8ca24b2b652863ef7a75622ddca17d6Shawn Guo struct sdhci_pltfm_data *pdata); 2685d6509dc8ca24b2b652863ef7a75622ddca17d6Shawn Guoextern void sdhci_pltfm_free(struct platform_device *pdev); 2785d6509dc8ca24b2b652863ef7a75622ddca17d6Shawn Guo 2885d6509dc8ca24b2b652863ef7a75622ddca17d6Shawn Guoextern int sdhci_pltfm_register(struct platform_device *pdev, 2985d6509dc8ca24b2b652863ef7a75622ddca17d6Shawn Guo struct sdhci_pltfm_data *pdata); 3085d6509dc8ca24b2b652863ef7a75622ddca17d6Shawn Guoextern int sdhci_pltfm_unregister(struct platform_device *pdev); 3185d6509dc8ca24b2b652863ef7a75622ddca17d6Shawn Guo 3285d6509dc8ca24b2b652863ef7a75622ddca17d6Shawn Guo#ifdef CONFIG_PM 3385d6509dc8ca24b2b652863ef7a75622ddca17d6Shawn Guoextern int sdhci_pltfm_suspend(struct platform_device *dev, pm_message_t state); 3485d6509dc8ca24b2b652863ef7a75622ddca17d6Shawn Guoextern int sdhci_pltfm_resume(struct platform_device *dev); 3585d6509dc8ca24b2b652863ef7a75622ddca17d6Shawn Guo#endif 3620b1597bcf4a76ccab232fa032f5f9ad30069167Anton Vorontsov 37515033f97c0b5a1bce13fa93e09704d95b44f376Anton Vorontsov#endif /* _DRIVERS_MMC_SDHCI_PLTFM_H */ 38