Re: [PATCH -next] PCI: imx6: Fix build error unused-function
From: Arnd Bergmann
Date: Sun Jul 24 2022 - 11:40:58 EST
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