[PATCH 00/16] gpio: Use modern PM macros

Jisheng Zhang posted 16 patches 1 month, 2 weeks ago
drivers/gpio/gpio-brcmstb.c   | 12 +++---------
drivers/gpio/gpio-bt8xx.c     | 11 ++---------
drivers/gpio/gpio-dwapb.c     | 31 +++++++------------------------
drivers/gpio/gpio-htc-egpio.c | 21 ++++++++-------------
drivers/gpio/gpio-ml-ioh.c    | 12 ++++++------
drivers/gpio/gpio-mlxbf2.c    |  8 ++++----
drivers/gpio/gpio-msc313.c    |  8 ++++----
drivers/gpio/gpio-omap.c      | 15 +++++++--------
drivers/gpio/gpio-pch.c       | 12 ++++++------
drivers/gpio/gpio-pl061.c     | 17 ++---------------
drivers/gpio/gpio-pxa.c       | 12 ++----------
drivers/gpio/gpio-tqmx86.c    |  9 ++++-----
drivers/gpio/gpio-uniphier.c  |  9 ++++-----
drivers/gpio/gpio-xgene.c     |  8 ++++----
drivers/gpio/gpio-xilinx.c    | 15 +++++++--------
drivers/gpio/gpio-zynq.c      | 15 +++++++--------
16 files changed, 77 insertions(+), 138 deletions(-)
[PATCH 00/16] gpio: Use modern PM macros
Posted by Jisheng Zhang 1 month, 2 weeks ago
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 or
__maybe_unused.

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.

Almost all drivers are converted, only gpio-tegra and gpio-mlxbf are
left as is, because the memory for saving HW context is not trivial,
if we convert them, then the two drivers' users may complain for
!CONFIG_PM && !CONFIG_PM_SLEEP case. So I didn't touch them.

patch to gpio-dwapb.c is tested on real HW, others are compile-tested only.

Jisheng Zhang (16):
  gpio: dwapb: Use modern PM macros
  gpio: brcmstb: Use modern PM macros
  gpio: bt8xx: Use modern PM macros
  gpio: htc-egpio: Use modern PM macros
  gpio: pl061: Use modern PM macros
  gpio: pxa: Use modern PM macros
  gpio: ml-ioh: Use modern PM macros
  gpio: mlxbf2: Use modern PM macros
  gpio: msc313: Use modern PM macros
  gpio: omap: Use modern PM macros
  gpio: pch: Use modern PM macros
  gpio: tqmx86: Use modern PM macros
  gpio: uniphier: Use modern PM macros
  gpio: xgene: Use modern PM macros
  gpio: xilinx: Use modern PM macros
  gpio: zynq: Use modern PM macros

 drivers/gpio/gpio-brcmstb.c   | 12 +++---------
 drivers/gpio/gpio-bt8xx.c     | 11 ++---------
 drivers/gpio/gpio-dwapb.c     | 31 +++++++------------------------
 drivers/gpio/gpio-htc-egpio.c | 21 ++++++++-------------
 drivers/gpio/gpio-ml-ioh.c    | 12 ++++++------
 drivers/gpio/gpio-mlxbf2.c    |  8 ++++----
 drivers/gpio/gpio-msc313.c    |  8 ++++----
 drivers/gpio/gpio-omap.c      | 15 +++++++--------
 drivers/gpio/gpio-pch.c       | 12 ++++++------
 drivers/gpio/gpio-pl061.c     | 17 ++---------------
 drivers/gpio/gpio-pxa.c       | 12 ++----------
 drivers/gpio/gpio-tqmx86.c    |  9 ++++-----
 drivers/gpio/gpio-uniphier.c  |  9 ++++-----
 drivers/gpio/gpio-xgene.c     |  8 ++++----
 drivers/gpio/gpio-xilinx.c    | 15 +++++++--------
 drivers/gpio/gpio-zynq.c      | 15 +++++++--------
 16 files changed, 77 insertions(+), 138 deletions(-)

-- 
2.50.1
Re: [PATCH 00/16] gpio: Use modern PM macros
Posted by Bartosz Golaszewski 1 month ago
On Wed, Aug 20, 2025 at 5:58 PM Jisheng Zhang <jszhang@kernel.org> 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 or
> __maybe_unused.
>
> 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.
>
> Almost all drivers are converted, only gpio-tegra and gpio-mlxbf are
> left as is, because the memory for saving HW context is not trivial,
> if we convert them, then the two drivers' users may complain for
> !CONFIG_PM && !CONFIG_PM_SLEEP case. So I didn't touch them.
>
> patch to gpio-dwapb.c is tested on real HW, others are compile-tested only.
>

This doesn't apply on top of my gpio/for-next branch, can you rebase
and resend please?

Bart