summaryrefslogtreecommitdiffstats
path: root/0005-ACPI-PMIC-xpower-Add-support-for-the-GPI1-regulator-.patch
diff options
context:
space:
mode:
Diffstat (limited to '0005-ACPI-PMIC-xpower-Add-support-for-the-GPI1-regulator-.patch')
-rw-r--r--0005-ACPI-PMIC-xpower-Add-support-for-the-GPI1-regulator-.patch80
1 files changed, 0 insertions, 80 deletions
diff --git a/0005-ACPI-PMIC-xpower-Add-support-for-the-GPI1-regulator-.patch b/0005-ACPI-PMIC-xpower-Add-support-for-the-GPI1-regulator-.patch
deleted file mode 100644
index c6f299c29..000000000
--- a/0005-ACPI-PMIC-xpower-Add-support-for-the-GPI1-regulator-.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-From cc2b0e2c164d02ab42efa736f91f53baf8d8bc36 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Thu, 20 Apr 2017 22:41:20 +0200
-Subject: [PATCH 05/16] ACPI / PMIC: xpower: Add support for the GPI1 regulator
- to the OpRegion handler
-
-Some Bay Trail devices use a GPI1 regulator field (address 0x4c) in
-their 0x8d power OpRegion, add support for this.
-
-This fixes AE_BAD_PARAMETER errors getting thrown on these devices and
-fixes these errors causing these devices to not suspend.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
-Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
----
-Changes in v2:
--Simplify reg == 0x92 handling (suggested by Andy Shevchenko)
--Add special handling for reg == 0x92 to intel_xpower_pmic_get_power() too
-Changes in v3:
--Use defines for GPI1 reg and bits, rather then hardcoded hex values
----
- drivers/acpi/pmic/intel_pmic_xpower.c | 21 ++++++++++++++++++++-
- 1 file changed, 20 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/acpi/pmic/intel_pmic_xpower.c b/drivers/acpi/pmic/intel_pmic_xpower.c
-index 1a76c784cd4c..3b7d5be5b7ed 100644
---- a/drivers/acpi/pmic/intel_pmic_xpower.c
-+++ b/drivers/acpi/pmic/intel_pmic_xpower.c
-@@ -21,6 +21,11 @@
- #include "intel_pmic.h"
-
- #define XPOWER_GPADC_LOW 0x5b
-+#define XPOWER_GPI1_CTRL 0x92
-+
-+#define GPI1_LDO_MASK GENMASK(2, 0)
-+#define GPI1_LDO_ON (3 << 0)
-+#define GPI1_LDO_OFF (4 << 0)
-
- static struct pmic_table power_table[] = {
- {
-@@ -118,6 +123,10 @@ static struct pmic_table power_table[] = {
- .reg = 0x10,
- .bit = 0x00
- }, /* BUC6 */
-+ {
-+ .address = 0x4c,
-+ .reg = 0x92,
-+ }, /* GPI1 */
- };
-
- /* TMP0 - TMP5 are the same, all from GPADC */
-@@ -156,7 +165,12 @@ static int intel_xpower_pmic_get_power(struct regmap *regmap, int reg,
- if (regmap_read(regmap, reg, &data))
- return -EIO;
-
-- *value = (data & BIT(bit)) ? 1 : 0;
-+ /* GPIO1 LDO regulator needs special handling */
-+ if (reg == XPOWER_GPI1_CTRL)
-+ *value = ((data & GPI1_LDO_MASK) == GPI1_LDO_ON);
-+ else
-+ *value = (data & BIT(bit)) ? 1 : 0;
-+
- return 0;
- }
-
-@@ -165,6 +179,11 @@ static int intel_xpower_pmic_update_power(struct regmap *regmap, int reg,
- {
- int data;
-
-+ /* GPIO1 LDO regulator needs special handling */
-+ if (reg == XPOWER_GPI1_CTRL)
-+ return regmap_update_bits(regmap, reg, GPI1_LDO_MASK,
-+ on ? GPI1_LDO_ON : GPI1_LDO_OFF);
-+
- if (regmap_read(regmap, reg, &data))
- return -EIO;
-
---
-2.13.0
-