ts: rk29_i2c_goodix: unregister earlysuspend when shutdown
author黄涛 <huangtao@rock-chips.com>
Thu, 31 May 2012 01:42:53 +0000 (09:42 +0800)
committer黄涛 <huangtao@rock-chips.com>
Thu, 31 May 2012 01:43:27 +0000 (09:43 +0800)
drivers/input/touchscreen/rk29_i2c_goodix.c

index 6d8a74b30d221d9be277ed3f525e1529b9f30372..a00966b58ebad2a6b0b9d2345a8d3a868f469fa5 100755 (executable)
@@ -629,7 +629,7 @@ static int goodix_ts_power(struct rk_ts_data * ts, int on)
                        ret = goodix_i2c_write_bytes(ts->client, i2c_control_buf, 2);\r
                        if(ret == 1)\r
                        {\r
-                               printk(KERN_INFO"touch goodix Send suspend cmd successed \n");\r
+                               printk(KERN_DEBUG "touch goodix Send suspend cmd successed \n");\r
                                break;\r
                        }\r
                       retry++;\r
@@ -640,7 +640,7 @@ static int goodix_ts_power(struct rk_ts_data * ts, int on)
        }\r
        else if(on == 1)                //resume\r
        {\r
-               printk(KERN_INFO"touch goodix int resume\n");\r
+               printk(KERN_DEBUG "touch goodix int resume\n");\r
                gpio_set_value(ts->rst_pin,GPIO_LOW);   \r
                msleep(20);\r
            gpio_set_value(ts->rst_pin,GPIO_HIGH);\r
@@ -895,7 +895,13 @@ static int rk_ts_remove(struct i2c_client *client)
        return 0;\r
 }\r
 \r
-\r
+static void rk_ts_shutdown(struct i2c_client *client)\r
+{\r
+#ifdef CONFIG_HAS_EARLYSUSPEND\r
+       struct rk_ts_data *ts = i2c_get_clientdata(client);\r
+       unregister_early_suspend(&ts->early_suspend);\r
+#endif\r
+}\r
 \r
 //******************************Begin of firmware update surpport*******************************\r
 #ifdef CONFIG_TOUCHSCREEN_GOODIX_IAP\r
@@ -1634,6 +1640,7 @@ static const struct i2c_device_id goodix_ts_id[] = {
 static struct i2c_driver rk_ts_driver = {\r
        .probe          = rk_ts_probe,\r
        .remove         = rk_ts_remove,\r
+       .shutdown       = rk_ts_shutdown,\r
 #ifndef CONFIG_HAS_EARLYSUSPEND\r
        .suspend        = rk_ts_suspend,\r
        .resume         = rk_ts_resume,\r