On 25/09/23 13:23, Xi Ruoyao wrote: > On Mon, 2023-09-25 at 13:21 +0300, Adrian Hunter wrote: >> On 22/09/23 04:49, Drew Fustini wrote: >>> Expose __sdhci_execute_tuning() so that it can be called from the >>> mmc host controller drivers. >>> >>> In the sdhci-of-dwcmshc driver, sdhci_dwcmshc_th1520_ops sets >>> platform_execute_tuning to th1520_execute_tuning(). That function has >>> to manipulate phy registers before tuning can be performed. To avoid >>> copying the code verbatim from __sdhci_execute_tuning() into >>> th1520_execute_tuning(), make it possible for __sdhci_execute_tuning() >>> to be called from sdhci-of-dwcmshc. >>> >>> Signed-off-by: Drew Fustini <dfustini@xxxxxxxxxxxx> >>> --- >>> drivers/mmc/host/sdhci.c | 2 +- >>> drivers/mmc/host/sdhci.h | 1 + >>> 2 files changed, 2 insertions(+), 1 deletion(-) >>> >>> diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c >>> index ff41aa56564e..fd607058d176 100644 >>> --- a/drivers/mmc/host/sdhci.c >>> +++ b/drivers/mmc/host/sdhci.c >>> @@ -2841,7 +2841,7 @@ void sdhci_send_tuning(struct sdhci_host *host, u32 opcode) >>> } >>> EXPORT_SYMBOL_GPL(sdhci_send_tuning); >>> >>> -static int __sdhci_execute_tuning(struct sdhci_host *host, u32 opcode) >>> +int __sdhci_execute_tuning(struct sdhci_host *host, u32 opcode) >> >> Also need >> EXPORT_SYMBOL_GPL(__sdhci_execute_tuning); >> >>> { >>> int i; > > By the way should we rename this function? I think > "__sdhci_execute_tuning" vs "sdhci_execute_tuning" might be confusing > when we export both. > 'name()' and '__name()' is not a particularly rare paradigm in the kernel, so it seems ok.