On Sun, Jul 24, 2022 at 12:13 PM Ren Zhijie <renzhijie2@xxxxxxxxxx> wrote: > > If CONFIG_PM_SLEEP is not set, > make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-, will be failed, like this: > > drivers/pci/controller/dwc/pci-imx6.c:973:13: error: ‘imx6_pcie_host_exit’ defined but not used [-Werror=unused-function] > static void imx6_pcie_host_exit(struct dw_pcie_rp *pp) > ^~~~~~~~~~~~~~~~~~~ > drivers/pci/controller/dwc/pci-imx6.c:904:13: error: ‘imx6_pcie_stop_link’ defined but not used [-Werror=unused-function] > static void imx6_pcie_stop_link(struct dw_pcie *pci) > ^~~~~~~~~~~~~~~~~~~ > cc1: all warnings being treated as errors > make[4]: *** [drivers/pci/controller/dwc/pci-imx6.o] Error 1 > > These two functions imx6_pcie_host_exit() and imx6_pcie_stop_link() only be called by imx6_pcie_suspend_noirq(), which was warpped by CONFIG_PM_SLEEP. > To fix build error unused-function, use __maybe_unused to attach them. > > Fixes: 25ae5434c3de ("PCI: imx6: Reformat suspend callback to keep symmetric with resume") > Signed-off-by: Ren Zhijie <renzhijie2@xxxxxxxxxx> There is already a better fix for this, see https://lore.kernel.org/all/20220719210427.GA1568454@bhelgaas/ If you come across other suspend/resume functions that trigger the unused-function warning, please use the same method there instead of adding __maybe_unused or #ifdef annotations. Arnd