Re: [PATCH -next] mmc: sdhci-pci-gli: Fix build error unused-function

From: Adrian Hunter
Date: Wed Jun 22 2022 - 05:01:18 EST


On 19/06/22 13:47, Ren Zhijie wrote:
> If CONFIG_PM is not set.
>
> make ARCH=x86_64 CROSS_COMPILE=x86_64-linux-gnu-, will be failed, like this:
>
> drivers/mmc/host/sdhci-pci-gli.c:834:13: error: ‘gl9763e_set_low_power_negotiation’ defined but not used [-Werror=unused-function]
> static void gl9763e_set_low_power_negotiation(struct sdhci_pci_slot *slot, bool enable)
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> cc1: all warnings being treated as errors
> make[3]: *** [drivers/mmc/host/sdhci-pci-gli.o] Error 1
>
> To fix building warning, wrap all related code with CONFIG_PM.
>
> Reported-by: Hulk Robot <hulkci@xxxxxxxxxx>
> Fixes: 78fe993ae714("mmc: host: Improve I/O read/write performance for GL9763E")
> Signed-off-by: Ren Zhijie <renzhijie2@xxxxxxxxxx>

Acked-by: Adrian Hunter <adrian.hunter@xxxxxxxxx>

> ---
> drivers/mmc/host/sdhci-pci-gli.c | 50 ++++++++++++++++----------------
> 1 file changed, 25 insertions(+), 25 deletions(-)
>
> diff --git a/drivers/mmc/host/sdhci-pci-gli.c b/drivers/mmc/host/sdhci-pci-gli.c
> index a76506adc206..4d509f656188 100644
> --- a/drivers/mmc/host/sdhci-pci-gli.c
> +++ b/drivers/mmc/host/sdhci-pci-gli.c
> @@ -831,31 +831,6 @@ static void sdhci_gl9763e_dumpregs(struct mmc_host *mmc)
> sdhci_dumpregs(mmc_priv(mmc));
> }
>
> -static void gl9763e_set_low_power_negotiation(struct sdhci_pci_slot *slot, bool enable)
> -{
> - struct pci_dev *pdev = slot->chip->pdev;
> - u32 value;
> -
> - pci_read_config_dword(pdev, PCIE_GLI_9763E_VHS, &value);
> - value &= ~GLI_9763E_VHS_REV;
> - value |= FIELD_PREP(GLI_9763E_VHS_REV, GLI_9763E_VHS_REV_W);
> - pci_write_config_dword(pdev, PCIE_GLI_9763E_VHS, value);
> -
> - pci_read_config_dword(pdev, PCIE_GLI_9763E_CFG, &value);
> -
> - if (enable)
> - value &= ~GLI_9763E_CFG_LPSN_DIS;
> - else
> - value |= GLI_9763E_CFG_LPSN_DIS;
> -
> - pci_write_config_dword(pdev, PCIE_GLI_9763E_CFG, value);
> -
> - pci_read_config_dword(pdev, PCIE_GLI_9763E_VHS, &value);
> - value &= ~GLI_9763E_VHS_REV;
> - value |= FIELD_PREP(GLI_9763E_VHS_REV, GLI_9763E_VHS_REV_R);
> - pci_write_config_dword(pdev, PCIE_GLI_9763E_VHS, value);
> -}
> -
> static void sdhci_gl9763e_cqe_pre_enable(struct mmc_host *mmc)
> {
> struct cqhci_host *cq_host = mmc->cqe_private;
> @@ -991,6 +966,31 @@ static void gli_set_gl9763e(struct sdhci_pci_slot *slot)
> }
>
> #ifdef CONFIG_PM
> +static void gl9763e_set_low_power_negotiation(struct sdhci_pci_slot *slot, bool enable)
> +{
> + struct pci_dev *pdev = slot->chip->pdev;
> + u32 value;
> +
> + pci_read_config_dword(pdev, PCIE_GLI_9763E_VHS, &value);
> + value &= ~GLI_9763E_VHS_REV;
> + value |= FIELD_PREP(GLI_9763E_VHS_REV, GLI_9763E_VHS_REV_W);
> + pci_write_config_dword(pdev, PCIE_GLI_9763E_VHS, value);
> +
> + pci_read_config_dword(pdev, PCIE_GLI_9763E_CFG, &value);
> +
> + if (enable)
> + value &= ~GLI_9763E_CFG_LPSN_DIS;
> + else
> + value |= GLI_9763E_CFG_LPSN_DIS;
> +
> + pci_write_config_dword(pdev, PCIE_GLI_9763E_CFG, value);
> +
> + pci_read_config_dword(pdev, PCIE_GLI_9763E_VHS, &value);
> + value &= ~GLI_9763E_VHS_REV;
> + value |= FIELD_PREP(GLI_9763E_VHS_REV, GLI_9763E_VHS_REV_R);
> + pci_write_config_dword(pdev, PCIE_GLI_9763E_VHS, value);
> +}
> +
> static int gl9763e_runtime_suspend(struct sdhci_pci_chip *chip)
> {
> struct sdhci_pci_slot *slot = chip->slots[0];