From: Jisheng Zhang <jszhang@kernel.org>
To: Doug Berger <opendmb@gmail.com>,
Florian Fainelli <florian.fainelli@broadcom.com>,
bcm-kernel-feedback-list@broadcom.com,
Linus Walleij <linus.walleij@linaro.org>,
Bartosz Golaszewski <brgl@bgdev.pl>,
Hoan Tran <hoan@os.amperecomputing.com>,
Andy Shevchenko <andy@kernel.org>,
Daniel Palmer <daniel@thingy.jp>,
Romain Perier <romain.perier@gmail.com>,
Grygorii Strashko <grygorii.strashko@ti.com>,
Santosh Shilimkar <ssantosh@kernel.org>,
Kevin Hilman <khilman@kernel.org>,
Robert Jarzmik <robert.jarzmik@free.fr>,
Kunihiko Hayashi <hayashi.kunihiko@socionext.com>,
Masami Hiramatsu <mhiramat@kernel.org>,
Shubhrajyoti Datta <shubhrajyoti.datta@amd.com>,
Srinivas Neeli <srinivas.neeli@amd.com>,
Michal Simek <michal.simek@amd.com>
Cc: linux-gpio@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org
Subject: [PATCH v3 01/15] gpio: dwapb: Use modern PM macros
Date: Wed, 19 Nov 2025 22:43:13 +0800 [thread overview]
Message-ID: <20251119144327.13345-2-jszhang@kernel.org> (raw)
In-Reply-To: <20251119144327.13345-1-jszhang@kernel.org>
Use the modern PM macros for the suspend and resume functions to be
automatically dropped by the compiler when CONFIG_PM or
CONFIG_PM_SLEEP are disabled, without having to use #ifdef guards.
This has the advantage of always compiling these functions in,
independently of any Kconfig option. Thanks to that, bugs and other
regressions are subsequently easier to catch.
Signed-off-by: Jisheng Zhang <jszhang@kernel.org>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
---
drivers/gpio/gpio-dwapb.c | 18 ++++--------------
1 file changed, 4 insertions(+), 14 deletions(-)
diff --git a/drivers/gpio/gpio-dwapb.c b/drivers/gpio/gpio-dwapb.c
index b42ff46d292b..4986c465c9a8 100644
--- a/drivers/gpio/gpio-dwapb.c
+++ b/drivers/gpio/gpio-dwapb.c
@@ -79,7 +79,6 @@ struct dwapb_platform_data {
unsigned int nports;
};
-#ifdef CONFIG_PM_SLEEP
/* Store GPIO context across system-wide suspend/resume transitions */
struct dwapb_context {
u32 data;
@@ -92,7 +91,6 @@ struct dwapb_context {
u32 int_deb;
u32 wake_en;
};
-#endif
struct dwapb_gpio_port_irqchip {
unsigned int nr_irqs;
@@ -103,9 +101,7 @@ struct dwapb_gpio_port {
struct gpio_generic_chip chip;
struct dwapb_gpio_port_irqchip *pirq;
struct dwapb_gpio *gpio;
-#ifdef CONFIG_PM_SLEEP
struct dwapb_context *ctx;
-#endif
unsigned int idx;
};
@@ -363,7 +359,6 @@ static int dwapb_irq_set_type(struct irq_data *d, u32 type)
return 0;
}
-#ifdef CONFIG_PM_SLEEP
static int dwapb_irq_set_wake(struct irq_data *d, unsigned int enable)
{
struct gpio_chip *gc = irq_data_get_irq_chip_data(d);
@@ -378,9 +373,6 @@ static int dwapb_irq_set_wake(struct irq_data *d, unsigned int enable)
return 0;
}
-#else
-#define dwapb_irq_set_wake NULL
-#endif
static const struct irq_chip dwapb_irq_chip = {
.name = DWAPB_DRIVER_NAME,
@@ -390,7 +382,7 @@ static const struct irq_chip dwapb_irq_chip = {
.irq_set_type = dwapb_irq_set_type,
.irq_enable = dwapb_irq_enable,
.irq_disable = dwapb_irq_disable,
- .irq_set_wake = dwapb_irq_set_wake,
+ .irq_set_wake = pm_sleep_ptr(dwapb_irq_set_wake),
.flags = IRQCHIP_IMMUTABLE,
GPIOCHIP_IRQ_RESOURCE_HELPERS,
};
@@ -759,7 +751,6 @@ static int dwapb_gpio_probe(struct platform_device *pdev)
return 0;
}
-#ifdef CONFIG_PM_SLEEP
static int dwapb_gpio_suspend(struct device *dev)
{
struct dwapb_gpio *gpio = dev_get_drvdata(dev);
@@ -844,15 +835,14 @@ static int dwapb_gpio_resume(struct device *dev)
return 0;
}
-#endif
-static SIMPLE_DEV_PM_OPS(dwapb_gpio_pm_ops, dwapb_gpio_suspend,
- dwapb_gpio_resume);
+static DEFINE_SIMPLE_DEV_PM_OPS(dwapb_gpio_pm_ops,
+ dwapb_gpio_suspend, dwapb_gpio_resume);
static struct platform_driver dwapb_gpio_driver = {
.driver = {
.name = DWAPB_DRIVER_NAME,
- .pm = &dwapb_gpio_pm_ops,
+ .pm = pm_sleep_ptr(&dwapb_gpio_pm_ops),
.of_match_table = dwapb_of_match,
.acpi_match_table = dwapb_acpi_match,
},
--
2.51.0
next prev parent reply other threads:[~2025-11-19 15:01 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-19 14:43 [PATCH v3 00/15] gpio: Use modern PM macros Jisheng Zhang
2025-11-19 14:43 ` Jisheng Zhang [this message]
2025-11-19 15:42 ` [PATCH v3 01/15] gpio: dwapb: " Andy Shevchenko
2025-11-19 15:51 ` Jisheng Zhang
2025-11-19 16:11 ` Andy Shevchenko
2025-11-19 16:04 ` Jisheng Zhang
2025-11-19 16:27 ` Andy Shevchenko
2025-11-19 14:43 ` [PATCH v3 02/15] gpio: brcmstb: " Jisheng Zhang
2025-11-19 14:43 ` [PATCH v3 03/15] gpio: htc-egpio: " Jisheng Zhang
2025-11-19 14:43 ` [PATCH v3 04/15] gpio: pl061: " Jisheng Zhang
2025-11-19 15:50 ` Andy Shevchenko
2025-11-19 14:43 ` [PATCH v3 05/15] gpio: pxa: " Jisheng Zhang
2025-11-19 15:47 ` Andy Shevchenko
2025-11-19 15:58 ` Jisheng Zhang
2025-11-19 16:25 ` Andy Shevchenko
2025-11-19 14:43 ` [PATCH v3 06/15] gpio: ml-ioh: " Jisheng Zhang
2025-11-19 14:43 ` [PATCH v3 07/15] gpio: mlxbf2: " Jisheng Zhang
2025-11-19 14:43 ` [PATCH v3 08/15] gpio: msc313: " Jisheng Zhang
2025-11-19 14:43 ` [PATCH v3 09/15] gpio: omap: " Jisheng Zhang
2025-11-19 14:43 ` [PATCH v3 10/15] gpio: pch: " Jisheng Zhang
2025-11-19 14:43 ` [PATCH v3 11/15] gpio: tqmx86: " Jisheng Zhang
2025-11-19 14:43 ` [PATCH v3 12/15] gpio: uniphier: " Jisheng Zhang
2025-11-19 14:43 ` [PATCH v3 13/15] gpio: xgene: " Jisheng Zhang
2025-11-19 14:43 ` [PATCH v3 14/15] gpio: xilinx: " Jisheng Zhang
2025-11-19 14:43 ` [PATCH v3 15/15] gpio: zynq: " Jisheng Zhang
2025-11-19 15:52 ` [PATCH v3 00/15] gpio: " Andy Shevchenko
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=20251119144327.13345-2-jszhang@kernel.org \
--to=jszhang@kernel.org \
--cc=andy@kernel.org \
--cc=bcm-kernel-feedback-list@broadcom.com \
--cc=brgl@bgdev.pl \
--cc=daniel@thingy.jp \
--cc=florian.fainelli@broadcom.com \
--cc=grygorii.strashko@ti.com \
--cc=hayashi.kunihiko@socionext.com \
--cc=hoan@os.amperecomputing.com \
--cc=khilman@kernel.org \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=mhiramat@kernel.org \
--cc=michal.simek@amd.com \
--cc=opendmb@gmail.com \
--cc=robert.jarzmik@free.fr \
--cc=romain.perier@gmail.com \
--cc=shubhrajyoti.datta@amd.com \
--cc=srinivas.neeli@amd.com \
--cc=ssantosh@kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).