Merge "msm: camera: sensor: Change regulator get,put to devres entry" into camera-kernel.lnx.5.0

This commit is contained in:
Haritha Chintalapati
2021-04-30 17:31:27 -07:00
committato da Gerrit - the friendly Code Review server
5 ha cambiato i file con 63 aggiunte e 21 eliminazioni

Vedi File

@@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
* Copyright (c) 2017-2021, The Linux Foundation. All rights reserved.
*/
#include <linux/of.h>
@@ -15,7 +15,7 @@
int32_t cam_actuator_parse_dt(struct cam_actuator_ctrl_t *a_ctrl,
struct device *dev)
{
int32_t rc = 0;
int32_t i, rc = 0;
struct cam_hw_soc_info *soc_info = &a_ctrl->soc_info;
struct cam_actuator_soc_private *soc_private =
(struct cam_actuator_soc_private *)a_ctrl->soc_info.soc_private;
@@ -56,6 +56,20 @@ int32_t cam_actuator_parse_dt(struct cam_actuator_ctrl_t *a_ctrl,
CAM_DBG(CAM_ACTUATOR, "cci-device %d", a_ctrl->cci_num);
}
/* Initialize regulators to default parameters */
for (i = 0; i < soc_info->num_rgltr; i++) {
soc_info->rgltr[i] = devm_regulator_get(soc_info->dev,
soc_info->rgltr_name[i]);
if (IS_ERR_OR_NULL(soc_info->rgltr[i])) {
rc = PTR_ERR(soc_info->rgltr[i]);
rc = rc ? rc : -EINVAL;
CAM_ERR(CAM_ACTUATOR, "get failed for regulator %s %d",
soc_info->rgltr_name[i], rc);
return rc;
}
CAM_DBG(CAM_ACTUATOR, "get for regulator %s",
soc_info->rgltr_name[i]);
}
if (!soc_info->gpio_data) {
CAM_DBG(CAM_ACTUATOR, "No GPIO found");
rc = 0;

Vedi File

@@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
* Copyright (c) 2017-2021, The Linux Foundation. All rights reserved.
*/
#include <linux/of.h>
@@ -380,5 +380,20 @@ int cam_eeprom_parse_dt(struct cam_eeprom_ctrl_t *e_ctrl)
}
}
/* Initialize regulators to default parameters */
for (i = 0; i < soc_info->num_rgltr; i++) {
soc_info->rgltr[i] = devm_regulator_get(soc_info->dev,
soc_info->rgltr_name[i]);
if (IS_ERR_OR_NULL(soc_info->rgltr[i])) {
rc = PTR_ERR(soc_info->rgltr[i]);
rc = rc ? rc : -EINVAL;
CAM_ERR(CAM_EEPROM, "get failed for regulator %s",
soc_info->rgltr_name[i]);
return rc;
}
CAM_DBG(CAM_EEPROM, "get for regulator %s",
soc_info->rgltr_name[i]);
}
return rc;
}

Vedi File

@@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
* Copyright (c) 2017-2021, The Linux Foundation. All rights reserved.
*/
#include <linux/of.h>
@@ -41,6 +41,21 @@ static int cam_ois_get_dt_data(struct cam_ois_ctrl_t *o_ctrl)
return rc;
}
/* Initialize regulators to default parameters */
for (i = 0; i < soc_info->num_rgltr; i++) {
soc_info->rgltr[i] = devm_regulator_get(soc_info->dev,
soc_info->rgltr_name[i]);
if (IS_ERR_OR_NULL(soc_info->rgltr[i])) {
rc = PTR_ERR(soc_info->rgltr[i]);
rc = rc ? rc : -EINVAL;
CAM_ERR(CAM_OIS, "get failed for regulator %s",
soc_info->rgltr_name[i]);
return rc;
}
CAM_DBG(CAM_OIS, "get for regulator %s",
soc_info->rgltr_name[i]);
}
if (!soc_info->gpio_data) {
CAM_INFO(CAM_OIS, "No GPIO found");
return 0;

Vedi File

@@ -280,6 +280,21 @@ int32_t cam_sensor_parse_dt(struct cam_sensor_ctrl_t *s_ctrl)
return rc;
}
}
/* Initialize regulators to default parameters */
for (i = 0; i < soc_info->num_rgltr; i++) {
soc_info->rgltr[i] = devm_regulator_get(soc_info->dev,
soc_info->rgltr_name[i]);
if (IS_ERR_OR_NULL(soc_info->rgltr[i])) {
rc = PTR_ERR(soc_info->rgltr[i]);
rc = rc ? rc : -EINVAL;
CAM_ERR(CAM_SENSOR, "get failed for regulator %s",
soc_info->rgltr_name[i]);
return rc;
}
CAM_DBG(CAM_SENSOR, "get for regulator %s",
soc_info->rgltr_name[i]);
}
rc = msm_sensor_init_default_params(s_ctrl);
if (rc < 0) {
CAM_ERR(CAM_SENSOR,

Vedi File

@@ -1974,10 +1974,6 @@ static int cam_config_mclk_reg(struct cam_sensor_power_ctrl_t *ctrl,
ps->data[0] =
soc_info->rgltr[j];
regulator_put(
soc_info->rgltr[j]);
soc_info->rgltr[j] = NULL;
}
}
}
@@ -2057,11 +2053,6 @@ int cam_sensor_core_power_up(struct cam_sensor_power_ctrl_t *ctrl,
CAM_DBG(CAM_SENSOR,
"Enable cam_clk: %d", j);
soc_info->rgltr[j] =
regulator_get(
soc_info->dev,
soc_info->rgltr_name[j]);
if (IS_ERR_OR_NULL(
soc_info->rgltr[j])) {
rc = PTR_ERR(
@@ -2156,9 +2147,6 @@ int cam_sensor_core_power_up(struct cam_sensor_power_ctrl_t *ctrl,
CAM_DBG(CAM_SENSOR, "Enable Regulator");
vreg_idx = power_setting->seq_val;
soc_info->rgltr[vreg_idx] =
regulator_get(soc_info->dev,
soc_info->rgltr_name[vreg_idx]);
if (IS_ERR_OR_NULL(
soc_info->rgltr[vreg_idx])) {
rc = PTR_ERR(soc_info->rgltr[vreg_idx]);
@@ -2281,8 +2269,6 @@ power_up_failed:
power_setting->data[0] =
soc_info->rgltr[vreg_idx];
regulator_put(soc_info->rgltr[vreg_idx]);
soc_info->rgltr[vreg_idx] = NULL;
} else {
CAM_ERR(CAM_SENSOR, "seq_val:%d > num_vreg: %d",
power_setting->seq_val, num_vreg);
@@ -2449,9 +2435,6 @@ int cam_sensor_util_power_down(struct cam_sensor_power_ctrl_t *ctrl,
}
ps->data[0] =
soc_info->rgltr[ps->seq_val];
regulator_put(
soc_info->rgltr[ps->seq_val]);
soc_info->rgltr[ps->seq_val] = NULL;
} else {
CAM_ERR(CAM_SENSOR,
"seq_val:%d > num_vreg: %d",