From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965105AbcJHG11 (ORCPT ); Sat, 8 Oct 2016 02:27:27 -0400 Received: from mx0a-0016f401.pphosted.com ([67.231.148.174]:37872 "EHLO mx0b-0016f401.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S965010AbcJHG1V (ORCPT ); Sat, 8 Oct 2016 02:27:21 -0400 Subject: Re: [PATCH 2/10] mmc: sdhci: Export sdhci_start_signal_voltage_switch() in sdhci.c To: Shawn Lin , Gregory CLEMENT , Ulf Hansson , Adrian Hunter , References: <9a660a813af58ad7c108fd06289513302426c9fb.1475853198.git-series.gregory.clement@free-electrons.com> <9bfe6e9a-c06e-481a-b5ea-af58820093bf@rock-chips.com> CC: Jason Cooper , Andrew Lunn , Sebastian Hesselbarth , Rob Herring , , Thomas Petazzoni , , "Jack(SH) Zhu" , Jimmy Xu , Jisheng Zhang , Nadav Haklai , Ryan Gao , Doug Jones , Shiwu Zhang , Victor Gu , "Wei(SOCP) Liu" , Wilson Ding , Xueping Liu , Hilbert Zhang , Liuliu Zhao , Peng Zhu , Yu Cao , Romain Perier , Yehuda Yitschak , Marcin Wojtas , Hanna Hawa , Kostya Porotchkin , From: Ziji Hu Message-ID: <0de88699-7cbb-a057-fd8a-83de37445623@marvell.com> Date: Sat, 8 Oct 2016 14:26:37 +0800 User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:45.0) Gecko/20100101 Thunderbird/45.3.0 MIME-Version: 1.0 In-Reply-To: <9bfe6e9a-c06e-481a-b5ea-af58820093bf@rock-chips.com> Content-Type: text/plain; charset="gbk" Content-Transfer-Encoding: 8bit X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2016-10-08_02:,, signatures=0 X-Proofpoint-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=2 phishscore=0 bulkscore=0 spamscore=0 clxscore=1011 lowpriorityscore=0 impostorscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1609300000 definitions=main-1610080110 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Shawn, On 2016/10/8 10:40, Shawn Lin wrote: > 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. Thanks a lot for your reply. Our SDHC driver just requests some pre- and post- operations besides common standard SDHC functions. Overwriting those common functions costs too much. Thank you. Best regards, Hu Ziji > >> 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); >> > >