All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paul Cercueil <paul@crapouillou.net>
To: Arnd Bergmann <arnd@arndb.de>
Cc: Jonathan Cameron <jic23@kernel.org>,
	linux-iio@vger.kernel.org, Lars-Peter Clausen <lars@metafoo.de>,
	Jonathan Cameron <Jonathan.Cameron@huawei.com>,
	Alexandre Belloni <alexandre.belloni@bootlin.com>,
	Anson Huang <anson.huang@nxp.com>,
	Brian Masney <masneyb@onstation.org>,
	Fabrice Gasnier <fabrice.gasnier@foss.st.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Heiko Stuebner <heiko.stuebner@theobroma-systems.com>,
	Icenowy Zheng <icenowy@aosc.io>,
	Jonathan Albrieux <jonathan.albrieux@gmail.com>,
	Krzysztof Kozlowski <krzk@kernel.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Luca Weiss <luca@z3ntu.xyz>,
	Ludovic Desroches <ludovic.desroches@microchip.com>,
	Manivannan Sadhasivam <mani@kernel.org>,
	Martijn Braam <martijn@brixit.nl>,
	Maslov Dmitry <maslovdmitry@seeed.cc>,
	Olivier Moysan <olivier.moysan@foss.st.com>,
	Stefan-Gabriel Mirea <stefan-gabriel.mirea@nxp.com>,
	Vaishnav M A <vaishnav@beagleboard.org>
Subject: Re: [PATCH 00/49] iio: Tree wide switch from CONFIG_PM* to __maybe_unused etc.
Date: Sun, 28 Nov 2021 12:30:41 +0000	[thread overview]
Message-ID: <538A3R.42M33QXSDK222@crapouillou.net> (raw)
In-Reply-To: <CAK8P3a2znndSzP8L+OS=uayC7sNoOEnp8bqM8bmUqk-ptMy62A@mail.gmail.com>

Hi,

Le dim., nov. 28 2021 at 10:26:40 +0100, Arnd Bergmann <arnd@arndb.de> 
a écrit :
> On Sat, Nov 27, 2021 at 7:02 PM Jonathan Cameron <jic23@kernel.org> 
> wrote:
>>  On Tue, 23 Nov 2021 22:11:08 +0000 Paul Cercueil 
>> <paul@crapouillou.net> wrote:
> ?
>>  > The problem then is that the SET_*_PM_OPS macros are defined
>>  > differently according to CONFIG_PM, so their definition would 
>> need to
>>  > be changed to use the (redefined) pm_ptr() macro and a 
>> corresponding
>>  > pm_sleep_ptr() macro.
>> 
>>  Small question here.  Why would these macros need to use pm_ptr() 
>> macro at all?
>> 
>>  Why not just stop them being conditional on CONFIG_PM at all and 
>> let dead
>>  code removal kill them off for us?  You might want to do something 
>> different
>>  for the CONFIG_PM_SLEEP ones though if we care about having it that 
>> fine
>>  grained.
> 
> Agreed, there is no need to use pm_ptr() inside of the new macros, it 
> would just
> be convenient to define them this way.

In that case all the callbacks of a dev_pm_ops will be compiled even 
though .suspend/.resume are only for CONFIG_PM_SLEEP.

The driver could do:
.dev.pm = pm_sleep_ptr(&my_pm_sleep_ops),

But that means the driver's dev needs to be aware that pm_sleep_ptr() 
is for simple PM, and pm_ptr() if runtime PM is used.

The alternative I suggested was to use pm_sleep_ptr() inside the 
SET_*_PM_OPS macros (and not pm_ptr() which wouldn't make much sense, I 
agree) so that the callbacks would be included only when 
CONFIG_PM_SLEEP is set; and the drivers would only ever use pm_ptr() 
for their .dev.pm.

I'm slightly in favor of the first solution, just because it would make 
the kernel smaller if !CONFIG_PM_SLEEP as you wouldn't have an empty 
dev_pm_ops struct.

Cheers,
-Paul



  reply	other threads:[~2021-11-28 12:33 UTC|newest]

