fix suspend err of goodix touch screen
authoryxj <yxj@rock-chips.com>
Sat, 19 Nov 2011 09:24:33 +0000 (17:24 +0800)
committeryxj <yxj@rock-chips.com>
Sat, 19 Nov 2011 09:24:33 +0000 (17:24 +0800)
drivers/input/touchscreen/rk29_i2c_goodix.c

index 61440836f141ef5d7b55ed9560170e3f7542f9b8..e59a413ec8bcf315c737ca1842ff5a851ab5ec23 100755 (executable)
@@ -491,10 +491,9 @@ static int rk_ts_suspend(struct i2c_client *client, pm_message_t mesg)
        struct rk_ts_data *ts = i2c_get_clientdata(client);\r
 \r
        \r
-       if (ts->use_irq)\r
-               disable_irq(client->irq);\r
-       else\r
-               hrtimer_cancel(&ts->timer);\r
+       \r
+       disable_irq(ts->irq);\r
+       \r
 #if 1\r
        if (ts->power) {\r
                ret = ts->power(ts, 0);\r
@@ -517,11 +516,8 @@ static int rk_ts_resume(struct i2c_client *client)
                        printk(KERN_ERR "goodix_ts_resume power on failed\n");\r
        }\r
 #endif\r
-       if (ts->use_irq)\r
-               enable_irq(client->irq);\r
-       else\r
-               hrtimer_start(&ts->timer, ktime_set(1, 0), HRTIMER_MODE_REL);\r
-       //gpio_set_value(RK29_PIN6_PC3,GPIO_HIGH);\r
+       \r
+       enable_irq(client->irq);\r
 \r
        return 0;\r
 }\r
@@ -565,8 +561,6 @@ static int goodix_ts_power(struct rk_ts_data * ts, int on)
                return -EINVAL;\r
        }\r
        \r
-       if(ts != NULL && !ts->use_irq)\r
-               return -2;\r
        \r
        if(on == 0)             //suspend\r
        { \r
@@ -589,7 +583,7 @@ static int goodix_ts_power(struct rk_ts_data * ts, int on)
                printk(KERN_INFO"Int resume\n");\r
                gpio_set_value(RK29_PIN6_PC3,GPIO_LOW); \r
                msleep(20);\r
-              gpio_set_value(RK29_PIN6_PC3,GPIO_HIGH);\r
+           gpio_set_value(RK29_PIN6_PC3,GPIO_HIGH);\r
                ret = 0;\r
        }        \r
        return ret;\r