brcm2708: remove linux 4.1 support
[openwrt/svn-archive/archive.git] / target / linux / brcm2708 / patches-4.1 / 0087-gpio-poweroff-Allow-it-to-work-on-Raspberry-Pi.patch
diff --git a/target/linux/brcm2708/patches-4.1/0087-gpio-poweroff-Allow-it-to-work-on-Raspberry-Pi.patch b/target/linux/brcm2708/patches-4.1/0087-gpio-poweroff-Allow-it-to-work-on-Raspberry-Pi.patch
deleted file mode 100644 (file)
index e7c733f..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-From d600a3f1ffc633465794c3519f2eb4aa536a9dde Mon Sep 17 00:00:00 2001
-From: Phil Elwell <phil@raspberrypi.org>
-Date: Thu, 25 Jun 2015 12:16:11 +0100
-Subject: [PATCH 087/222] gpio-poweroff: Allow it to work on Raspberry Pi
-
-The Raspberry Pi firmware manages the power-down and reboot
-process. To do this it installs a pm_power_off handler, causing
-the gpio-poweroff module to abort the probe function.
-
-This patch introduces a "force" DT property that overrides that
-behaviour, and also adds a DT overlay to enable and control it.
-
-Note that running in an active-low configuration (DT parameter
-"active_low") requires a custom dt-blob.bin and probably won't
-allow a reboot without switching off, so an external inversion
-of the trigger signal may be preferable.
----
- arch/arm/boot/dts/overlays/Makefile                |  1 +
- arch/arm/boot/dts/overlays/README                  | 13 +++++++++
- .../boot/dts/overlays/gpio-poweroff-overlay.dts    | 34 ++++++++++++++++++++++
- drivers/power/reset/gpio-poweroff.c                |  4 ++-
- 4 files changed, 51 insertions(+), 1 deletion(-)
- create mode 100644 arch/arm/boot/dts/overlays/gpio-poweroff-overlay.dts
-
---- a/arch/arm/boot/dts/overlays/Makefile
-+++ b/arch/arm/boot/dts/overlays/Makefile
-@@ -16,6 +16,7 @@ dtb-$(RPI_DT_OVERLAYS) += ads7846-overla
- dtb-$(RPI_DT_OVERLAYS) += bmp085_i2c-sensor-overlay.dtb
- dtb-$(RPI_DT_OVERLAYS) += dht11-overlay.dtb
- dtb-$(RPI_DT_OVERLAYS) += enc28j60-overlay.dtb
-+dtb-$(RPI_DT_OVERLAYS) += gpio-poweroff-overlay.dtb
- dtb-$(RPI_DT_OVERLAYS) += hifiberry-amp-overlay.dtb
- dtb-$(RPI_DT_OVERLAYS) += hifiberry-dac-overlay.dtb
- dtb-$(RPI_DT_OVERLAYS) += hifiberry-dacplus-overlay.dtb
---- a/arch/arm/boot/dts/overlays/README
-+++ b/arch/arm/boot/dts/overlays/README
-@@ -192,6 +192,19 @@ Params: int_pin                  GPIO us
-         speed                    SPI bus speed (default 12000000)
-+Name:   gpio-poweroff
-+Info:   Drives a GPIO high or low on reboot
-+Load:   gpio-poweroff,<param>=<val>
-+Params: gpiopin                  GPIO for signalling (default 26)
-+
-+        active_low               Set if the power control device requires a
-+                                 high->low transition to trigger a power-down.
-+                                 Note that this will require the support of a
-+                                 custom dt-blob.bin to prevent a power-down
-+                                 during the boot process, and that a reboot
-+                                 will also cause the pin to go low.
-+
-+
- Name:   hifiberry-amp
- Info:   Configures the HifiBerry Amp and Amp+ audio cards
- Load:   dtoverlay=hifiberry-amp
---- /dev/null
-+++ b/arch/arm/boot/dts/overlays/gpio-poweroff-overlay.dts
-@@ -0,0 +1,34 @@
-+// Definitions for gpio-poweroff module
-+/dts-v1/;
-+/plugin/;
-+
-+/ {
-+      compatible = "brcm,bcm2708";
-+
-+      fragment@0 {
-+              target-path = "/";
-+              __overlay__ {
-+                      power_ctrl: power_ctrl {
-+                              compatible = "gpio-poweroff";
-+                              gpios = <&gpio 26 0>;
-+                              force;
-+                      };
-+              };
-+      };
-+
-+      fragment@1 {
-+              target = <&gpio>;
-+              __overlay__ {
-+                      power_ctrl_pins: power_ctrl_pins {
-+                              brcm,pins = <26>;
-+                              brcm,function = <1>; // out
-+                      };
-+              };
-+      };
-+
-+      __overrides__ {
-+              gpiopin =       <&power_ctrl>,"gpios:4",
-+                              <&power_ctrl_pins>,"brcm,pins:0";
-+              active_low =    <&power_ctrl>,"gpios:8";
-+      };
-+};
---- a/drivers/power/reset/gpio-poweroff.c
-+++ b/drivers/power/reset/gpio-poweroff.c
-@@ -48,9 +48,11 @@ static void gpio_poweroff_do_poweroff(vo
- static int gpio_poweroff_probe(struct platform_device *pdev)
- {
-       bool input = false;
-+      bool force = false;
-       /* If a pm_power_off function has already been added, leave it alone */
--      if (pm_power_off != NULL) {
-+      force = of_property_read_bool(pdev->dev.of_node, "force");
-+      if (!force && (pm_power_off != NULL)) {
-               dev_err(&pdev->dev,
-                       "%s: pm_power_off function already registered",
-                      __func__);