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 v4 01/15] gpio: dwapb: Use modern PM macros
Date: Thu, 20 Nov 2025 00:33:13 +0800 [thread overview]
Message-ID: <20251119163327.16306-2-jszhang@kernel.org> (raw)
In-Reply-To: <20251119163327.16306-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 16:51 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-19 16:33 [PATCH v4 00/15] gpio: Use modern PM macros Jisheng Zhang
2025-11-19 16:33 ` Jisheng Zhang [this message]
2025-11-19 16:33 ` [PATCH v4 02/15] gpio: brcmstb: " Jisheng Zhang
2025-11-19 17:45 ` Andy Shevchenko
2025-11-20 0:28 ` Jisheng Zhang
2025-11-20 7:02 ` Andy Shevchenko
2025-11-19 16:33 ` [PATCH v4 03/15] gpio: htc-egpio: " Jisheng Zhang
2025-11-19 16:33 ` [PATCH v4 04/15] gpio: pl061: " Jisheng Zhang
2025-11-19 16:33 ` [PATCH v4 05/15] gpio: pxa: " Jisheng Zhang
2025-11-19 17:41 ` Andy Shevchenko
2025-11-20 0:24 ` Jisheng Zhang
2025-11-20 7:01 ` Andy Shevchenko
2025-11-19 16:33 ` [PATCH v4 06/15] gpio: ml-ioh: " Jisheng Zhang
2025-11-19 16:33 ` [PATCH v4 07/15] gpio: mlxbf2: " Jisheng Zhang
2025-11-19 16:33 ` [PATCH v4 08/15] gpio: msc313: " Jisheng Zhang
2025-11-19 16:33 ` [PATCH v4 09/15] gpio: omap: " Jisheng Zhang
2025-11-19 16:33 ` [PATCH v4 10/15] gpio: pch: " Jisheng Zhang
2025-11-19 16:33 ` [PATCH v4 11/15] gpio: tqmx86: " Jisheng Zhang
2025-11-19 17:19 ` Andy Shevchenko
2025-11-20 0:10 ` Jisheng Zhang
2025-11-19 16:33 ` [PATCH v4 12/15] gpio: uniphier: " Jisheng Zhang
2025-11-19 16:33 ` [PATCH v4 13/15] gpio: xgene: " Jisheng Zhang
2025-11-19 16:33 ` [PATCH v4 14/15] gpio: xilinx: " Jisheng Zhang
2025-11-19 16:33 ` [PATCH v4 15/15] gpio: zynq: " Jisheng Zhang
2025-11-19 16:52 ` [PATCH v4 00/15] gpio: " Bartosz Golaszewski
2025-11-19 17:47 ` 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=20251119163327.16306-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 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.