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

Commit 2cc895c7 authored by Vishalsingh Hajeri's avatar Vishalsingh Hajeri Committed by Gerrit - the friendly Code Review server
Browse files

msm: camera: sensor: Remove redundant delete settings



Init settings and config settings are deleted immediately
after they have been applied. Therefore, no need to delete
them again when we release resources.

Change-Id: I5fdf66c9d4421380f6675e9a1d2b0f1e5cd00eac
Signed-off-by: default avatarVishalsingh Hajeri <vhajeri@codeaurora.org>
Signed-off-by: default avatarVenkat Chinta <vchinta@codeaurora.org>
parent 3a4392ac
Loading
Loading
Loading
Loading
+5 −24
Original line number Diff line number Diff line
@@ -62,30 +62,12 @@ static void cam_sensor_release_stream_rsc(
	}
}

static void cam_sensor_release_resource(
static void cam_sensor_release_per_frame_resource(
	struct cam_sensor_ctrl_t *s_ctrl)
{
	struct i2c_settings_array *i2c_set = NULL;
	int i, rc;

	i2c_set = &(s_ctrl->i2c_data.init_settings);
	if (i2c_set->is_settings_valid == 1) {
		i2c_set->is_settings_valid = -1;
		rc = delete_request(i2c_set);
		if (rc < 0)
			CAM_ERR(CAM_SENSOR,
				"failed while deleting Init settings");
	}

	i2c_set = &(s_ctrl->i2c_data.config_settings);
	if (i2c_set->is_settings_valid == 1) {
		i2c_set->is_settings_valid = -1;
		rc = delete_request(i2c_set);
		if (rc < 0)
			CAM_ERR(CAM_SENSOR,
				"failed while deleting Res settings");
	}

	if (s_ctrl->i2c_data.per_frame != NULL) {
		for (i = 0; i < MAX_PER_FRAME_ARRAY; i++) {
			i2c_set = &(s_ctrl->i2c_data.per_frame[i]);
@@ -503,9 +485,8 @@ void cam_sensor_shutdown(struct cam_sensor_ctrl_t *s_ctrl)
		(s_ctrl->is_probe_succeed == 0))
		return;

	cam_sensor_release_resource(s_ctrl);
	cam_sensor_release_stream_rsc(s_ctrl);
	if (s_ctrl->sensor_state >= CAM_SENSOR_ACQUIRE)
	cam_sensor_release_per_frame_resource(s_ctrl);
	cam_sensor_power_down(s_ctrl);

	rc = cam_destroy_device_hdl(s_ctrl->bridge_intf.device_hdl);
@@ -731,7 +712,7 @@ int32_t cam_sensor_driver_cmd(struct cam_sensor_ctrl_t *s_ctrl,
			goto release_mutex;
		}

		cam_sensor_release_resource(s_ctrl);
		cam_sensor_release_per_frame_resource(s_ctrl);
		cam_sensor_release_stream_rsc(s_ctrl);
		if (s_ctrl->bridge_intf.device_hdl == -1) {
			CAM_ERR(CAM_SENSOR,
@@ -816,7 +797,7 @@ int32_t cam_sensor_driver_cmd(struct cam_sensor_ctrl_t *s_ctrl,
			}
		}

		cam_sensor_release_resource(s_ctrl);
		cam_sensor_release_per_frame_resource(s_ctrl);
		s_ctrl->sensor_state = CAM_SENSOR_ACQUIRE;
		CAM_INFO(CAM_SENSOR,
			"CAM_STOP_DEV Success, sensor_id:0x%x,sensor_slave_addr:0x%x",