aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm2708/patches-4.19/950-0126-Add-ability-to-export-gpio-used-by-gpio-poweroff.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm2708/patches-4.19/950-0126-Add-ability-to-export-gpio-used-by-gpio-poweroff.patch')
-rw-r--r--target/linux/brcm2708/patches-4.19/950-0126-Add-ability-to-export-gpio-used-by-gpio-poweroff.patch57
1 files changed, 57 insertions, 0 deletions
diff --git a/target/linux/brcm2708/patches-4.19/950-0126-Add-ability-to-export-gpio-used-by-gpio-poweroff.patch b/target/linux/brcm2708/patches-4.19/950-0126-Add-ability-to-export-gpio-used-by-gpio-poweroff.patch
new file mode 100644
index 0000000000..60e7294c05
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.19/950-0126-Add-ability-to-export-gpio-used-by-gpio-poweroff.patch
@@ -0,0 +1,57 @@
+From 3e060982d93902bcca8503df4e33d6cd1e41e21b Mon Sep 17 00:00:00 2001
+From: Nick Bulleid <nedbulleid@fastmail.com>
+Date: Thu, 10 May 2018 21:57:02 +0100
+Subject: [PATCH] Add ability to export gpio used by gpio-poweroff
+
+Signed-off-by: Nick Bulleid <nedbulleid@fastmail.com>
+
+Added export feature to gpio-poweroff documentation
+
+Signed-off-by: Nick Bulleid <nedbulleid@fastmail.com>
+---
+ .../devicetree/bindings/power/reset/gpio-poweroff.txt | 1 +
+ drivers/power/reset/gpio-poweroff.c | 9 +++++++++
+ 2 files changed, 10 insertions(+)
+
+--- a/Documentation/devicetree/bindings/power/reset/gpio-poweroff.txt
++++ b/Documentation/devicetree/bindings/power/reset/gpio-poweroff.txt
+@@ -29,6 +29,7 @@ Optional properties:
+ inactive state.
+ - timeout-ms: Time to wait before asserting a WARN_ON(1). If nothing is
+ specified, 3000 ms is used.
++- export : Export the GPIO line to the sysfs system
+
+ Examples:
+
+--- a/drivers/power/reset/gpio-poweroff.c
++++ b/drivers/power/reset/gpio-poweroff.c
+@@ -52,6 +52,7 @@ static int gpio_poweroff_probe(struct pl
+ bool input = false;
+ enum gpiod_flags flags;
+ bool force = false;
++ bool export = false;
+
+ /* If a pm_power_off function has already been added, leave it alone */
+ force = of_property_read_bool(pdev->dev.of_node, "force");
+@@ -74,6 +75,12 @@ static int gpio_poweroff_probe(struct pl
+ if (IS_ERR(reset_gpio))
+ return PTR_ERR(reset_gpio);
+
++ export = of_property_read_bool(pdev->dev.of_node, "export");
++ if (export) {
++ gpiod_export(reset_gpio, false);
++ gpiod_export_link(&pdev->dev, "poweroff-gpio", reset_gpio);
++ }
++
+ pm_power_off = &gpio_poweroff_do_poweroff;
+ return 0;
+ }
+@@ -83,6 +90,8 @@ static int gpio_poweroff_remove(struct p
+ if (pm_power_off == &gpio_poweroff_do_poweroff)
+ pm_power_off = NULL;
+
++ gpiod_unexport(reset_gpio);
++
+ return 0;
+ }
+