[<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