summaryrefslogtreecommitdiffstats
path: root/0016-Input-silead-Do-not-try-to-directly-access-the-GPIO-.patch
diff options
context:
space:
mode:
Diffstat (limited to '0016-Input-silead-Do-not-try-to-directly-access-the-GPIO-.patch')
-rw-r--r--0016-Input-silead-Do-not-try-to-directly-access-the-GPIO-.patch54
1 files changed, 0 insertions, 54 deletions
diff --git a/0016-Input-silead-Do-not-try-to-directly-access-the-GPIO-.patch b/0016-Input-silead-Do-not-try-to-directly-access-the-GPIO-.patch
deleted file mode 100644
index 14b4c27bf..000000000
--- a/0016-Input-silead-Do-not-try-to-directly-access-the-GPIO-.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From fd4fb1f6633b21042ff084868323e15e708fe1cd Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Sun, 1 Jan 2017 22:11:20 +0100
-Subject: [PATCH 16/16] Input: silead: Do not try to directly access the GPIO
- when using ACPI pm
-
-On some x86 tablets we cannot directly access the GPIOs as they are
-claimed by the ACPI tables, so check it the i2c client is not being
-power-managed by ACPI before trying to get the power pin GPIO.
-
-Note this is a workaround patch to fix this until Andy' gpiolib-ACPI
-patches which make gpiolib more strict land, once those are landed this
-patch is no longer needed.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- drivers/input/touchscreen/silead.c | 22 ++++++++++++++++------
- 1 file changed, 16 insertions(+), 6 deletions(-)
-
-diff --git a/drivers/input/touchscreen/silead.c b/drivers/input/touchscreen/silead.c
-index c0ba40c09699..30fba3cbe277 100644
---- a/drivers/input/touchscreen/silead.c
-+++ b/drivers/input/touchscreen/silead.c
-@@ -517,12 +518,21 @@ static int silead_ts_probe(struct i2c_client *client,
- if (error)
- return error;
-
-- /* Power GPIO pin */
-- data->gpio_power = devm_gpiod_get_optional(dev, "power", GPIOD_OUT_LOW);
-- if (IS_ERR(data->gpio_power)) {
-- if (PTR_ERR(data->gpio_power) != -EPROBE_DEFER)
-- dev_err(dev, "Shutdown GPIO request failed\n");
-- return PTR_ERR(data->gpio_power);
-+ /*
-+ * If device power is not managed by ACPI, get the power_gpio
-+ * and manage it ourselves.
-+ */
-+#ifdef CONFIG_ACPI
-+ if (!acpi_bus_power_manageable(ACPI_HANDLE(dev)))
-+#endif
-+ {
-+ data->gpio_power = devm_gpiod_get_optional(dev, "power",
-+ GPIOD_OUT_LOW);
-+ if (IS_ERR(data->gpio_power)) {
-+ if (PTR_ERR(data->gpio_power) != -EPROBE_DEFER)
-+ dev_err(dev, "Power GPIO request failed\n");
-+ return PTR_ERR(data->gpio_power);
-+ }
- }
-
- error = silead_ts_setup(client);
---
-2.13.0
-