camera: modify generic_sensor.c make flash work everytime, generic vision: v0.1.c
authoroyyf <oyyf@rock-chips.com>
Fri, 23 Aug 2013 03:11:43 +0000 (11:11 +0800)
committeroyyf <oyyf@rock-chips.com>
Fri, 23 Aug 2013 03:11:43 +0000 (11:11 +0800)
drivers/media/video/generic_sensor.c

index b8fa6773d46b62e9770ed37e7da0c858d8f68b8a..4928e6d059867ef91f15a9729dee43fdc0d98724 100755 (executable)
 *        1. support sensor driver crop by redefine SENSOR_CROP_PERCENT;\r
 *        2. fix sensor_ops which is independent for driver;\r
 *        3. support cropcap;\r
+*v.0.1.c:\r
+*        1. modify generic_sensor_s_fmt, flash will work everytime when capture\r
 */\r
-static int version = KERNEL_VERSION(0,1,0xb);\r
+static int version = KERNEL_VERSION(0,1,0xc);\r
 module_param(version, int, S_IRUGO);\r
 \r
 \r
@@ -893,22 +895,21 @@ int generic_sensor_s_fmt(struct v4l2_subdev *sd, struct v4l2_mbus_framefmt *mf)
     winseqe_set_addr = sensor->info_priv.sensor_series+ret;\r
 \r
     ret = 0;    \r
-    if(sensor->info_priv.winseqe_cur_addr->data != winseqe_set_addr->data){\r
-\r
-        if (sensor->sensor_cb.sensor_s_fmt_cb_th)\r
-            ret |= sensor->sensor_cb.sensor_s_fmt_cb_th(client, mf, is_capture);\r
+    if (sensor->sensor_cb.sensor_s_fmt_cb_th)\r
+        ret |= sensor->sensor_cb.sensor_s_fmt_cb_th(client, mf, is_capture);\r
         \r
-        v4l2ctrl_info = sensor_find_ctrl(sensor->ctrls,V4L2_CID_FLASH); /* ddl@rock-chips.com: v0.1.3 */        \r
-        if (v4l2ctrl_info!=NULL) {   \r
-            if (is_capture) { \r
-                if ((v4l2ctrl_info->cur_value == 2) || (v4l2ctrl_info->cur_value == 1)) {\r
-                    generic_sensor_ioctrl(icd, Sensor_Flash, 1);                    \r
-                }\r
-            } else {\r
-                generic_sensor_ioctrl(icd, Sensor_Flash, 0); \r
+    v4l2ctrl_info = sensor_find_ctrl(sensor->ctrls,V4L2_CID_FLASH); /* ddl@rock-chips.com: v0.1.3 */        \r
+    if (v4l2ctrl_info!=NULL) {   \r
+        if (is_capture) { \r
+            if ((v4l2ctrl_info->cur_value == 2) || (v4l2ctrl_info->cur_value == 1)) {\r
+                generic_sensor_ioctrl(icd, Sensor_Flash, 1);                    \r
             }\r
+        } else {\r
+            generic_sensor_ioctrl(icd, Sensor_Flash, 0); \r
         }\r
-       \r
+    }\r
+    \r
+    if(sensor->info_priv.winseqe_cur_addr->data != winseqe_set_addr->data){       \r
         ret |= generic_sensor_write_array(client, winseqe_set_addr->data);\r
         if (ret != 0) {\r
             SENSOR_TR("set format capability failed");\r