From: Niklas Cassel <cassel@kernel.org>
To: Damien Le Moal <dlemoal@kernel.org>
Cc: Raphael Gallais-Pou <rgallaispou@gmail.com>,
Patrice Chotard <patrice.chotard@foss.st.com>,
linux-arm-kernel@lists.infradead.org, linux-ide@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2] ahci: st: Switch from CONFIG_PM_SLEEP guards to pm_sleep_ptr()
Date: Fri, 10 Jan 2025 12:23:21 +0100 [thread overview]
Message-ID: <Z4EDKUb+hO0ovV2i@x1-carbon> (raw)
In-Reply-To: <07a7177d-7705-4eb5-a11e-02a9429ffac2@kernel.org>
On Fri, Jan 10, 2025 at 02:19:06PM +0900, Damien Le Moal wrote:
> On 1/10/25 02:54, Raphael Gallais-Pou wrote:
> > Letting the compiler remove these functions when the kernel is built
> > without CONFIG_PM_SLEEP support is simpler and less error prone than the
> > use of #ifdef based kernel configuration guards.
> >
> > Signed-off-by: Raphael Gallais-Pou <rgallaispou@gmail.com>
> > ---
> > Changes in v2:
> > - Split serie in single patches
> > - Remove irrelevant 'Link:' from commit log
> > - Link to v1: https://lore.kernel.org/r/20241229-update_pm_macro-v1-4-c7d4c4856336@gmail.com
> > ---
> > drivers/ata/ahci_st.c | 6 ++----
> > 1 file changed, 2 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/ata/ahci_st.c b/drivers/ata/ahci_st.c
> > index 6b9b4a1dfa15..4336c8a6e208 100644
> > --- a/drivers/ata/ahci_st.c
> > +++ b/drivers/ata/ahci_st.c
> > @@ -176,7 +176,6 @@ static int st_ahci_probe(struct platform_device *pdev)
> > return 0;
> > }
> >
> > -#ifdef CONFIG_PM_SLEEP
> > static int st_ahci_suspend(struct device *dev)
> > {
> > struct ata_host *host = dev_get_drvdata(dev);
> > @@ -221,9 +220,8 @@ static int st_ahci_resume(struct device *dev)
> >
> > return ahci_platform_resume_host(dev);
> > }
> > -#endif
>
> I do not think you can remove the ifdef here. Otherwise, there is going to be a
> compilation warning when CONFIG_PM_SLEEP is not enabled. No ?
Look at the pm_sleep_ptr macro:
include/linux/pm.h:#define pm_sleep_ptr(_ptr) PTR_IF(IS_ENABLED(CONFIG_PM_SLEEP), (_ptr))
I would expect the function should be optimized out by the compiler
using dead code elimination.
Raphael, perhaps you could show the before and after output
using ./scripts/bloat-o-meter ?
(When the config is not enabled: before and after your patch.)
>
> >
> > -static SIMPLE_DEV_PM_OPS(st_ahci_pm_ops, st_ahci_suspend, st_ahci_resume);
> > +static DEFINE_SIMPLE_DEV_PM_OPS(st_ahci_pm_ops, st_ahci_suspend, st_ahci_resume);
> >
> > static const struct of_device_id st_ahci_match[] = {
> > { .compatible = "st,ahci", },
> > @@ -234,7 +232,7 @@ MODULE_DEVICE_TABLE(of, st_ahci_match);
> > static struct platform_driver st_ahci_driver = {
> > .driver = {
> > .name = DRV_NAME,
> > - .pm = &st_ahci_pm_ops,
> > + .pm = pm_sleep_ptr(&st_ahci_pm_ops),
> > .of_match_table = st_ahci_match,
> > },
> > .probe = st_ahci_probe,
>
>
> --
> Damien Le Moal
> Western Digital Research
next prev parent reply other threads:[~2025-01-10 11:24 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-09 17:54 [PATCH v2] ahci: st: Switch from CONFIG_PM_SLEEP guards to pm_sleep_ptr() Raphael Gallais-Pou
2025-01-10 5:19 ` Damien Le Moal
2025-01-10 11:23 ` Niklas Cassel [this message]
2025-01-10 12:02 ` Damien Le Moal
2025-01-13 20:28 ` Raphaël Gallais-Pou
2025-01-14 0:59 ` Damien Le Moal
2025-01-15 8:28 ` Raphaël Gallais-Pou
2025-01-15 10:44 ` Niklas Cassel
2025-01-10 11:20 ` Niklas Cassel
2025-01-15 14:23 ` Niklas Cassel
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=Z4EDKUb+hO0ovV2i@x1-carbon \
--to=cassel@kernel.org \
--cc=dlemoal@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-ide@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=patrice.chotard@foss.st.com \
--cc=rgallaispou@gmail.com \
/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.