From: Jonathan Cameron <Jonathan.Cameron@Huawei.com>
To: Paul Cercueil <paul@crapouillou.net>
Cc: "Rafael J . Wysocki" <rafael@kernel.org>,
Ulf Hansson <ulf.hansson@linaro.org>,
Jonathan Cameron <jic23@kernel.org>,
"Lars-Peter Clausen" <lars@metafoo.de>,
Linus Walleij <linus.walleij@linaro.org>,
"Arnd Bergmann" <arnd@arndb.de>, Len Brown <len.brown@intel.com>,
Pavel Machek <pavel@ucw.cz>, <list@opendingux.net>,
<linux-iio@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<linux-mips@vger.kernel.org>, <linux-mmc@vger.kernel.org>,
<linux-pm@vger.kernel.org>
Subject: Re: [PATCH 0/8] DEV_PM_OPS macros rework
Date: Wed, 5 Jan 2022 10:17:37 +0000 [thread overview]
Message-ID: <20220105101737.00000957@Huawei.com> (raw)
In-Reply-To: <20220104214214.198843-1-paul@crapouillou.net>
On Tue, 4 Jan 2022 21:42:06 +0000
Paul Cercueil <paul@crapouillou.net> wrote:
> Hi,
>
> This set of commits rework a bit the *_DEV_PM_OPS() macros that were
> introduced recently.
>
> - Remove the DEFINE_UNIVERSAL_DEV_PM_OPS() macro, since I highly doubt
> anything is going to use it. The macro it replaces
> (UNIVERSAL_DEV_PM_OPS) seems to only be used incorrectly in code that
> hasn't been updated in ages.
>
> - Remove the static qualifier in DEFINE_SIMPLE_DEV_PM_OPS, so that the
> macro is more in line with what's done elsewhere in the kernel.
>
> - Add a DEFINE_RUNTIME_DEV_PM_OPS() macro, for use with drivers that use
> runtime PM, and use runtime_pm_force_suspend/runtime_pm_force_resume
> as their system sleep callbacks.
>
> - Add EXPORT_*_DEV_PM_OPS macros, which can be used for when the
> underlying dev_pm_ops is to be exported. With CONFIG_PM set, the
> symbol is exported as you would expect. With CONFIG_PM disabled, the
> dev_pm_ops is garbage-collected along with the suspend/resume
> callbacks.
>
> - Update the two places which used DEFINE_SIMPLE_DEV_PM_OPS, to add back
> the "static" qualifier that was stripped from the macro.
>
> - Update one driver to use EXPORT_RUNTIME_DEV_PM_OPS(), just to showcase
> how to use this macro in the case where a dev_pm_ops is to be
> exported.
> Note that the driver itself is GPL, and the symbol is only used within
> a GPL driver, so I would assume the symbol would be exported as GPL.
> But it was not the case in the original code, so I did not change the
> behaviour.
>
> Feedback welcome.
Comments on individual patches (in particular bad pick for that final example ;)
Given how late we are in the cycle, I'd argue we 'need' patches 2 (+ 5,6 which
should probably be all one patch to avoid introducing then fixing a warning in
different patches). The others could wait for the following cycle if needed.
It would slow down a few patches I have queued up behind this, but most of them
would be unaffected so it wouldn't annoy me too much. Can't speak for others
however!
Jonathan
>
> Cheers,
> -Paul
>
>
> Paul Cercueil (8):
> PM: core: Remove DEFINE_UNIVERSAL_DEV_PM_OPS() macro
> PM: core: Remove static qualifier in DEFINE_SIMPLE_DEV_PM_OPS macro
> PM: core: Add EXPORT[_GPL]_SIMPLE_DEV_PM_OPS macros
> PM: runtime: Add DEFINE_RUNTIME_DEV_PM_OPS() macro
> PM: runtime: Add EXPORT[_GPL]_RUNTIME_DEV_PM_OPS macros
> mmc: mxc: Make dev_pm_ops struct static
> mmc: jz4740: Make dev_pm_ops struct static
> iio: gyro: mpu3050: Use new PM macros
>
> drivers/iio/gyro/mpu3050-core.c | 13 +++-----
> drivers/iio/gyro/mpu3050-i2c.c | 2 +-
> drivers/mmc/host/jz4740_mmc.c | 4 +--
> drivers/mmc/host/mxcmmc.c | 2 +-
> include/linux/pm.h | 53 +++++++++++++++++++++++----------
> include/linux/pm_runtime.h | 21 +++++++++++++
> 6 files changed, 67 insertions(+), 28 deletions(-)
>
next prev parent reply other threads:[~2022-01-05 10:17 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-04 21:42 [PATCH 0/8] DEV_PM_OPS macros rework Paul Cercueil
2022-01-04 21:42 ` [PATCH 1/8] PM: core: Remove DEFINE_UNIVERSAL_DEV_PM_OPS() macro Paul Cercueil
2022-01-05 9:52 ` Jonathan Cameron
2022-01-04 21:42 ` [PATCH 2/8] PM: core: Remove static qualifier in DEFINE_SIMPLE_DEV_PM_OPS macro Paul Cercueil
2022-01-05 9:54 ` Jonathan Cameron
2022-01-04 21:42 ` [PATCH 3/8] PM: core: Add EXPORT[_GPL]_SIMPLE_DEV_PM_OPS macros Paul Cercueil
2022-01-05 10:03 ` Jonathan Cameron
2022-01-05 10:15 ` Paul Cercueil
2022-01-05 10:48 ` Jonathan Cameron
2022-01-04 21:42 ` [PATCH 4/8] PM: runtime: Add DEFINE_RUNTIME_DEV_PM_OPS() macro Paul Cercueil
2022-01-05 10:05 ` Jonathan Cameron
2022-01-04 21:42 ` [PATCH 5/8] PM: runtime: Add EXPORT[_GPL]_RUNTIME_DEV_PM_OPS macros Paul Cercueil
2022-01-05 10:07 ` Jonathan Cameron
2022-01-05 10:49 ` Jonathan Cameron
2022-01-04 21:42 ` [PATCH 6/8] mmc: mxc: Make dev_pm_ops struct static Paul Cercueil
2022-01-05 10:12 ` Jonathan Cameron
2022-01-04 21:42 ` [PATCH 7/8] mmc: jz4740: " Paul Cercueil
2022-01-05 10:12 ` Jonathan Cameron
2022-01-04 21:42 ` [PATCH 8/8] iio: gyro: mpu3050: Use new PM macros Paul Cercueil
2022-01-05 10:11 ` Jonathan Cameron
2022-01-05 10:17 ` Paul Cercueil
2022-01-05 10:17 ` Jonathan Cameron [this message]
2022-01-05 16:32 ` [PATCH 0/8] DEV_PM_OPS macros rework Paul Cercueil
2022-01-05 17:37 ` Rafael J. Wysocki
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=20220105101737.00000957@Huawei.com \
--to=jonathan.cameron@huawei.com \
--cc=arnd@arndb.de \
--cc=jic23@kernel.org \
--cc=lars@metafoo.de \
--cc=len.brown@intel.com \
--cc=linus.walleij@linaro.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@vger.kernel.org \
--cc=linux-mmc@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=list@opendingux.net \
--cc=paul@crapouillou.net \
--cc=pavel@ucw.cz \
--cc=rafael@kernel.org \
--cc=ulf.hansson@linaro.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.