|
@@ -0,0 +1,50 @@
|
|
|
|
+/*
|
|
|
|
+ * Copyright (C) 2014 Linaro Ltd
|
|
|
|
+ *
|
|
|
|
+ * Author: Ulf Hansson <ulf.hansson@linaro.org>
|
|
|
|
+ *
|
|
|
|
+ * License terms: GNU General Public License (GPL) version 2
|
|
|
|
+ *
|
|
|
|
+ * MMC power sequence management
|
|
|
|
+ */
|
|
|
|
+#include <linux/mmc/host.h>
|
|
|
|
+
|
|
|
|
+#include "pwrseq.h"
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+int mmc_pwrseq_alloc(struct mmc_host *host)
|
|
|
|
+{
|
|
|
|
+ return 0;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void mmc_pwrseq_pre_power_on(struct mmc_host *host)
|
|
|
|
+{
|
|
|
|
+ struct mmc_pwrseq *pwrseq = host->pwrseq;
|
|
|
|
+
|
|
|
|
+ if (pwrseq && pwrseq->ops && pwrseq->ops->pre_power_on)
|
|
|
|
+ pwrseq->ops->pre_power_on(host);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void mmc_pwrseq_post_power_on(struct mmc_host *host)
|
|
|
|
+{
|
|
|
|
+ struct mmc_pwrseq *pwrseq = host->pwrseq;
|
|
|
|
+
|
|
|
|
+ if (pwrseq && pwrseq->ops && pwrseq->ops->post_power_on)
|
|
|
|
+ pwrseq->ops->post_power_on(host);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void mmc_pwrseq_power_off(struct mmc_host *host)
|
|
|
|
+{
|
|
|
|
+ struct mmc_pwrseq *pwrseq = host->pwrseq;
|
|
|
|
+
|
|
|
|
+ if (pwrseq && pwrseq->ops && pwrseq->ops->power_off)
|
|
|
|
+ pwrseq->ops->power_off(host);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void mmc_pwrseq_free(struct mmc_host *host)
|
|
|
|
+{
|
|
|
|
+ struct mmc_pwrseq *pwrseq = host->pwrseq;
|
|
|
|
+
|
|
|
|
+ if (pwrseq && pwrseq->ops && pwrseq->ops->free)
|
|
|
|
+ pwrseq->ops->free(host);
|
|
|
|
+}
|