All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Cameron <Jonathan.Cameron@Huawei.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: Paul Cercueil <paul@crapouillou.net>,
	Jonathan Cameron <jic23@kernel.org>, <linux-iio@vger.kernel.org>,
	Lars-Peter Clausen <lars@metafoo.de>,
	"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: Wed, 24 Nov 2021 10:11:13 +0000	[thread overview]
Message-ID: <20211124101113.000033c6@Huawei.com> (raw)
In-Reply-To: <CAK8P3a3qs8fb1cMLu9WsFQmtff05zrpfmV--QZQta4_-Nt=MpA@mail.gmail.com>

On Wed, 24 Nov 2021 08:29:40 +0100
Arnd Bergmann <arnd@arndb.de> wrote:

> On Tue, Nov 23, 2021 at 11:11 PM Paul Cercueil <paul@crapouillou.net> wrote:
> >
> > One word about the pm_ptr() macro. Right now it's defined as:
> >   #ifdef CONFIG_PM
> >   #define pm_ptr(_ptr) (_ptr)
> >   #else
> >   #define pm_ptr(_ptr) NULL
> >   #endif
> >
> > It could be possible to define it like this instead:
> >   #define pm_ptr(_ptr) PTR_IF(IS_ENABLED(CONFIG_PM), (_ptr))
> >
> > The difference is that if !CONFIG_PM, in the first case the (_ptr) is
> > not visible by the compiler and the __maybe_unused is required, while
> > in the second case the (_ptr) is always visible by the compiler, but
> > discarded as dead code. The reason we'd want that is the same reason we
> > use IS_ENABLED() instead of macro guards; and you wouldn't need the
> > __maybe_unused attribute anywhere.  
> 
> That sounds like a great idea. I see there are only 12 users of pm_ptr at
> the moment, so auditing all of these should not be a problem.
> 
> I gave it a brief look and found that we probably only need to fix
> drivers/net/ethernet/realtek/r8169_main.c if we change the definition.

Cool.  

> 
> > 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. Unfortunately since the SET_*_PM_OPS macros are
> > used everywhere with code wrapped around #ifdef CONFIG_PM guards, it
> > wouldn't be easy to change them, and it would just be easier to
> > introduce new macros.  
> 
> Right, this is what we've discussed multiple times, and I think everyone
> agreed we should do this, but so far we could not come up with a name
> for the new macro, and changing the macro in place is not practical unless
> we change hundreds of drivers in the same way as the iio series first.

Nasty indeed and I'm not sure how scriptable either as lots of subtle variants
unfortunately.

I'm cynical - don't need a good name.  *_OPS2 works fine for me as long as
the docs are good. 

Jonathan

> 
>        Arnd


  reply	other threads:[~2021-11-24 10:11 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 [this message]
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
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=20211124101113.000033c6@Huawei.com \
    --to=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=paul@crapouillou.net \
    --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.