Hi Arnd, Thanks for the fix. Reviewed-by: JC Kuo <jckuo@xxxxxxxxxx> On 4/21/21 9:56 PM, Arnd Bergmann wrote: > From: Arnd Bergmann <arnd@xxxxxxxx> > > 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") > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> > --- > drivers/usb/host/xhci-tegra.c | 12 ++++-------- > 1 file changed, 4 insertions(+), 8 deletions(-) > > diff --git a/drivers/usb/host/xhci-tegra.c b/drivers/usb/host/xhci-tegra.c > index ce97ff054c68..adead2377149 100644 > --- a/drivers/usb/host/xhci-tegra.c > +++ b/drivers/usb/host/xhci-tegra.c > @@ -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, >