Loading drivers/media/platform/msm/camera/cam_sensor_module/cam_actuator/cam_actuator_core.c +12 −1 Original line number Diff line number Diff line Loading @@ -603,7 +603,11 @@ int32_t cam_actuator_i2c_pkt_parse(struct cam_actuator_ctrl_t *a_ctrl, void cam_actuator_shutdown(struct cam_actuator_ctrl_t *a_ctrl) { int rc; int rc = 0; struct cam_actuator_soc_private *soc_private = (struct cam_actuator_soc_private *)a_ctrl->soc_info.soc_private; struct cam_sensor_power_ctrl_t *power_info = &soc_private->power_info; if (a_ctrl->cam_act_state == CAM_ACTUATOR_INIT) return; Loading @@ -612,6 +616,7 @@ void cam_actuator_shutdown(struct cam_actuator_ctrl_t *a_ctrl) rc = cam_actuator_power_down(a_ctrl); if (rc < 0) CAM_ERR(CAM_ACTUATOR, "Actuator Power down failed"); a_ctrl->cam_act_state = CAM_ACTUATOR_ACQUIRE; } if (a_ctrl->cam_act_state >= CAM_ACTUATOR_ACQUIRE) { Loading @@ -622,6 +627,12 @@ void cam_actuator_shutdown(struct cam_actuator_ctrl_t *a_ctrl) a_ctrl->bridge_intf.link_hdl = -1; a_ctrl->bridge_intf.session_hdl = -1; } kfree(power_info->power_setting); kfree(power_info->power_down_setting); power_info->power_setting = NULL; power_info->power_down_setting = NULL; a_ctrl->cam_act_state = CAM_ACTUATOR_INIT; } Loading drivers/media/platform/msm/camera/cam_sensor_module/cam_ois/cam_ois_core.c +11 −1 Original line number Diff line number Diff line Loading @@ -636,7 +636,11 @@ static int cam_ois_pkt_parse(struct cam_ois_ctrl_t *o_ctrl, void *arg) void cam_ois_shutdown(struct cam_ois_ctrl_t *o_ctrl) { int rc; int rc = 0; struct cam_ois_soc_private *soc_private = (struct cam_ois_soc_private *)o_ctrl->soc_info.soc_private; struct cam_sensor_power_ctrl_t *power_info = &soc_private->power_info; if (o_ctrl->cam_ois_state == CAM_OIS_INIT) return; Loading @@ -645,6 +649,7 @@ void cam_ois_shutdown(struct cam_ois_ctrl_t *o_ctrl) rc = cam_ois_power_down(o_ctrl); if (rc < 0) CAM_ERR(CAM_OIS, "OIS Power down failed"); o_ctrl->cam_ois_state = CAM_OIS_ACQUIRE; } if (o_ctrl->cam_ois_state >= CAM_OIS_ACQUIRE) { Loading @@ -656,6 +661,11 @@ void cam_ois_shutdown(struct cam_ois_ctrl_t *o_ctrl) o_ctrl->bridge_intf.session_hdl = -1; } kfree(power_info->power_setting); kfree(power_info->power_down_setting); power_info->power_setting = NULL; power_info->power_down_setting = NULL; o_ctrl->cam_ois_state = CAM_OIS_INIT; } Loading drivers/media/platform/msm/camera/cam_sensor_module/cam_sensor_utils/cam_sensor_util.c +19 −15 Original line number Diff line number Diff line Loading @@ -698,14 +698,17 @@ int32_t cam_sensor_update_power_settings(void *cmd_buf, } power_info->power_setting_size = 0; if (power_info->power_setting == NULL) { power_info->power_setting = (struct cam_sensor_power_setting *) kzalloc(sizeof(struct cam_sensor_power_setting) * MAX_POWER_CONFIG, GFP_KERNEL); if (!power_info->power_setting) return -ENOMEM; } power_info->power_down_setting_size = 0; if (power_info->power_down_setting == NULL) { power_info->power_down_setting = (struct cam_sensor_power_setting *) kzalloc(sizeof(struct cam_sensor_power_setting) * Loading @@ -714,6 +717,7 @@ int32_t cam_sensor_update_power_settings(void *cmd_buf, rc = -ENOMEM; goto free_power_settings; } } while (tot_size < cmd_length) { if (cmm_hdr->cmd_type == Loading Loading @@ -1552,7 +1556,7 @@ int cam_sensor_core_power_up(struct cam_sensor_power_ctrl_t *ctrl, if (ret) CAM_ERR(CAM_SENSOR, "cannot set pin to suspend state"); cam_res_mgr_shared_pinctrl_select_state(false); pinctrl_put(ctrl->pinctrl_info.pinctrl); devm_pinctrl_put(ctrl->pinctrl_info.pinctrl); cam_res_mgr_shared_pinctrl_put(); } Loading Loading @@ -1766,7 +1770,7 @@ int msm_camera_power_down(struct cam_sensor_power_ctrl_t *ctrl, CAM_ERR(CAM_SENSOR, "cannot set pin to suspend state"); cam_res_mgr_shared_pinctrl_select_state(false); pinctrl_put(ctrl->pinctrl_info.pinctrl); devm_pinctrl_put(ctrl->pinctrl_info.pinctrl); cam_res_mgr_shared_pinctrl_put(); } Loading Loading
drivers/media/platform/msm/camera/cam_sensor_module/cam_actuator/cam_actuator_core.c +12 −1 Original line number Diff line number Diff line Loading @@ -603,7 +603,11 @@ int32_t cam_actuator_i2c_pkt_parse(struct cam_actuator_ctrl_t *a_ctrl, void cam_actuator_shutdown(struct cam_actuator_ctrl_t *a_ctrl) { int rc; int rc = 0; struct cam_actuator_soc_private *soc_private = (struct cam_actuator_soc_private *)a_ctrl->soc_info.soc_private; struct cam_sensor_power_ctrl_t *power_info = &soc_private->power_info; if (a_ctrl->cam_act_state == CAM_ACTUATOR_INIT) return; Loading @@ -612,6 +616,7 @@ void cam_actuator_shutdown(struct cam_actuator_ctrl_t *a_ctrl) rc = cam_actuator_power_down(a_ctrl); if (rc < 0) CAM_ERR(CAM_ACTUATOR, "Actuator Power down failed"); a_ctrl->cam_act_state = CAM_ACTUATOR_ACQUIRE; } if (a_ctrl->cam_act_state >= CAM_ACTUATOR_ACQUIRE) { Loading @@ -622,6 +627,12 @@ void cam_actuator_shutdown(struct cam_actuator_ctrl_t *a_ctrl) a_ctrl->bridge_intf.link_hdl = -1; a_ctrl->bridge_intf.session_hdl = -1; } kfree(power_info->power_setting); kfree(power_info->power_down_setting); power_info->power_setting = NULL; power_info->power_down_setting = NULL; a_ctrl->cam_act_state = CAM_ACTUATOR_INIT; } Loading
drivers/media/platform/msm/camera/cam_sensor_module/cam_ois/cam_ois_core.c +11 −1 Original line number Diff line number Diff line Loading @@ -636,7 +636,11 @@ static int cam_ois_pkt_parse(struct cam_ois_ctrl_t *o_ctrl, void *arg) void cam_ois_shutdown(struct cam_ois_ctrl_t *o_ctrl) { int rc; int rc = 0; struct cam_ois_soc_private *soc_private = (struct cam_ois_soc_private *)o_ctrl->soc_info.soc_private; struct cam_sensor_power_ctrl_t *power_info = &soc_private->power_info; if (o_ctrl->cam_ois_state == CAM_OIS_INIT) return; Loading @@ -645,6 +649,7 @@ void cam_ois_shutdown(struct cam_ois_ctrl_t *o_ctrl) rc = cam_ois_power_down(o_ctrl); if (rc < 0) CAM_ERR(CAM_OIS, "OIS Power down failed"); o_ctrl->cam_ois_state = CAM_OIS_ACQUIRE; } if (o_ctrl->cam_ois_state >= CAM_OIS_ACQUIRE) { Loading @@ -656,6 +661,11 @@ void cam_ois_shutdown(struct cam_ois_ctrl_t *o_ctrl) o_ctrl->bridge_intf.session_hdl = -1; } kfree(power_info->power_setting); kfree(power_info->power_down_setting); power_info->power_setting = NULL; power_info->power_down_setting = NULL; o_ctrl->cam_ois_state = CAM_OIS_INIT; } Loading
drivers/media/platform/msm/camera/cam_sensor_module/cam_sensor_utils/cam_sensor_util.c +19 −15 Original line number Diff line number Diff line Loading @@ -698,14 +698,17 @@ int32_t cam_sensor_update_power_settings(void *cmd_buf, } power_info->power_setting_size = 0; if (power_info->power_setting == NULL) { power_info->power_setting = (struct cam_sensor_power_setting *) kzalloc(sizeof(struct cam_sensor_power_setting) * MAX_POWER_CONFIG, GFP_KERNEL); if (!power_info->power_setting) return -ENOMEM; } power_info->power_down_setting_size = 0; if (power_info->power_down_setting == NULL) { power_info->power_down_setting = (struct cam_sensor_power_setting *) kzalloc(sizeof(struct cam_sensor_power_setting) * Loading @@ -714,6 +717,7 @@ int32_t cam_sensor_update_power_settings(void *cmd_buf, rc = -ENOMEM; goto free_power_settings; } } while (tot_size < cmd_length) { if (cmm_hdr->cmd_type == Loading Loading @@ -1552,7 +1556,7 @@ int cam_sensor_core_power_up(struct cam_sensor_power_ctrl_t *ctrl, if (ret) CAM_ERR(CAM_SENSOR, "cannot set pin to suspend state"); cam_res_mgr_shared_pinctrl_select_state(false); pinctrl_put(ctrl->pinctrl_info.pinctrl); devm_pinctrl_put(ctrl->pinctrl_info.pinctrl); cam_res_mgr_shared_pinctrl_put(); } Loading Loading @@ -1766,7 +1770,7 @@ int msm_camera_power_down(struct cam_sensor_power_ctrl_t *ctrl, CAM_ERR(CAM_SENSOR, "cannot set pin to suspend state"); cam_res_mgr_shared_pinctrl_select_state(false); pinctrl_put(ctrl->pinctrl_info.pinctrl); devm_pinctrl_put(ctrl->pinctrl_info.pinctrl); cam_res_mgr_shared_pinctrl_put(); } Loading