Re: [PATCH v3 01/15] gpio: dwapb: Use modern PM macros

From: Andy Shevchenko

Date: Wed Nov 19 2025 - 10:43:07 EST


On Wed, Nov 19, 2025 at 10:43:13PM +0800, Jisheng Zhang wrote:
> 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.

...

> -#ifdef CONFIG_PM_SLEEP
> /* Store GPIO context across system-wide suspend/resume transitions */
> struct dwapb_context {
> u32 data;

> u32 int_deb;
> u32 wake_en;
> };
> -#endif

This ifdeffery is to protect the type definition? It may be removed for sure.

...

> struct dwapb_gpio_port_irqchip {
> unsigned int nr_irqs;

> struct gpio_generic_chip chip;
> struct dwapb_gpio_port_irqchip *pirq;
> struct dwapb_gpio *gpio;
> -#ifdef CONFIG_PM_SLEEP
> struct dwapb_context *ctx;
> -#endif

But why this? For the PM_SLEEP=n cases it will give an unrequested overhead.

> unsigned int idx;
> };

Otherwise LGTM.

--
With Best Regards,
Andy Shevchenko