Messages in this thread | | | From | Arnd Bergmann <> | Date | Mon, 20 Mar 2017 13:27:32 +0100 | Subject | Re: [PATCH] tpm/tpm_crb: mark PM functions as __maybe_unused |
| |
On Mon, Mar 20, 2017 at 1:11 PM, Winkler, Tomas <tomas.winkler@intel.com> wrote: >> >> When CONFIG_PM_SLEEP is disabled, we get a warning about unused >> functions: >> >> drivers/char/tpm/tpm_crb.c:551:12: error: 'crb_pm_resume' defined but not >> used [-Werror=unused-function] >> drivers/char/tpm/tpm_crb.c:540:12: error: 'crb_pm_suspend' defined but not >> used [-Werror=unused-function] >> > Note that the runtime_pm functions are not affected by this issue the macro > SET_RUNTIME_PM_OPS is under CONFIG_PM. This patch does more than described.
Well, the problem is that there is an #ifdef that is wrong here as I tried to indicate:
>> We could solve this with more sophistated #ifdefs, but a simpler and safer way >> is to just mark them as __maybe_unused.
>> @@ -547,7 +546,7 @@ static int crb_pm_suspend(struct device *dev) >> return crb_pm_runtime_suspend(dev); >> } > > It's enough to > #endif /* CONFIG_PM */ > #ifdef CONFIG_PM_SLEEP >> -static int crb_pm_resume(struct device *dev) >> +static __maybe_unused int crb_pm_resume(struct device *dev) >> { >> int ret; >> >> @@ -558,8 +557,6 @@ static int crb_pm_resume(struct device *dev) >> return tpm_pm_resume(dev); >> } >> >> -#endif /* CONFIG_PM */ > And > #endif CONFIG_PM_SLEEP
This tends to cause other warnings half of the time, when both the runtime-pm and pm-sleep variants call into another function that becomes unused when both are disabled.
Arnd
| |