camera rk30 : not call pmu_set_idle_request when cif reset;fix null point in rk_cif_p...
authorroot <root@zyc-desktop.(none)>
Tue, 12 Jun 2012 09:34:13 +0000 (17:34 +0800)
committerroot <root@zyc-desktop.(none)>
Tue, 12 Jun 2012 09:34:41 +0000 (17:34 +0800)
arch/arm/mach-rk30/board-rk30-sdk.c
drivers/media/video/rk30_camera_oneframe.c

index 672cca2cb17d7ff2db3e51b2aaf71d9c0bef86af..6454798c5e2a421cbc12e39d4209a0e39ed5898b 100755 (executable)
@@ -220,7 +220,10 @@ static void rk_cif_power(int on)
     struct regulator *ldo_18,*ldo_28;
        ldo_28 = regulator_get(NULL, "ldo7");   // vcc28_cif
        ldo_18 = regulator_get(NULL, "ldo1");   // vcc18_cif
-
+       if (ldo_28 == NULL || IS_ERR(ldo_28) || ldo_18 == NULL || IS_ERR(ldo_18)){
+        printk("get cif ldo failed!\n");
+               return;
+           }
     if(on == 0){       
        regulator_disable(ldo_28);
        regulator_put(ldo_28);
@@ -231,13 +234,13 @@ static void rk_cif_power(int on)
     else{
        regulator_set_voltage(ldo_28, 2800000, 2800000);
        regulator_enable(ldo_28);
-    // printk("%s set ldo7 vcc28_cif=%dmV end\n", __func__, regulator_get_voltage(ldo_28));
+   //  printk("%s set ldo7 vcc28_cif=%dmV end\n", __func__, regulator_get_voltage(ldo_28));
        regulator_put(ldo_28);
 
        regulator_set_voltage(ldo_18, 1800000, 1800000);
     // regulator_set_suspend_voltage(ldo, 1800000);
        regulator_enable(ldo_18);
-    // printk("%s set ldo1 vcc18_cif=%dmV end\n", __func__, regulator_get_voltage(ldo));
+    // printk("%s set ldo1 vcc18_cif=%dmV end\n", __func__, regulator_get_voltage(ldo_18));
        regulator_put(ldo_18);
         }
 }
index 07180f588edc188b0032588ea00420ff9d3a1b26..4ae49bec4371fbfff05cbbd4f687465dba0e3f27 100755 (executable)
@@ -1246,18 +1246,18 @@ static void rk_camera_setup_format(struct soc_camera_device *icd, __u32 host_pix
         {
            mdelay(100);
             if(IS_CIF0()){
-                       pmu_set_idle_request(IDLE_REQ_VIO, true);
+        //             pmu_set_idle_request(IDLE_REQ_VIO, true);
                        cru_set_soft_reset(SOFT_RST_CIF0, true);
                        udelay(5);
                        cru_set_soft_reset(SOFT_RST_CIF0, false);
-                       pmu_set_idle_request(IDLE_REQ_VIO, false);
+        //             pmu_set_idle_request(IDLE_REQ_VIO, false);
 
             }else{
-                       pmu_set_idle_request(IDLE_REQ_VIO, true);
+        //             pmu_set_idle_request(IDLE_REQ_VIO, true);
                        cru_set_soft_reset(SOFT_RST_CIF1, true);
                        udelay(5);
                        cru_set_soft_reset(SOFT_RST_CIF1, false);
-                       pmu_set_idle_request(IDLE_REQ_VIO, false);  
+        //             pmu_set_idle_request(IDLE_REQ_VIO, false);  
             }
         }
     write_cif_reg(pcdev->base,CIF_CIF_CTRL,AXI_BURST_16|MODE_ONEFRAME|DISABLE_CAPTURE);   /* ddl@rock-chips.com : vip ahb burst 16 */