Re: mainline build failure due to ace6d1448138 ("mfd: cs42l43: Add support for cs42l43 core driver")

Takashi Iwai
2023-08-30T18:57:49Z

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;
--
2.35.3