modify rga dev minor num for dynamic
authorzsq <zsq@rock-chips.com>
Fri, 30 Mar 2012 05:05:39 +0000 (21:05 -0800)
committerzsq <zsq@rock-chips.com>
Fri, 30 Mar 2012 05:05:39 +0000 (21:05 -0800)
drivers/video/rockchip/rga/rga_drv.c

index f3a7c8f02a5a03cc1035f518563369150044c10c..1449156d92086817c05fb9342dc7c02898293a2f 100755 (executable)
@@ -58,7 +58,7 @@
 #define RGA_POWER_OFF_DELAY    4*HZ /* 4s */\r
 #define RGA_TIMEOUT_DELAY      2*HZ /* 2s */\r
 \r
-#define RGA_MAJOR              232\r
+#define RGA_MAJOR              255\r
 \r
 #define RK30_RGA_PHYS  0x10114000\r
 #define RK30_RGA_SIZE  SZ_8K\r
@@ -71,6 +71,7 @@
 ktime_t rga_start;\r
 ktime_t rga_end;\r
 \r
+dev_t rga_devi;\r
 \r
 struct rga_drvdata {\r
        struct miscdevice miscdev;\r
@@ -92,8 +93,6 @@ struct rga_drvdata {
 static struct rga_drvdata *drvdata = NULL;\r
 rga_service_info rga_service;\r
 \r
-\r
-\r
 static int rga_blit_async(rga_session *session, struct rga_req *req);\r
 \r
 \r
@@ -1086,11 +1085,10 @@ static int __devinit rga_drv_probe(struct platform_device *pdev)
                goto err_clock;\r
        }\r
 \r
-    \r
+    #endif\r
        \r
-       data->aclk_rga = clk_get(NULL, "aclk_rga");\r
-    \r
-       if (IS_ERR(data->axi_clk))\r
+       data->aclk_rga = clk_get(NULL, "aclk_rga");    \r
+       if (IS_ERR(data->aclk_rga))\r
        {\r
                ERR("failed to find rga axi clock source\n");\r
                ret = -ENOENT;\r
@@ -1098,14 +1096,12 @@ static int __devinit rga_drv_probe(struct platform_device *pdev)
        }\r
 \r
        data->hclk_rga = clk_get(NULL, "hclk_rga");\r
-       if (IS_ERR(data->ahb_clk))\r
+       if (IS_ERR(data->hclk_rga))\r
        {\r
                ERR("failed to find rga ahb clock source\n");\r
                ret = -ENOENT;\r
                goto err_clock;\r
-       }\r
-    #endif\r
-    \r
+       }        \r
     \r
        /* map the memory */\r
     if (!request_mem_region(RK30_RGA_PHYS, RK30_RGA_SIZE, "rga_io")) \r
@@ -1146,7 +1142,7 @@ static int __devinit rga_drv_probe(struct platform_device *pdev)
        \r
        platform_set_drvdata(pdev, data);\r
        drvdata = data;\r
-\r
+    \r
        ret = misc_register(&rga_dev);\r
        if(ret)\r
        {\r
@@ -1194,13 +1190,7 @@ static int rga_drv_remove(struct platform_device *pdev)
                clk_put(data->hclk_disp_matrix);\r
        }\r
        \r
-       if(data->aclk_ddr_lcdc) {\r
-               clk_put(data->aclk_ddr_lcdc);\r
-       }\r
        \r
-       if(data->hclk_lcdc) {\r
-               clk_put(data->hclk_lcdc);\r
-       }\r
 \r
        if(data->aclk_lcdc) {\r
                clk_put(data->aclk_lcdc);\r
@@ -1213,7 +1203,15 @@ static int rga_drv_remove(struct platform_device *pdev)
        if(data->pd_display){\r
                clk_put(data->pd_display);\r
        }\r
-    #endif    \r
+    #endif\r
+\r
+    if(data->aclk_rga) {\r
+               clk_put(data->aclk_rga);\r
+       }\r
+       \r
+       if(data->hclk_rga) {\r
+               clk_put(data->hclk_rga);\r
+       }\r
 \r
     kfree(data);\r
     return 0;\r