diff mbox series

arm64: Set ARCH_NR_GPIO to 2048 for ARCH_APPLE

Message ID 20220502091427.28416-1-marcan@marcan.st (mailing list archive)
State New, archived
Headers show
Series arm64: Set ARCH_NR_GPIO to 2048 for ARCH_APPLE | expand

Commit Message

Hector Martin May 2, 2022, 9:14 a.m. UTC
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@marcan.st>
---
 arch/arm64/Kconfig | 12 ++++++++++++
 1 file changed, 12 insertions(+)

Comments

Marc Zyngier May 2, 2022, 11:11 a.m. UTC | #1
On Mon, 02 May 2022 10:14:27 +0100,
Hector Martin <marcan@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@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@kernel.org>

	M.
Catalin Marinas May 4, 2022, 7:57 p.m. UTC | #2
On Mon, 2 May 2022 18:14:27 +0900, Hector Martin 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.
> 
> 

Applied to arm64 (for-next/misc), thanks!

[1/1] arm64: Set ARCH_NR_GPIO to 2048 for ARCH_APPLE
      https://git.kernel.org/arm64/c/5028fbad2d57
diff mbox series

Patch

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"