diff mbox series

[-next] PCI: imx6: Fix build error unused-function

Message ID 20220724101353.127875-1-renzhijie2@huawei.com (mailing list archive)
State New, archived
Headers show
Series [-next] PCI: imx6: Fix build error unused-function | expand

Commit Message

Ren Zhijie July 24, 2022, 10:13 a.m. UTC
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@huawei.com>
---
 drivers/pci/controller/dwc/pci-imx6.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Arnd Bergmann July 24, 2022, 3:40 p.m. UTC | #1
On Sun, Jul 24, 2022 at 12:13 PM Ren Zhijie <renzhijie2@huawei.com> 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@huawei.com>

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
Ren Zhijie July 25, 2022, 2:45 a.m. UTC | #2
在 2022/7/24 23:40, Arnd Bergmann 写道:
> On Sun, Jul 24, 2022 at 12:13 PM Ren Zhijie <renzhijie2@huawei.com> 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@huawei.com>
> 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

Hi, Arnd

Thanks for your reply. I have actually met the other warning, and I use 
the new  marco RUNTIME_PM_OPS to replace the old one,see

https://lore.kernel.org/all/20220725023611.57055-1-renzhijie2@huawei.com/


Thanks,

Ren Zhijie

> .
diff mbox series

Patch

diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c
index 55e109d1ab27..533f5ef68e94 100644
--- a/drivers/pci/controller/dwc/pci-imx6.c
+++ b/drivers/pci/controller/dwc/pci-imx6.c
@@ -901,7 +901,7 @@  static int imx6_pcie_start_link(struct dw_pcie *pci)
 	return 0;
 }
 
-static void imx6_pcie_stop_link(struct dw_pcie *pci)
+static void __maybe_unused imx6_pcie_stop_link(struct dw_pcie *pci)
 {
 	struct device *dev = pci->dev;
 
@@ -970,7 +970,7 @@  static int imx6_pcie_host_init(struct dw_pcie_rp *pp)
 	return ret;
 }
 
-static void imx6_pcie_host_exit(struct dw_pcie_rp *pp)
+static void __maybe_unused imx6_pcie_host_exit(struct dw_pcie_rp *pp)
 {
 	struct dw_pcie *pci = to_dw_pcie_from_pp(pp);
 	struct imx6_pcie *imx6_pcie = to_imx6_pcie(pci);