[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>
This commit is contained in:
parent
ce808a478a
commit
630caa23b7
|
@ -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);
|
||||
};
|
||||
|
||||
|
|
|
@ -370,13 +370,13 @@ int m5mols_mode(struct m5mols_info *info, u8 mode)
|
|||
return ret;
|
||||
|
||||
ret = m5mols_read_u8(sd, SYSTEM_SYSMODE, ®);
|
||||
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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue