lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Sun, 27 Feb 2022 17:46:12 +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

Hi,

Le dim., févr. 27 2022 at 18:30:16 +0100, Arnd Bergmann 
<arnd@...db.de> a écrit :
> On Sun, Feb 27, 2022 at 5:57 PM Randy Dunlap <rdunlap@...radead.org> 
> wrote:
>>  On 2/27/22 04:04, Arnd Bergmann wrote:
>>  > On Sat, Feb 26, 2022 at 11:24 PM Randy Dunlap 
>> <rdunlap@...radead.org> wrote:
>>  >
>>  >> ---
>>  >>  drivers/misc/cardreader/rtsx_pcr.c |    2 ++
>>  >>  1 file changed, 2 insertions(+)
>>  >>
>>  >> --- linux-next-20220225.orig/drivers/misc/cardreader/rtsx_pcr.c
>>  >> +++ linux-next-20220225/drivers/misc/cardreader/rtsx_pcr.c
>>  >> @@ -1054,6 +1054,7 @@ static int rtsx_pci_acquire_irq(struct r
>>  >>         return 0;
>>  >>  }
>>  >>
>>  >> +#ifdef CONFIG_PM
>>  >>  static void rtsx_enable_aspm(struct rtsx_pcr *pcr)
>>  >>  {
>>  >>         if (pcr->ops->set_aspm)
>>  >> @@ -1085,6 +1086,7 @@ static void rtsx_pm_power_saving(struct
>>  >>  {
>>  >>         rtsx_comm_pm_power_saving(pcr);
>>  >>  }
>>  >> +#endif
>>  >
>>  > Now that we have DEFINE_SIMPLE_DEV_PM_OPS() etc, I think we should
>>  > no longer add more __maybe_unused annotations or #ifdef CONFIG_PM 
>> checks
>>  > but just use the new macros for any new files or whenever a 
>> warning like
>>  > this shows up.
>> 
>>  In this case it looks like DEFINE_RUNTIME_DEV_PM_OPS() is better.
>>  Using DEFINE_SIMPLE_DEV_PM_OPS() still produces build 
>> warnings/errors
>>  for unused functions. And I do see 4 drivers that are already using
>>  DEFINE_RUNTIME_DEV_PM_OPS().
>> 
>>  Patch coming right up.
> 
> DEFINE_RUNTIME_DEV_PM_OPS() only references the three runtime 
> functions
> (rtsx_pci_runtime_suspend, rtsx_pci_runtime_resume and 
> rtsx_pci_runtime_idle)
> but not the pm-sleep functions (rtsx_pci_suspend and 
> rtsx_pci_resume), so your
> second patch doesn't look correct either.
> 
> I see there is a _DEFINE_DEV_PM_OPS() helper that appears to do
> what we want here, but I'm not sure this is considered an official 
> API. Adding
> Rafael, Paul and Jonathan to Cc for extra input. As the macros are 
> still
> fairly new, I suspect the idea was to add more as needed, so maybe 
> should
> add a DEFINE_DEV_PM_OPS() to wrap _DEFINE_DEV_PM_OPS()?


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.

Cheers,
-Paul


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