On Thu, Jul 7, 2016 at 9:39 AM, jeffrey.lin <yajohn@xxxxxxxxx> wrote: > ts->reset_gpio=0 will let raydium IC enter reset mode, and ts->reset_gpio=1 will be normal touch mode. Normally "1" means active. Why is it different here ? I think this warrants a better explanation. Also, if this was really wrong, wouldn't this mean that the driver never worked ? That seems somewhat unlikely. What am I missing here ? Guenter > > 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 > -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html