[media] m5mols: Remove mode_save field from struct m5mols_info
authorSylwester Nawrocki <s.nawrocki@samsung.com>
Sat, 3 Dec 2011 00:55:04 +0000 (21:55 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Fri, 30 Dec 2011 16:34:46 +0000 (14:34 -0200)
There is no need to keep this in the drivers' private data structure,
an on the stack variable is enough. Also simplify a bit the ISP state
switching function.

Acked-by: HeungJun Kim <riverful.kim@samsung.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/m5mols/m5mols.h
drivers/media/video/m5mols/m5mols_core.c

index 2829d4a95f6a1ec4ba5649f7d4d033f64761111d..5a8a858fdb2da30f9c7d5958d55b52cf0166f19a 100644 (file)
@@ -180,7 +180,6 @@ struct m5mols_version {
  * @lock_awb: true means the Aut WhiteBalance is locked
  * @resolution:        register value for current resolution
  * @mode: register value for current operation mode
- * @mode_save: register value for current operation mode for saving
  * @set_power: optional power callback to the board code
  */
 struct m5mols_info {
@@ -211,7 +210,6 @@ struct m5mols_info {
        bool lock_awb;
        u8 resolution;
        u8 mode;
-       u8 mode_save;
        int (*set_power)(struct device *dev, int on);
 };
 
index 68f117a413af8e2b93085ca7b9e9e8a520b602db..070f04c399148b1497cfa863105eee6f921ae842 100644 (file)
@@ -370,13 +370,13 @@ int m5mols_mode(struct m5mols_info *info, u8 mode)
                return ret;
 
        ret = m5mols_read_u8(sd, SYSTEM_SYSMODE, &reg);
-       if ((!ret && reg == mode) || ret)
+       if (ret || reg == mode)
                return ret;
 
        switch (reg) {
        case REG_PARAMETER:
                ret = m5mols_reg_mode(sd, REG_MONITOR);
-               if (!ret && mode == REG_MONITOR)
+               if (mode == REG_MONITOR)
                        break;
                if (!ret)
                        ret = m5mols_reg_mode(sd, REG_CAPTURE);
@@ -393,7 +393,7 @@ int m5mols_mode(struct m5mols_info *info, u8 mode)
 
        case REG_CAPTURE:
                ret = m5mols_reg_mode(sd, REG_MONITOR);
-               if (!ret && mode == REG_MONITOR)
+               if (mode == REG_MONITOR)
                        break;
                if (!ret)
                        ret = m5mols_reg_mode(sd, REG_PARAMETER);
@@ -677,15 +677,14 @@ static int m5mols_s_ctrl(struct v4l2_ctrl *ctrl)
 {
        struct v4l2_subdev *sd = to_sd(ctrl);
        struct m5mols_info *info = to_m5mols(sd);
-       int ret;
-
-       info->mode_save = info->mode;
+       int isp_state = info->mode;
+       int ret = 0;
 
        ret = m5mols_mode(info, REG_PARAMETER);
        if (!ret)
                ret = m5mols_set_ctrl(ctrl);
        if (!ret)
-               ret = m5mols_mode(info, info->mode_save);
+               ret = m5mols_mode(info, isp_state);
 
        return ret;
 }