summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSylwester Nawrocki <s.nawrocki@samsung.com>2011-12-02 21:55:04 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-12-30 14:34:46 -0200
commit630caa23b75ca5d399791fa5a4d8d5f4adf81489 (patch)
tree1794510509103470aca5106a59f01fda5a82205b
parentce808a478ae5b79e52ea170b35c459829296330f (diff)
downloadop-kernel-dev-630caa23b75ca5d399791fa5a4d8d5f4adf81489.zip
op-kernel-dev-630caa23b75ca5d399791fa5a4d8d5f4adf81489.tar.gz
[media] m5mols: Remove mode_save field from struct m5mols_info
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>
-rw-r--r--drivers/media/video/m5mols/m5mols.h2
-rw-r--r--drivers/media/video/m5mols/m5mols_core.c13
2 files changed, 6 insertions, 9 deletions
diff --git a/drivers/media/video/m5mols/m5mols.h b/drivers/media/video/m5mols/m5mols.h
index 2829d4a..5a8a858 100644
--- a/drivers/media/video/m5mols/m5mols.h
+++ b/drivers/media/video/m5mols/m5mols.h
@@ -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);
};
diff --git a/drivers/media/video/m5mols/m5mols_core.c b/drivers/media/video/m5mols/m5mols_core.c
index 68f117a..070f04c 100644
--- a/drivers/media/video/m5mols/m5mols_core.c
+++ b/drivers/media/video/m5mols/m5mols_core.c
@@ -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;
}
OpenPOWER on IntegriCloud