[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