Re: [PATCH] sh: select legacy gpiolib interface

From: John Paul Adrian Glaubitz

Date: Tue Apr 28 2026 - 12:28:34 EST


Hi Arnd,

On Tue, 2026-04-28 at 17:55 +0200, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@xxxxxxxx>
>
> Many board files on sh reference the legacy gpiolib interfaces that
> are becoming optional. To ensure the boards can keep building, select
> CONFIG_GPIOLIB_LEGACY on each of the boards that have one of the
> hardcoded calls.
>
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> ---
> arch/sh/Kconfig | 1 +
> arch/sh/boards/Kconfig | 8 ++++++++
> arch/sh/boards/mach-highlander/Kconfig | 1 +
> arch/sh/boards/mach-rsk/Kconfig | 3 +++
> 4 files changed, 13 insertions(+)
>
> diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
> index d5795067befa..d60f1d5a94c0 100644
> --- a/arch/sh/Kconfig
> +++ b/arch/sh/Kconfig
> @@ -462,6 +462,7 @@ config CPU_SUBTYPE_SHX3
> select CPU_SHX3
> select GENERIC_CLOCKEVENTS_BROADCAST if SMP
> select GPIOLIB
> + select GPIOLIB_LEGACY
> select PINCTRL
>
> # SH4AL-DSP Processor Support
> diff --git a/arch/sh/boards/Kconfig b/arch/sh/boards/Kconfig
> index 1af93be61b1f..d89b74177233 100644
> --- a/arch/sh/boards/Kconfig
> +++ b/arch/sh/boards/Kconfig
> @@ -80,6 +80,7 @@ config SH_7724_SOLUTION_ENGINE
> select SOLUTION_ENGINE
> depends on CPU_SUBTYPE_SH7724
> select GPIOLIB
> + select GPIOLIB_LEGACY
> select REGULATOR_FIXED_VOLTAGE if REGULATOR
> imply SND_SOC_AK4642 if SND_SIMPLE_CARD
> help
> @@ -199,6 +200,7 @@ config SH_SH7757LCR
> bool "SH7757LCR"
> depends on CPU_SUBTYPE_SH7757
> select GPIOLIB
> + select GPIOLIB_LEGACY
> select REGULATOR_FIXED_VOLTAGE if REGULATOR
>
> config SH_SH7785LCR
> @@ -226,6 +228,7 @@ config SH_URQUELL
> bool "Urquell"
> depends on CPU_SUBTYPE_SH7786
> select GPIOLIB
> + select GPIOLIB_LEGACY
> select HAVE_PCI
> select NO_IOPORT_MAP if !PCI
>
> @@ -233,6 +236,7 @@ config SH_MIGOR
> bool "Migo-R"
> depends on CPU_SUBTYPE_SH7722
> select GPIOLIB
> + select GPIOLIB_LEGACY
> select REGULATOR_FIXED_VOLTAGE if REGULATOR
> help
> Select Migo-R if configuring for the SH7722 Migo-R platform
> @@ -242,6 +246,7 @@ config SH_AP325RXA
> bool "AP-325RXA"
> depends on CPU_SUBTYPE_SH7723
> select GPIOLIB
> + select GPIOLIB_LEGACY
> select REGULATOR_FIXED_VOLTAGE if REGULATOR
> help
> Renesas "AP-325RXA" support.
> @@ -251,6 +256,7 @@ config SH_KFR2R09
> bool "KFR2R09"
> depends on CPU_SUBTYPE_SH7724
> select GPIOLIB
> + select GPIOLIB_LEGACY
> select REGULATOR_FIXED_VOLTAGE if REGULATOR
> help
> "Kit For R2R for 2009" support.
> @@ -259,6 +265,7 @@ config SH_ECOVEC
> bool "EcoVec"
> depends on CPU_SUBTYPE_SH7724
> select GPIOLIB
> + select GPIOLIB_LEGACY
> select REGULATOR_FIXED_VOLTAGE if REGULATOR
> imply SND_SOC_DA7210 if SND_SIMPLE_CARD
> help
> @@ -329,6 +336,7 @@ config SH_MAGIC_PANEL_R2
> bool "Magic Panel R2"
> depends on CPU_SUBTYPE_SH7720
> select GPIOLIB
> + select GPIOLIB_LEGACY
> select REGULATOR_FIXED_VOLTAGE if REGULATOR
> help
> Select Magic Panel R2 if configuring for Magic Panel R2.
> diff --git a/arch/sh/boards/mach-highlander/Kconfig b/arch/sh/boards/mach-highlander/Kconfig
> index b0abd03cac4e..cd3a553ce30c 100644
> --- a/arch/sh/boards/mach-highlander/Kconfig
> +++ b/arch/sh/boards/mach-highlander/Kconfig
> @@ -20,6 +20,7 @@ config SH_R7785RP
> bool "R7785RP board support"
> depends on CPU_SUBTYPE_SH7785
> select GPIOLIB
> + select GPIOLIB_LEGACY
>
> endchoice
>
> diff --git a/arch/sh/boards/mach-rsk/Kconfig b/arch/sh/boards/mach-rsk/Kconfig
> index f0299bc4416f..3810937aa5d4 100644
> --- a/arch/sh/boards/mach-rsk/Kconfig
> +++ b/arch/sh/boards/mach-rsk/Kconfig
> @@ -12,16 +12,19 @@ config SH_RSK7201
> config SH_RSK7203
> bool "RSK7203"
> select GPIOLIB
> + select GPIOLIB_LEGACY
> depends on CPU_SUBTYPE_SH7203
>
> config SH_RSK7264
> bool "RSK2+SH7264"
> select GPIOLIB
> + select GPIOLIB_LEGACY
> depends on CPU_SUBTYPE_SH7264
>
> config SH_RSK7269
> bool "RSK2+SH7269"
> select GPIOLIB
> + select GPIOLIB_LEGACY
> depends on CPU_SUBTYPE_SH7269
>
> endchoice

Thanks, this looks reasonable from what I can see. Most boards require at least
gpio_request() which is now guarded behind CONFIG_GPIOLIB_LEGACY.

Does this maybe need a Fixes: tag to identify the commit which introduced the new
config option CONFIG_GPIOLIB_LEGACY?

Reviewed-by: John Paul Adrian Glaubitz <glaubitz@xxxxxxxxxxxxxxxxxxx>

Thanks,
Adrian

--
.''`. John Paul Adrian Glaubitz
: :' : Debian Developer
`. `' Physicist
`- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913