return ret;\r
\r
case 1:\r
- gpio_direction_output(reset_pin,0);\r
- msleep(1);\r
- gpio_set_value(reset_pin,0);\r
- msleep(100);\r
- gpio_set_value(reset_pin,1);\r
- msleep(100);\r
+ printk("++++ reset_pin: %d \n",reset_pin);\r
+ if(reset_pin > 0 ){\r
+ gpio_direction_output(reset_pin,0);\r
+ msleep(1);\r
+ gpio_set_value(reset_pin,0);\r
+ msleep(100);\r
+ gpio_set_value(reset_pin,1);\r
+ msleep(100);\r
+ }else{\r
+ msleep(1);\r
+ gpio_direction_output(irq_to_gpio(ts->client->irq), 0);\r
+ msleep(100);\r
+ gpio_direction_output(irq_to_gpio(ts->client->irq), 1);\r
+ msleep(100);\r
+\r
+ unsigned int gpio = irq_to_gpio(ts->client->irq);\r
+ gpio_set_value(gpio, 0);\r
+ gpio_direction_input(gpio);\r
+ }\r
ret = 0;\r
return ret;\r
\r
struct gt811_ts_data *ts = i2c_get_clientdata(client);\r
disable_irq(gpio_to_irq(client->irq));\r
if (ts->power) \r
- { \r
+ {\r
+ ret = ts->power(ts, 0);\r
+ printk("goodix_ts suspend >>>>>>>>>ret=%d \n",ret);\r
+ if (ret < 0)\r
+ printk(KERN_ERR "goodix_ts_suspend power on failed\n"); \r
}\r
return 0;\r
}\r