On 27/08/20 12:33 pm, Chun-Hung Wu wrote: > Add pre_enable() and post_disable() for cqhci_host_ops. > Add hook functions before cqhci enable and > after cqhci disable for platforms need them. > > Signed-off-by: Chun-Hung Wu <chun-hung.wu@xxxxxxxxxxxx> Acked-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> > --- > drivers/mmc/host/cqhci.c | 6 ++++++ > drivers/mmc/host/cqhci.h | 2 ++ > 2 files changed, 8 insertions(+) > > diff --git a/drivers/mmc/host/cqhci.c b/drivers/mmc/host/cqhci.c > index cfa87df..697fe40 100644 > --- a/drivers/mmc/host/cqhci.c > +++ b/drivers/mmc/host/cqhci.c > @@ -376,6 +376,9 @@ static void cqhci_off(struct mmc_host *mmc) > else > pr_debug("%s: cqhci: CQE off\n", mmc_hostname(mmc)); > > + if (cq_host->ops->post_disable) > + cq_host->ops->post_disable(mmc); > + > mmc->cqe_on = false; > } > > @@ -580,6 +583,9 @@ static int cqhci_request(struct mmc_host *mmc, struct mmc_request *mrq) > __cqhci_enable(cq_host); > > if (!mmc->cqe_on) { > + if (cq_host->ops->pre_enable) > + cq_host->ops->pre_enable(mmc); > + > cqhci_writel(cq_host, 0, CQHCI_CTL); > mmc->cqe_on = true; > pr_debug("%s: cqhci: CQE on\n", mmc_hostname(mmc)); > diff --git a/drivers/mmc/host/cqhci.h b/drivers/mmc/host/cqhci.h > index 4377001..89bf6ad 100644 > --- a/drivers/mmc/host/cqhci.h > +++ b/drivers/mmc/host/cqhci.h > @@ -206,6 +206,8 @@ struct cqhci_host_ops { > void (*disable)(struct mmc_host *mmc, bool recovery); > void (*update_dcmd_desc)(struct mmc_host *mmc, struct mmc_request *mrq, > u64 *data); > + void (*pre_enable)(struct mmc_host *mmc); > + void (*post_disable)(struct mmc_host *mmc); > }; > > static inline void cqhci_writel(struct cqhci_host *host, u32 val, int reg) >