Re: linux-next: build warnings after merge of the char-misc tree

From: Arnd Bergmann
Date: Mon Nov 14 2022 - 04:17:22 EST


On Mon, Nov 14, 2022, at 10:03, Liu Ying wrote:
> On Mon, 2022-11-14 at 08:33 +0100, Arnd Bergmann wrote:
>> On Mon, Nov 14, 2022, at 08:17, Stephen Rothwell wrote:
>> > Hi all,
>> >
>> > After merging the char-misc tree, today's linux-next build (powerpc
>> > allnoconfig) produced these warnings:
>> >
>> > drivers/bus/simple-pm-bus.c:96:12: warning:
>> > 'simple_pm_bus_runtime_resume' defined but not used [-Wunused-function]
>> > 96 | static int simple_pm_bus_runtime_resume(struct device *dev)
>> > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> > drivers/bus/simple-pm-bus.c:87:12: warning:
>> > 'simple_pm_bus_runtime_suspend' defined but not used [-Wunused-function]
>> > 87 | static int simple_pm_bus_runtime_suspend(struct device *dev)
>> > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> >
>> > Introduced by commit
>> >
>> > 882cf4c913d7 ("drivers: bus: simple-pm-bus: Use clocks")
>>
>> I see that this is caused by the patch using the old-style
>> SET_RUNTIME_PM_OPS/SET_NOIRQ_SYSTEM_SLEEP_PM_OPS macros
>> instead of the correct SYSTEM_SLEEP_PM_OPS/NOIRQ_SYSTEM_SLEEP_PM_OPS
>> versions.
>>
>
> You meant RUNTIME_PM_OPS/NOIRQ_SYSTEM_SLEEP_PM_OPS macros should be
> used, right?

Right, sorry for mixing up the runtime ones.

> Why not add __maybe_unused to the callbacks like below snippet instead?
> This way, the old-style macros may determine those callbacks are NULL
> or non-NULL according to CONFIG_PM_SLEEP and CONFIG_PM.

That was the old way of doing it before 1a3c7bb08826 ("PM: core: Add
new *_PM_OPS macros, deprecate old ones"), we are slowly moving to
the new ones instead to avoid having to add __maybe_unused annotations.

You may however want to use ".pm = pm_ptr(&simple_pm_bus_pm_ops)" if
you care about the space savings for configurations with CONFIG_PM
disabled.

Arnd