kernel: bump 4.14 to 4.14.93
[openwrt/staging/chunkeey.git] / target / linux / brcm2708 / patches-4.14 / 950-0298-Add-ability-to-export-gpio-used-by-gpio-poweroff.patch
1 From 62712a1a87724194500e1786a65578964838f4d8 Mon Sep 17 00:00:00 2001
2 From: Nick Bulleid <nedbulleid@fastmail.com>
3 Date: Thu, 10 May 2018 21:57:02 +0100
4 Subject: [PATCH 298/454] Add ability to export gpio used by gpio-poweroff
5
6 Signed-off-by: Nick Bulleid <nedbulleid@fastmail.com>
7 ---
8 drivers/power/reset/gpio-poweroff.c | 9 +++++++++
9 1 file changed, 9 insertions(+)
10
11 --- a/drivers/power/reset/gpio-poweroff.c
12 +++ b/drivers/power/reset/gpio-poweroff.c
13 @@ -50,6 +50,7 @@ static int gpio_poweroff_probe(struct pl
14 bool input = false;
15 enum gpiod_flags flags;
16 bool force = false;
17 + bool export = false;
18
19 /* If a pm_power_off function has already been added, leave it alone */
20 force = of_property_read_bool(pdev->dev.of_node, "force");
21 @@ -70,6 +71,12 @@ static int gpio_poweroff_probe(struct pl
22 if (IS_ERR(reset_gpio))
23 return PTR_ERR(reset_gpio);
24
25 + export = of_property_read_bool(pdev->dev.of_node, "export");
26 + if (export) {
27 + gpiod_export(reset_gpio, false);
28 + gpiod_export_link(&pdev->dev, "poweroff-gpio", reset_gpio);
29 + }
30 +
31 pm_power_off = &gpio_poweroff_do_poweroff;
32 return 0;
33 }
34 @@ -79,6 +86,8 @@ static int gpio_poweroff_remove(struct p
35 if (pm_power_off == &gpio_poweroff_do_poweroff)
36 pm_power_off = NULL;
37
38 + gpiod_unexport(reset_gpio);
39 +
40 return 0;
41 }
42