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];