Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 630caa23 authored by Sylwester Nawrocki's avatar Sylwester Nawrocki Committed by Mauro Carvalho Chehab
Browse files

[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: default avatarHeungJun Kim <riverful.kim@samsung.com>
Signed-off-by: default avatarSylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: default avatarKyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent ce808a47
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -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);
};

+6 −7
Original line number Diff line number Diff line
@@ -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;
}