From mboxrd@z Thu Jan 1 00:00:00 1970 From: shawn.lin@rock-chips.com (Shawn Lin) Date: Sat, 8 Oct 2016 10:40:26 +0800 Subject: [PATCH 2/10] mmc: sdhci: Export sdhci_start_signal_voltage_switch() in sdhci.c In-Reply-To: <9a660a813af58ad7c108fd06289513302426c9fb.1475853198.git-series.gregory.clement@free-electrons.com> References: <9a660a813af58ad7c108fd06289513302426c9fb.1475853198.git-series.gregory.clement@free-electrons.com> Message-ID: <9bfe6e9a-c06e-481a-b5ea-af58820093bf@rock-chips.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hi, ? 2016/10/7 23:22, Gregory CLEMENT ??: > From: Ziji Hu > > Export sdhci_start_signal_voltage_switch() from sdhci.c. > Thus vendor sdhci driver can implement its own signal voltage > switch routine. > You can overwtite this callback within your driver itself. That is what other sdhci variant drivers did, so patch 1-3 are unnecessary. > Signed-off-by: Hu Ziji > Reviewed-by: Gregory CLEMENT > Signed-off-by: Gregory CLEMENT > --- > drivers/mmc/host/sdhci.c | 5 +++-- > drivers/mmc/host/sdhci.h | 2 ++ > 2 files changed, 5 insertions(+), 2 deletions(-) > > diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c > index d4bb818c52d5..2250ea22231f 100644 > --- a/drivers/mmc/host/sdhci.c > +++ b/drivers/mmc/host/sdhci.c > @@ -1828,8 +1828,8 @@ static void sdhci_enable_sdio_irq(struct mmc_host *mmc, int enable) > spin_unlock_irqrestore(&host->lock, flags); > } > > -static int sdhci_start_signal_voltage_switch(struct mmc_host *mmc, > - struct mmc_ios *ios) > +int sdhci_start_signal_voltage_switch(struct mmc_host *mmc, > + struct mmc_ios *ios) > { > struct sdhci_host *host = mmc_priv(mmc); > u16 ctrl; > @@ -1921,6 +1921,7 @@ static int sdhci_start_signal_voltage_switch(struct mmc_host *mmc, > return 0; > } > } > +EXPORT_SYMBOL_GPL(sdhci_start_signal_voltage_switch); > > static int sdhci_card_busy(struct mmc_host *mmc) > { > diff --git a/drivers/mmc/host/sdhci.h b/drivers/mmc/host/sdhci.h > index 21dc80b8ae3d..c38ab65b9a97 100644 > --- a/drivers/mmc/host/sdhci.h > +++ b/drivers/mmc/host/sdhci.h > @@ -687,6 +687,8 @@ void sdhci_set_bus_width(struct sdhci_host *host, int width); > void sdhci_reset(struct sdhci_host *host, u8 mask); > void sdhci_set_uhs_signaling(struct sdhci_host *host, unsigned timing); > void sdhci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios); > +int sdhci_start_signal_voltage_switch(struct mmc_host *mmc, > + struct mmc_ios *ios); > > #ifdef CONFIG_PM > extern int sdhci_suspend_host(struct sdhci_host *host); > -- Best Regards Shawn Lin