[PATCH] [v1.1 2/3] fix reset gpio config error

From: jeffrey.lin
Date: Thu Jul 07 2016 - 12:41:06 EST


ts->reset_gpio=0 will let raydium IC enter reset mode, and ts->reset_gpio=1 will be normal touch mode.

Signed-off-by: jeffrey.lin <jeffrey.lin@xxxxxxxxxx>
---
drivers/input/touchscreen/raydium_i2c_ts.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/drivers/input/touchscreen/raydium_i2c_ts.c b/drivers/input/touchscreen/raydium_i2c_ts.c
index f3076d9..5217339 100644
--- a/drivers/input/touchscreen/raydium_i2c_ts.c
+++ b/drivers/input/touchscreen/raydium_i2c_ts.c
@@ -78,7 +78,7 @@
#define RM_MAX_FW_RETRIES 30
#define RM_MAX_FW_SIZE 0xD000

-#define RM_POWERON_DELAY_USEC 500
+#define RM_POWERON_DELAY_MSEC 20
#define RM_RESET_DELAY_MSEC 50

enum raydium_bl_cmd {
@@ -933,7 +933,7 @@ static int raydium_i2c_power_on(struct raydium_data *ts)
if (!ts->reset_gpio)
return 0;

- gpiod_set_value_cansleep(ts->reset_gpio, 1);
+ gpiod_set_value_cansleep(ts->reset_gpio, 0);

error = regulator_enable(ts->avdd);
if (error) {
@@ -950,10 +950,10 @@ static int raydium_i2c_power_on(struct raydium_data *ts)
goto release_reset_gpio;
}

- udelay(RM_POWERON_DELAY_USEC);
+ msleep(RM_POWERON_DELAY_MSEC);

release_reset_gpio:
- gpiod_set_value_cansleep(ts->reset_gpio, 0);
+ gpiod_set_value_cansleep(ts->reset_gpio, 1);

if (error)
return error;
@@ -968,7 +968,6 @@ static void raydium_i2c_power_off(void *_data)
struct raydium_data *ts = _data;

if (ts->reset_gpio) {
- gpiod_set_value_cansleep(ts->reset_gpio, 1);
regulator_disable(ts->vccio);
regulator_disable(ts->avdd);
}
--
2.1.2