summaryrefslogtreecommitdiffstats
path: root/drivers/mmc/core/pwrseq.h
diff options
context:
space:
mode:
authorUlf Hansson2017-05-08 23:49:12 +0200
committerUlf Hansson2017-06-20 10:30:09 +0200
commit773a9ef85f02f6a82f58244f33cb628ad1ecac21 (patch)
treecdaa4491b80451ccbb9e40e41efa795a99185bb7 /drivers/mmc/core/pwrseq.h
parentmmc: vub3000: add missing USB-descriptor endianness conversions (diff)
downloadkernel-qcow2-linux-773a9ef85f02f6a82f58244f33cb628ad1ecac21.tar.gz
kernel-qcow2-linux-773a9ef85f02f6a82f58244f33cb628ad1ecac21.tar.xz
kernel-qcow2-linux-773a9ef85f02f6a82f58244f33cb628ad1ecac21.zip
mmc: pwrseq: Add reset callback to the struct mmc_pwrseq_ops
The ->reset() callback is needed to implement a better support for eMMC HW reset. The following changes will take advantage of the new callback. Suggested-by: Heiner Kallweit <hkallweit1@gmail.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
Diffstat (limited to 'drivers/mmc/core/pwrseq.h')
-rw-r--r--drivers/mmc/core/pwrseq.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/mmc/core/pwrseq.h b/drivers/mmc/core/pwrseq.h
index 39c911aa6ebb..819386f4ec61 100644
--- a/drivers/mmc/core/pwrseq.h
+++ b/drivers/mmc/core/pwrseq.h
@@ -18,6 +18,7 @@ struct mmc_pwrseq_ops {
void (*pre_power_on)(struct mmc_host *host);
void (*post_power_on)(struct mmc_host *host);
void (*power_off)(struct mmc_host *host);
+ void (*reset)(struct mmc_host *host);
};
struct mmc_pwrseq {
@@ -36,6 +37,7 @@ int mmc_pwrseq_alloc(struct mmc_host *host);
void mmc_pwrseq_pre_power_on(struct mmc_host *host);
void mmc_pwrseq_post_power_on(struct mmc_host *host);
void mmc_pwrseq_power_off(struct mmc_host *host);
+void mmc_pwrseq_reset(struct mmc_host *host);
void mmc_pwrseq_free(struct mmc_host *host);
#else
@@ -49,6 +51,7 @@ static inline int mmc_pwrseq_alloc(struct mmc_host *host) { return 0; }
static inline void mmc_pwrseq_pre_power_on(struct mmc_host *host) {}
static inline void mmc_pwrseq_post_power_on(struct mmc_host *host) {}
static inline void mmc_pwrseq_power_off(struct mmc_host *host) {}
+static inline void mmc_pwrseq_reset(struct mmc_host *host) {}
static inline void mmc_pwrseq_free(struct mmc_host *host) {}
#endif