[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <7U5Z7R.RNKITPUWCPX32@crapouillou.net>
Date: Sun, 27 Feb 2022 17:56:31 +0000
From: Paul Cercueil <paul@...pouillou.net>
To: Arnd Bergmann <arnd@...db.de>
Cc: Randy Dunlap <rdunlap@...radead.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Wei WANG <wei_wang@...lsil.com.cn>,
Kai-Heng Feng <kai.heng.feng@...onical.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
"Rafael J. Wysocki" <rafael.j.wysocki@...el.com>,
Jonathan Cameron <Jonathan.Cameron@...wei.com>
Subject: Re: [PATCH -next] misc: rtsx: fix build for CONFIG_PM not set
Le dim., févr. 27 2022 at 18:51:38 +0100, Arnd Bergmann
<arnd@...db.de> a écrit :
> On Sun, Feb 27, 2022 at 6:46 PM Paul Cercueil <paul@...pouillou.net>
> wrote:
>> Le dim., févr. 27 2022 at 18:30:16 +0100, Arnd Bergmann
>>
>> There could be a DEFINE_DEV_PM_OPS(), but I don't think that's
>> really
>> needed - you can very well declare your struct dev_pm_ops without
>> using
>> one of these macros. Just make sure to use the SYSTEM_SLEEP_PM_OPS /
>> RUNTIME_PM_OPS macros for the callbacks and pm_ptr() for the
>> device.pm
>> pointer.
>
> Ah, of course, so it comes down to
> s/SET_SYSTEM_SLEEP_PM_OPS/SYSTEM_SLEEP_PM_OPS/ while
> removing all the #ifdef an __maybe_unused annotations. The pm_ptr()
> in driver.pm makes this slightly more optimized AFAICT, but has no
> effect on behavior, right?
The use of SYSTEM_SLEEP_PM_OPS makes sure that the callbacks are
dropped if the dev_pm_ops is dead code, and the pm_ptr() must be used
for the compiler to know that the dev_pm_ops is dead code.
-Paul
Powered by blists - more mailing lists