summaryrefslogtreecommitdiff
path: root/include/linux/mmc/core.h
diff options
context:
space:
mode:
authorAdrian Hunter <adrian.hunter@intel.com>2011-08-29 16:42:11 +0300
committerPhilippe Langlais <philippe.langlais@stericsson.com>2011-12-06 10:57:49 +0100
commitefc9dcbcfd10b72bb9892ea8c36cbcb78738ba77 (patch)
tree881df3ab315c6f06d36aceadead501bd97cdb4e7 /include/linux/mmc/core.h
parentcf81d83e1cee2cdcac1fa92915f0cde77613556c (diff)
mmc: core: add eMMC hardware reset support
eMMC's may have a hardware reset line. This patch provides a host controller operation to implement hardware reset and a function to reset and reinitialize the card. Also, for MMC, the reset is always performed before initialization. The host must set the new host capability MMC_CAP_HW_RESET to enable hardware reset. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Signed-off-by: Chris Ball <cjb@laptop.org> Change-Id: I324ad5b70ce1093cef1bccead045a2539be4cbfc Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33452 Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
Diffstat (limited to 'include/linux/mmc/core.h')
-rw-r--r--include/linux/mmc/core.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/mmc/core.h b/include/linux/mmc/core.h
index b8b1b7a311f..56e5625b6f4 100644
--- a/include/linux/mmc/core.h
+++ b/include/linux/mmc/core.h
@@ -162,6 +162,9 @@ extern int mmc_erase_group_aligned(struct mmc_card *card, unsigned int from,
extern unsigned int mmc_calc_max_discard(struct mmc_card *card);
extern int mmc_set_blocklen(struct mmc_card *card, unsigned int blocklen);
+extern int mmc_hw_reset(struct mmc_host *host);
+extern int mmc_hw_reset_check(struct mmc_host *host);
+extern int mmc_can_reset(struct mmc_card *card);
extern void mmc_set_data_timeout(struct mmc_data *, const struct mmc_card *);
extern unsigned int mmc_align_data_size(struct mmc_card *, unsigned int);