47 lines
1.3 KiB
Diff
47 lines
1.3 KiB
Diff
|
From 4478f865251d674fc050e82dae579fbce42020b5 Mon Sep 17 00:00:00 2001
|
||
|
From: Ondrej Jirman <megi@xff.cz>
|
||
|
Date: Sat, 20 May 2023 16:58:49 +0200
|
||
|
Subject: [PATCH 113/464] Revert "input: goodix: Don't disable regulators
|
||
|
during suspend"
|
||
|
|
||
|
This reverts commit d93d2611a98ccbb75066bd9d508dccc9cf8ad352.
|
||
|
---
|
||
|
drivers/input/touchscreen/goodix.c | 14 ++++++++++++++
|
||
|
1 file changed, 14 insertions(+)
|
||
|
|
||
|
diff --git a/drivers/input/touchscreen/goodix.c b/drivers/input/touchscreen/goodix.c
|
||
|
index 6cb0538e881e..fda05da2957b 100644
|
||
|
--- a/drivers/input/touchscreen/goodix.c
|
||
|
+++ b/drivers/input/touchscreen/goodix.c
|
||
|
@@ -1441,6 +1441,8 @@ static int goodix_suspend(struct device *dev)
|
||
|
goodix_free_irq(ts);
|
||
|
goodix_irq_direction_output(ts, 0);
|
||
|
gpiod_direction_output(ts->gpiod_rst, 0);
|
||
|
+ regulator_disable(ts->avdd28);
|
||
|
+ regulator_disable(ts->vddio);
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
@@ -1490,6 +1492,18 @@ static int goodix_resume(struct device *dev)
|
||
|
int error;
|
||
|
|
||
|
if (ts->poweroff_in_suspend) {
|
||
|
+ error = regulator_enable(ts->avdd28);
|
||
|
+ if (error) {
|
||
|
+ dev_err(dev, "Regulator avdd28 enable failed.\n");
|
||
|
+ return error;
|
||
|
+ }
|
||
|
+
|
||
|
+ error = regulator_enable(ts->vddio);
|
||
|
+ if (error) {
|
||
|
+ dev_err(dev, "Regulator vddio enable failed.\n");
|
||
|
+ return error;
|
||
|
+ }
|
||
|
+
|
||
|
error = goodix_reset(ts);
|
||
|
if (error) {
|
||
|
dev_err(dev, "Controller reset failed.\n");
|
||
|
--
|
||
|
2.34.1
|
||
|
|