msm: camera: Handle actuator close before power down

In case when userspace process is killed, actuator
subdev is first closed and then power down is called.
In this sequence, we need to handle actuator states
properly to shutdown all the regulators during close.

Change-Id: I843b463a1b576971e16d1554ded20984dd0ec436
Signed-off-by: Vijay kumar Tumati <vtumati@codeaurora.org>
This commit is contained in:
Vijay kumar Tumati 2018-02-08 15:08:11 +05:30
parent 6b83a15ee1
commit 2fe9f37f2e

View file

@ -1,4 +1,4 @@
/* Copyright (c) 2011-2017, The Linux Foundation. All rights reserved.
/* Copyright (c) 2011-2018, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@ -1571,6 +1571,13 @@ static int msm_actuator_close(struct v4l2_subdev *sd,
}
kfree(a_ctrl->i2c_reg_tbl);
a_ctrl->i2c_reg_tbl = NULL;
if (a_ctrl->actuator_state == ACT_OPS_ACTIVE) {
rc = msm_actuator_power_down(a_ctrl);
if (rc < 0) {
pr_err("%s:%d Actuator Power down failed\n",
__func__, __LINE__);
}
}
a_ctrl->actuator_state = ACT_DISABLE_STATE;
mutex_unlock(a_ctrl->actuator_mutex);
CDBG("Exit\n");