[PATCH] soc: mediatek: SVS: Use DEFINE_SIMPLE_DEV_PM_OPS for svs_pm_ops
Matthias Brugger
matthias.bgg at gmail.com
Thu Jul 7 01:25:45 PDT 2022
On 23/06/2022 14:04, Matthias Brugger wrote:
>
>
> On 22/06/2022 19:56, Nathan Chancellor wrote:
>> When building this driver for an architecture that does not support
>> CONFIG_PM_SLEEP, such as hexagon, the following warnings occur:
>>
>> drivers/soc/mediatek/mtk-svs.c:1481:12: error: unused function
>> 'svs_suspend' [-Werror,-Wunused-function]
>> static int svs_suspend(struct device *dev)
>> ^
>> drivers/soc/mediatek/mtk-svs.c:1515:12: error: unused function 'svs_resume'
>> [-Werror,-Wunused-function]
>> static int svs_resume(struct device *dev)
>> ^
>> 2 errors generated.
>>
>> This happens because SIMPLE_DEV_PM_OPS uses SET_SYSTEM_SLEEP_PM_OPS,
>> which evaluates to nothing when CONFIG_PM_SLEEP is not set, leaving the
>> functions unused in the eyes of the compiler.
>>
>> This problem was rectified in commit 1a3c7bb08826 ("PM: core: Add new
>> *_PM_OPS macros, deprecate old ones") with new macros. Use
>> DEFINE_SIMPLE_DEV_PM_OPS to fix the warning while not changing
>> svs_pm_ops when CONFIG_PM_SLEEP is set.
>>
>> Fixes: 681a02e95000 ("soc: mediatek: SVS: introduce MTK SVS engine")
>> Signed-off-by: Nathan Chancellor <nathan at kernel.org>
>
> Thanks for the patch. The same issue was addressed by Jin Xiayun here:
> https://lore.kernel.org/linux-mediatek/20220623030931.2816013-1-jinxiaoyun2@huawei.com/T/#u
>
>
> I'm happy for any review help.
>
As there was no progress on the other patch, I now applied yours.
Thanks!
Matthias
> Regards,
> Matthias
>
>> ---
>> drivers/soc/mediatek/mtk-svs.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/soc/mediatek/mtk-svs.c b/drivers/soc/mediatek/mtk-svs.c
>> index 606a00a2e57d..d70903f45ddf 100644
>> --- a/drivers/soc/mediatek/mtk-svs.c
>> +++ b/drivers/soc/mediatek/mtk-svs.c
>> @@ -2381,7 +2381,7 @@ static int svs_probe(struct platform_device *pdev)
>> return ret;
>> }
>> -static SIMPLE_DEV_PM_OPS(svs_pm_ops, svs_suspend, svs_resume);
>> +static DEFINE_SIMPLE_DEV_PM_OPS(svs_pm_ops, svs_suspend, svs_resume);
>> static struct platform_driver svs_driver = {
>> .probe = svs_probe,
>>
>> base-commit: 71eaf1887203d0a59c92fd9dd3436b8d8489d68c
More information about the linux-arm-kernel
mailing list