From 76eb23d534419db5e794699ae77f1e644f975e8c Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.com>
Date: Sun, 25 Apr 2021 21:07:03 +0100
Subject: [PATCH] overlays: Allow multiple gpio-shutdown instances

There is no reason not to support multiple gpio-shutdown signals,
so add the necessary __override__ magic.

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
---
 arch/arm/boot/dts/overlays/gpio-shutdown-overlay.dts | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

--- a/arch/arm/boot/dts/overlays/gpio-shutdown-overlay.dts
+++ b/arch/arm/boot/dts/overlays/gpio-shutdown-overlay.dts
@@ -24,7 +24,7 @@
 			// by a "pinctrl client", as is done below. See:
 			//   https://www.kernel.org/doc/Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
 			//   https://www.kernel.org/doc/Documentation/devicetree/bindings/pinctrl/brcm,bcm2835-gpio.txt
-			pin_state: shutdown_button_pins {
+			pin_state: shutdown_button_pins@3 {
 				brcm,pins = <3>; // gpio number
 				brcm,function = <0>; // 0 = input, 1 = output
 				brcm,pull = <2>; // 0 = none, 1 = pull down, 2 = pull up
@@ -35,7 +35,7 @@
 		// Add a new device to the /soc devicetree node
 		target-path = "/soc";
 		__overlay__ {
-			shutdown_button {
+			shutdown_button: shutdown_button@3 {
 				// Let the gpio-keys driver handle this device. See:
 				// https://www.kernel.org/doc/Documentation/devicetree/bindings/input/gpio-keys.txt
 				compatible = "gpio-keys";
@@ -69,6 +69,8 @@
 	__overrides__ {
 		// Allow overriding the GPIO number.
 		gpio_pin = <&button>,"gpios:4",
+			   <&shutdown_button>,"reg:0",
+			   <&pin_state>,"reg:0",
 		           <&pin_state>,"brcm,pins:0";
 
 		// Allow changing the internal pullup/down state. 0 = none, 1 = pulldown, 2 = pullup
