change earlysuspend to suspend in gps driver
authorhxy <hxy@rock-chips.com>
Fri, 25 Feb 2011 08:39:44 +0000 (16:39 +0800)
committerhxy <hxy@rock-chips.com>
Fri, 25 Feb 2011 08:39:44 +0000 (16:39 +0800)
drivers/misc/Makefile
drivers/misc/gps/rk29_gps.c

index 1265365196f835f4cd24c1b99d483377db602cea..5403037fdca737651b75f5261ad20fed7cc38e39 100644 (file)
@@ -30,3 +30,4 @@ obj-$(CONFIG_WL127X_RFKILL)   += wl127x-rfkill.o
 obj-$(CONFIG_APANIC)           += apanic.o
 obj-$(CONFIG_STE)              += ste.o
 obj-$(CONFIG_RK29_SUPPORT_MODEM)        += rk29_modem/
+obj-$(CONFIG_GPS_GNS7560)                      +=      gps/
\ No newline at end of file
index a3ff3764f5c6062789d4e0c456db7273f2958ece..088a885c70b1c1f1fca8908f9c619626a4794d27 100644 (file)
@@ -12,9 +12,6 @@
 #include <mach/iomux.h>\r
 #include <linux/platform_device.h>\r
 #include "rk29_gps.h"\r
-#ifdef CONFIG_HAS_EARLYSUSPEND\r
-#include <linux/earlysuspend.h>\r
-#endif\r
 #if 0\r
 #define DBG(x...)      printk(KERN_INFO x)\r
 #else\r
 #define DISABLE 0\r
 \r
 static struct rk29_gps_data *pgps;\r
-static struct early_suspend gps_early_suspend;\r
 \r
-static void rk29_gps_early_suspend(struct early_suspend *h)\r
+\r
+int rk29_gps_suspend(struct platform_device *pdev,  pm_message_t state)\r
 {\r
-       struct rk29_gps_data *pdata = pgps;\r
+       struct rk29_gps_data *pdata = pdev->dev.platform_data;\r
        if(!pdata)\r
-       return;\r
+       return -1;\r
                \r
        if(pdata->uart_id == 3)\r
        {\r
@@ -57,14 +54,14 @@ static void rk29_gps_early_suspend(struct early_suspend *h)
        }\r
        \r
        printk("%s\n",__FUNCTION__);\r
-       \r
+       return 0;       \r
 }\r
 \r
-static void rk29_gps_early_resume(struct early_suspend *h)\r
+int rk29_gps_resume(struct platform_device *pdev)\r
 {\r
-       struct rk29_gps_data *pdata = pgps;\r
+       struct rk29_gps_data *pdata = pdev->dev.platform_data;\r
        if(!pdata)\r
-       return;\r
+       return -1;\r
        \r
        if(pdata->uart_id == 3)\r
        {\r
@@ -84,8 +81,9 @@ static void rk29_gps_early_resume(struct early_suspend *h)
        }\r
        \r
        printk("%s\n",__FUNCTION__);\r
-       \r
+       return 0;\r
 }\r
+\r
 int rk29_gps_open(struct inode *inode, struct file *filp)\r
 {\r
        DBG("rk29_gps_open\n");\r
@@ -158,12 +156,6 @@ static int rk29_gps_probe(struct platform_device *pdev)
        pdata->power_up();\r
        pgps = pdata;\r
 \r
-#ifdef CONFIG_HAS_EARLYSUSPEND\r
-       gps_early_suspend.suspend = rk29_gps_early_suspend;\r
-       gps_early_suspend.resume = rk29_gps_early_resume;\r
-       gps_early_suspend.level = ~0x0;\r
-       register_early_suspend(&gps_early_suspend);\r
-#endif\r
 \r
        printk("%s:rk29 GPS initialized\n",__FUNCTION__);\r
 \r
@@ -172,6 +164,8 @@ static int rk29_gps_probe(struct platform_device *pdev)
 \r
 static struct platform_driver rk29_gps_driver = {\r
        .probe  = rk29_gps_probe,\r
+       .suspend        = rk29_gps_suspend,\r
+       .resume         = rk29_gps_resume,\r
        .driver = {\r
                .name   = "rk29_gps",\r
                .owner  = THIS_MODULE,\r