Thread overview: 83+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-23 21:09 [PATCH 00/49] iio: Tree wide switch from CONFIG_PM* to __maybe_unused etc Jonathan Cameron
2021-11-23 21:09 ` [PATCH 01/49] iio:accel:da311: Switch from CONFIG_PM_SLEEP guards to pm_ptr() / __maybe_unused Jonathan Cameron
2021-11-23 21:09 ` [PATCH 02/49] iio:accel:da280: " Jonathan Cameron
2021-11-23 22:17   ` Paul Cercueil
2021-11-24  9:48     ` Jonathan Cameron
2021-11-23 21:09 ` [PATCH 03/49] iio:accel:dmard06: " Jonathan Cameron
2021-11-23 21:09 ` [PATCH 04/49] iio:accel:dmard10: Switch from CONFIG_PM " Jonathan Cameron
2021-11-23 21:09 ` [PATCH 05/49] iio:accel:mc3230: Switch from CONFIG_PM_SLEEP " Jonathan Cameron
2021-11-23 21:37   ` Hans de Goede
2021-11-23 21:09 ` [PATCH 06/49] iio:accel:mma7660: " Jonathan Cameron
2021-11-23 21:09 ` [PATCH 07/49] iio:accel:mma9551: Switch from CONFIG_PM " Jonathan Cameron
2021-11-23 21:09 ` [PATCH 08/49] iio:accel:mma9553: " Jonathan Cameron
2021-11-23 21:09 ` [PATCH 09/49] iio:accel:stk8ba50: Switch from CONFIG_PM_SLEEP " Jonathan Cameron
2021-11-23 21:09 ` [PATCH 10/49] iio:accel:kxsd9: Switch from CONFIG_PM " Jonathan Cameron
2021-11-23 21:09 ` [PATCH 11/49] iio:adc:ab8500: " Jonathan Cameron
2021-11-25 16:55   ` Linus Walleij
2021-11-23 21:09 ` [PATCH 12/49] iio:adc:ad7606: Switch from CONFIG_PM_SLEEP " Jonathan Cameron
2022-01-01 16:27   ` Jonathan Cameron
2021-11-23 21:09 ` [PATCH 13/49] iio:adc:at91-adc: " Jonathan Cameron
2021-11-24  9:16   ` Alexandre Belloni
2021-11-23 21:09 ` [PATCH 14/49] iio:adc:exynos_adc: " Jonathan Cameron
2021-11-25  8:50   ` Krzysztof Kozlowski
2021-11-23 21:09 ` [PATCH 15/49] iio:adc:palmas_gpadc: " Jonathan Cameron
2022-01-01 16:38   ` Jonathan Cameron
2021-11-23 21:09 ` [PATCH 16/49] iio:adc:stm32:Switch from CONFIG_PM " Jonathan Cameron
2021-11-24  9:33   ` Fabrice Gasnier
2021-11-23 21:09 ` [PATCH 17/49] iio:adc:rcar: Switch " Jonathan Cameron
2021-11-23 21:09 ` [PATCH 18/49] iio:adc:rockchip: Switch from CONFIG_PM_SLEEP " Jonathan Cameron
2021-11-23 21:09 ` [PATCH 19/49] iio:adc:twl6030: " Jonathan Cameron
2021-11-23 21:09 ` [PATCH 20/49] iio:adc:vf610: " Jonathan Cameron
2021-11-23 21:09 ` [PATCH 21/49] iio:common:ssp: " Jonathan Cameron
2021-11-23 21:09 ` [PATCH 22/49] iio:dac:vf610: " Jonathan Cameron
2021-11-23 21:09 ` [PATCH 23/49] iio:light:apds9300: " Jonathan Cameron
2021-11-23 21:09 ` [PATCH 24/49] iio:light:bh1780: Switch from CONFIG_PM " Jonathan Cameron
2021-11-25 16:56   ` Linus Walleij
2021-11-23 21:09 ` [PATCH 25/49] iio:light:cm3232: Switch from CONFIG_PM_SLEEP " Jonathan Cameron
2021-11-23 21:09 ` [PATCH 26/49] iio:light:isl29018: " Jonathan Cameron
2021-11-23 21:09 ` [PATCH 27/49] iio:light:isl29125: " Jonathan Cameron
2021-11-23 21:09 ` [PATCH 28/49] iio:light:jsa1212: " Jonathan Cameron
2021-11-23 21:09 ` [PATCH 29/49] iio:light:ltr501: " Jonathan Cameron
2021-11-23 21:10 ` [PATCH 30/49] iio:light:stk3310: " Jonathan Cameron
2021-11-23 21:10 ` [PATCH 31/49] iio:light:tcs3414: " Jonathan Cameron
2021-11-23 21:10 ` [PATCH 32/49] iio:light:tcs3472: " Jonathan Cameron
2021-11-23 21:10 ` [PATCH 33/49] iio:light:tsl2563: " Jonathan Cameron
2021-11-23 21:10 ` [PATCH 34/49] iio:light:tsl4531: " Jonathan Cameron
2021-11-23 21:10 ` [PATCH 35/49] iio:light:us5182: Switch from CONFIG_PM " Jonathan Cameron
2021-11-23 21:10 ` [PATCH 36/49] iio:magn:ak8975: " Jonathan Cameron
2021-11-23 22:24   ` Matt Ranostay
2021-11-23 21:10 ` [PATCH 37/49] iio:magn:hmc5843: Switch from CONFIG_PM_SLEEP " Jonathan Cameron
2022-01-01 17:40   ` Jonathan Cameron
2021-11-23 21:10 ` [PATCH 38/49] iio:magn:mag3110: " Jonathan Cameron
2021-11-23 21:10 ` [PATCH 39/49] iio:magn:mmc35240: " Jonathan Cameron
2021-11-23 21:10 ` [PATCH 40/49] iio:pressure:mpl3115: " Jonathan Cameron
2021-11-23 21:10 ` [PATCH 41/49] iio:pressure:bmp280: Switch from CONFIG_PM " Jonathan Cameron
2021-11-25 16:56   ` Linus Walleij
2022-01-01 17:50   ` Jonathan Cameron
2021-11-23 21:10 ` [PATCH 42/49] iio:proximity:as3935: Switch from CONFIG_PM_SLEEP " Jonathan Cameron
2021-11-23 22:23   ` Matt Ranostay
2021-11-23 21:10 ` [PATCH 43/49] iio:proximity:pulsedlight: Switch from CONFIG_PM " Jonathan Cameron
2021-11-23 22:22   ` Matt Ranostay
2021-11-28 16:44     ` Jonathan Cameron
2021-11-23 21:10 ` [PATCH 44/49] iio:proximity:rfd77492: Switch from CONFIG_PM_SLEEP " Jonathan Cameron
2021-11-23 21:10 ` [PATCH 45/49] iio:proximity:sx9500: " Jonathan Cameron
2021-11-23 21:10 ` [PATCH 46/49] iio:temperature:tmp006: " Jonathan Cameron
2021-11-23 21:10 ` [PATCH 47/49] iio:temperature:tmp007: " Jonathan Cameron
2021-11-23 21:10 ` [PATCH 48/49] iio:gyro:mpu3050: Switch from CONFIG_PM " Jonathan Cameron
2021-11-25 16:56   ` Linus Walleij
2022-01-01 18:00   ` Jonathan Cameron
2021-11-23 21:10 ` [PATCH 49/49] iio:chemical:atlas: " Jonathan Cameron
2021-11-23 22:22   ` Matt Ranostay
2021-11-23 22:11 ` [PATCH 00/49] iio: Tree wide switch from CONFIG_PM* to __maybe_unused etc Paul Cercueil
2021-11-24  7:29   ` Arnd Bergmann
2021-11-24 10:11     ` Jonathan Cameron
2021-11-24 10:58       ` Paul Cercueil
2021-11-24 12:23       ` Arnd Bergmann
2021-11-24 15:10         ` Paul Cercueil
2021-11-27 18:09           ` Jonathan Cameron
2021-11-28  9:17             ` Arnd Bergmann
2021-11-28 12:44               ` Paul Cercueil
2021-11-27 18:02   ` Jonathan Cameron
2021-11-28  9:26     ` Arnd Bergmann
2021-11-28 12:30       ` Paul Cercueil [this message]
2021-11-24  0:58 ` Brian Masney

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=538A3R.42M33QXSDK222@crapouillou.net \
    --to=paul@crapouillou.net \
    --cc=Jonathan.Cameron@huawei.com \
    --cc=alexandre.belloni@bootlin.com \
    --cc=anson.huang@nxp.com \
    --cc=arnd@arndb.de \
    --cc=fabrice.gasnier@foss.st.com \
    --cc=hdegoede@redhat.com \
    --cc=heiko.stuebner@theobroma-systems.com \
    --cc=icenowy@aosc.io \
    --cc=jic23@kernel.org \
    --cc=jonathan.albrieux@gmail.com \
    --cc=krzk@kernel.org \
    --cc=lars@metafoo.de \
    --cc=linus.walleij@linaro.org \
    --cc=linux-iio@vger.kernel.org \
    --cc=luca@z3ntu.xyz \
    --cc=ludovic.desroches@microchip.com \
    --cc=mani@kernel.org \
    --cc=martijn@brixit.nl \
    --cc=maslovdmitry@seeed.cc \
    --cc=masneyb@onstation.org \
    --cc=olivier.moysan@foss.st.com \
    --cc=stefan-gabriel.mirea@nxp.com \
    --cc=vaishnav@beagleboard.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.