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

Andy Shevchenko andriy.shevchenko at intel.com
Wed Nov 19 07:42:59 PST 2025


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





More information about the linux-arm-kernel mailing list