Skip to contentSkip to conversation

usb: xhci: tegra: mark PM functions as __maybe_unused

PATCH RESEND Superseded Arnd Bergmann 2 participants 3 messages Sep 27, 2021 – Oct 5, 2021

Subsystems (3)

v1 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

PATCH RESEND 1/1 usb: xhci: tegra: mark PM functions as __maybe_unused

From: Arnd Bergmann <[email protected]>

The added #ifdefs in the PM rework were almost correct, but still cause warnings in some randconfig builds:

drivers/usb/host/xhci-tegra.c:2147:12: error: 'tegra_xusb_resume' defined but not used [-Werror=unused-function]
2147 | static int tegra_xusb_resume(struct device *dev)

      |            ^~~~~~~~~~~~~~~~~

drivers/usb/host/xhci-tegra.c:2105:12: error: 'tegra_xusb_suspend' defined but not used [-Werror=unused-function]
2105 | static int tegra_xusb_suspend(struct device *dev)

Replace the #ifdef checks with simpler __maybe_unused annotations to reliably shut up these warnings.

Fixes d64d362f1d8b ("usb: xhci: tegra: Enable ELPG for runtime/system PM")
---
 drivers/usb/host/xhci-tegra.c | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)
drivers/usb/host/xhci-tegra.c +4 -8
index 575fa89a783f..1bf494b649bd 100644
@@ -1787,7 +1787,6 @@ static int tegra_xusb_remove(struct platform_device *pdev)
 	return 0;
 }
 
-#if IS_ENABLED(CONFIG_PM) || IS_ENABLED(CONFIG_PM_SLEEP)
 static bool xhci_hub_ports_suspended(struct xhci_hub *hub)
 {
 	struct device *dev = hub->hcd->self.controller;
@@ -2102,7 +2101,7 @@ static int tegra_xusb_exit_elpg(struct tegra_xusb *tegra, bool runtime)
 	return err;
 }
 
-static int tegra_xusb_suspend(struct device *dev)
+static __maybe_unused int tegra_xusb_suspend(struct device *dev)
 {
 	struct tegra_xusb *tegra = dev_get_drvdata(dev);
 	int err;
@@ -2144,7 +2143,7 @@ static int tegra_xusb_suspend(struct device *dev)
 	return err;
 }
 
-static int tegra_xusb_resume(struct device *dev)
+static __maybe_unused int tegra_xusb_resume(struct device *dev)
 {
 	struct tegra_xusb *tegra = dev_get_drvdata(dev);
 	int err;
@@ -2174,10 +2173,8 @@ static int tegra_xusb_resume(struct device *dev)
 
 	return 0;
 }
-#endif
 
-#ifdef CONFIG_PM
-static int tegra_xusb_runtime_suspend(struct device *dev)
+static __maybe_unused int tegra_xusb_runtime_suspend(struct device *dev)
 {
 	struct tegra_xusb *tegra = dev_get_drvdata(dev);
 	int ret;
@@ -2190,7 +2187,7 @@ static int tegra_xusb_runtime_suspend(struct device *dev)
 	return ret;
 }
 
-static int tegra_xusb_runtime_resume(struct device *dev)
+static __maybe_unused int tegra_xusb_runtime_resume(struct device *dev)
 {
 	struct tegra_xusb *tegra = dev_get_drvdata(dev);
 	int err;
@@ -2201,7 +2198,6 @@ static int tegra_xusb_runtime_resume(struct device *dev)
 
 	return err;
 }
-#endif
 
 static const struct dev_pm_ops tegra_xusb_pm_ops = {
 	SET_RUNTIME_PM_OPS(tegra_xusb_runtime_suspend,
Signature · 1 line
2.29.2
#1 lore raw
Quoted 7 lines · Arnd Bergmann

From: Arnd Bergmann <[email protected]>

The added #ifdefs in the PM rework were almost correct, but still cause warnings in some randconfig builds:

drivers/usb/host/xhci-tegra.c:2147:12: error: 'tegra_xusb_resume' defined but not used [-Werror=unused-function]
2147 | static int tegra_xusb_resume(struct device *dev)

Quoted 8 lines
      |            ^~~~~~~~~~~~~~~~~

drivers/usb/host/xhci-tegra.c:2105:12: error: 'tegra_xusb_suspend' defined but not used [-Werror=unused-function]
2105 | static int tegra_xusb_suspend(struct device *dev)

Replace the #ifdef checks with simpler __maybe_unused annotations to reliably shut up these warnings.

Fixes d64d362f1d8b ("usb: xhci: tegra: Enable ELPG for runtime/system PM")

What tree does this commit come in from? I don't see it in my usb tree :(

thanks,

greg k-h

#2 lore raw
Quoted 13 lines · Greg Kroah-Hartman
Quoted 11 lines · Arnd Bergmann

From: Arnd Bergmann <[email protected]>

The added #ifdefs in the PM rework were almost correct, but still cause warnings in some randconfig builds:

drivers/usb/host/xhci-tegra.c:2147:12: error: 'tegra_xusb_resume' defined but not used [-Werror=unused-function]
2147 | static int tegra_xusb_resume(struct device *dev)

      |            ^~~~~~~~~~~~~~~~~

drivers/usb/host/xhci-tegra.c:2105:12: error: 'tegra_xusb_suspend' defined but not used [-Werror=unused-function]
2105 | static int tegra_xusb_suspend(struct device *dev)

Quoted 7 lines
Quoted 4 lines

Replace the #ifdef checks with simpler __maybe_unused annotations to reliably shut up these warnings.

Fixes d64d362f1d8b ("usb: xhci: tegra: Enable ELPG for runtime/system PM")

What tree does this commit come in from? I don't see it in my usb tree :(

I don't know, I originally created the patch back in April when the problem first
showed up in my randconfig build tree, and picked up the commit now when I saw the bug still exists in v5.15-rc.

Apparently the commit ID that has made it into mainline through your tree was 971ee247060d ("usb: xhci: tegra: Enable ELPG for runtime/system PM"). I'll resend with that reference fixed.

Arnd