On Wed, 30 Aug 2023 13:29:57 +0200, Sudip Mukherjee (Codethink) wrote:
Hi All,
The latest mainline kernel branch fails to build alpha, csky and s390 allmodconfig with the error:
drivers/mfd/cs42l43.c:1138:12: error: 'cs42l43_runtime_resume' defined but not used [-Werror=unused-function] 1138 | static int cs42l43_runtime_resume(struct device *dev) | ^~~~~~~~~~~~~~~~~~~~~~ drivers/mfd/cs42l43.c:1124:12: error: 'cs42l43_runtime_suspend' defined but not used [-Werror=unused-function] 1124 | static int cs42l43_runtime_suspend(struct device *dev) | ^~~~~~~~~~~~~~~~~~~~~~~ drivers/mfd/cs42l43.c:1106:12: error: 'cs42l43_resume' defined but not used [-Werror=unused-function] 1106 | static int cs42l43_resume(struct device *dev) | ^~~~~~~~~~~~~~ drivers/mfd/cs42l43.c:1076:12: error: 'cs42l43_suspend' defined but not used [-Werror=unused-function] 1076 | static int cs42l43_suspend(struct device *dev) | ^~~~~~~~~~~~~~~
git bisect pointed to ace6d1448138 ("mfd: cs42l43: Add support for cs42l43 core driver")
I will be happy to test any patch or provide any extra log if needed.
Adding __maybe_unused for those PM functions should work around it, something like below. Could you check it? If it's confirmed to work, I'll submit properly.
thanks,
Takashi
-- 8< -- From: Takashi Iwai tiwai@suse.de Subject: [PATCH] mfd: cs42l43: Fix unused function errors for PM callbacks
Add __maybe_unused prefix for suppressing the build errors due to defined-but-not-used PM callbacks.
Reported-by: Sudip Mukherjee (Codethink) sudipm.mukherjee@gmail.com Fixes: ace6d1448138 ("mfd: cs42l43: Add support for cs42l43 core driver") Signed-off-by: Takashi Iwai tiwai@suse.de --- drivers/mfd/cs42l43.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/mfd/cs42l43.c b/drivers/mfd/cs42l43.c index 37b23e9bae82..e94b73e6869a 100644 --- a/drivers/mfd/cs42l43.c +++ b/drivers/mfd/cs42l43.c @@ -1073,7 +1073,7 @@ void cs42l43_dev_remove(struct cs42l43 *cs42l43) } EXPORT_SYMBOL_NS_GPL(cs42l43_dev_remove, MFD_CS42L43);
-static int cs42l43_suspend(struct device *dev) +static int __maybe_unused cs42l43_suspend(struct device *dev) { struct cs42l43 *cs42l43 = dev_get_drvdata(dev); int ret; @@ -1103,7 +1103,7 @@ static int cs42l43_suspend(struct device *dev) return 0; }
-static int cs42l43_resume(struct device *dev) +static int __maybe_unused cs42l43_resume(struct device *dev) { struct cs42l43 *cs42l43 = dev_get_drvdata(dev); int ret; @@ -1121,7 +1121,7 @@ static int cs42l43_resume(struct device *dev) return 0; }
-static int cs42l43_runtime_suspend(struct device *dev) +static int __maybe_unused cs42l43_runtime_suspend(struct device *dev) { struct cs42l43 *cs42l43 = dev_get_drvdata(dev);
@@ -1135,7 +1135,7 @@ static int cs42l43_runtime_suspend(struct device *dev) return 0; }
-static int cs42l43_runtime_resume(struct device *dev) +static int __maybe_unused cs42l43_runtime_resume(struct device *dev) { struct cs42l43 *cs42l43 = dev_get_drvdata(dev); unsigned int reset_canary;