[PATCH] arm64: Set ARCH_NR_GPIO to 2048 for ARCH_APPLE

Marc Zyngier maz at kernel.org
Mon May 2 04:11:18 PDT 2022


On Mon, 02 May 2022 10:14:27 +0100,
Hector Martin <marcan at marcan.st> wrote:
> 
> We're already running into the 512 GPIO limit on t600[01] depending on
> how many SMC GPIOs we allocate, and a 2-die version could double that.
> Let's make it 2K to be safe for now.
> 
> Signed-off-by: Hector Martin <marcan at marcan.st>
> ---
>  arch/arm64/Kconfig | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
> 
> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> index 20ea89d9ac2f..b0da0a28aa2d 100644
> --- a/arch/arm64/Kconfig
> +++ b/arch/arm64/Kconfig
> @@ -2050,6 +2050,18 @@ config STACKPROTECTOR_PER_TASK
>  	def_bool y
>  	depends on STACKPROTECTOR && CC_HAVE_STACKPROTECTOR_SYSREG
>  
> +# The GPIO number here must be sorted by descending number. In case of
> +# a multiplatform kernel, we just want the highest value required by the
> +# selected platforms.
> +config ARCH_NR_GPIO
> +        int
> +        default 2048 if ARCH_APPLE
> +        default 0
> +        help
> +          Maximum number of GPIOs in the system.
> +
> +          If unsure, leave the default value.
> +
>  endmenu
>  
>  menu "Boot options"

It may be worth pointing out that this doesn't seem to result in any
extra memory allocation, as this only controls the GPIO numbering.

My only worry is that since the allocation is done top-down, the new
limit is going to have a userspace visible impacts (i.e. anything in
/sys/class/gpiochip* will get renumbered). I don't think anyone should
rely on this anyway (they should use the canonical bus path), but this
is worth pointing out as a potential side effect.

Otherwise,

Acked-by: Marc Zyngier <maz at kernel.org>

	M.

-- 
Without deviation from the norm, progress is not possible.



More information about the linux-arm-kernel mailing list