camera:fix camera power gpio request may be failed
authorddl <ddl@rockchip.com>
Thu, 4 Aug 2011 09:38:02 +0000 (17:38 +0800)
committerddl <ddl@rockchip.com>
Thu, 4 Aug 2011 09:38:02 +0000 (17:38 +0800)
drivers/media/video/rk29_camera.c

index 04e6df1d3a1e7897934ced922c3f940f8a62d919..3e19731fe08ce3e81200bd6f56d0989c40d035cf 100755 (executable)
@@ -270,8 +270,14 @@ static int rk29_sensor_io_init(void)
 
         if (camera_power != INVALID_GPIO) {
             ret = gpio_request(camera_power, "camera power");
-            if (ret)
-                               goto sensor_io_int_loop_end;
+            if (ret) {
+                if (i == 0) {\r
+                                   goto sensor_io_int_loop_end;
+                } else {\r
+                    if (camera_power != rk29_camera_platform_data.gpio_res[0].gpio_power)\r
+                        goto sensor_io_int_loop_end;\r
+                }\r
+            }\r
                        rk29_camera_platform_data.gpio_res[i].gpio_init |= RK29_CAM_POWERACTIVE_MASK;
             gpio_set_value(camera_reset, (((~camera_ioflag)&RK29_CAM_POWERACTIVE_MASK)>>RK29_CAM_POWERACTIVE_BITPOS));
             gpio_direction_output(camera_power, (((~camera_ioflag)&RK29_CAM_POWERACTIVE_MASK)>>RK29_CAM_POWERACTIVE_BITPOS));