Re: [PATCH] mfd: cs42l43: fix defined but not used warnings

From: Lee Jones
Date: Wed Sep 20 2023 - 05:52:57 EST


On Tue, 05 Sep 2023, zhangshida wrote:

> From: Shida Zhang <zhangshida@xxxxxxxxxx>
>
> Warnings were generated during compiling for functions like
> cs42l43_*_{resume,suspend}:
>
> ../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)
>
> Fix it by guarding it with CONFIG_PM/CONFIG_PM_SLEEP.
>
> Reported-by: k2ci <kernel-bot@xxxxxxxxxx>
> Signed-off-by: Shida Zhang <zhangshida@xxxxxxxxxx>
> ---
> drivers/mfd/cs42l43.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/mfd/cs42l43.c b/drivers/mfd/cs42l43.c
> index 37b23e9bae82..e589a61c118d 100644
> --- a/drivers/mfd/cs42l43.c
> +++ b/drivers/mfd/cs42l43.c
> @@ -1073,6 +1073,7 @@ void cs42l43_dev_remove(struct cs42l43 *cs42l43)
> }
> EXPORT_SYMBOL_NS_GPL(cs42l43_dev_remove, MFD_CS42L43);
>
> +#ifdef CONFIG_PM_SLEEP
> static int cs42l43_suspend(struct device *dev)
> {
> struct cs42l43 *cs42l43 = dev_get_drvdata(dev);
> @@ -1120,7 +1121,9 @@ static int cs42l43_resume(struct device *dev)
>
> return 0;
> }
> +#endif
>
> +#ifdef CONFIG_PM
> static int cs42l43_runtime_suspend(struct device *dev)
> {
> struct cs42l43 *cs42l43 = dev_get_drvdata(dev);
> @@ -1176,6 +1179,7 @@ static int cs42l43_runtime_resume(struct device *dev)
>
> return ret;
> }
> +#endif
>
> EXPORT_NS_GPL_DEV_PM_OPS(cs42l43_pm_ops, MFD_CS42L43) = {
> SET_SYSTEM_SLEEP_PM_OPS(cs42l43_suspend, cs42l43_resume)

I see a bunch of drivers using PM helpers and not many of them are
are being guarded by ugly #ifery. Please find out what they're doing to
solve the same issue and replicate that instead.

Here's a really big hint:

`git log --oneline 02313a90095fb`

--
Lee Jones [李琼斯]