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

Commit 6994de36 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "soc: qcom: spm: Read the voltage value from PMIC_STS register"

parents d31d64a7 27c6a6e7
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -423,6 +423,12 @@ int msm_spm_drv_set_low_power_mode(struct msm_spm_driver_data *dev,
	return 0;
}

uint32_t msm_spm_drv_get_vdd(struct msm_spm_driver_data *dev)
{
	msm_spm_drv_load_shadow(dev, MSM_SPM_REG_SAW_PMIC_STS);
	return dev->reg_shadow[MSM_SPM_REG_SAW_PMIC_STS] & 0xFF;
}

#ifdef CONFIG_MSM_AVS_HW
static bool msm_spm_drv_is_avs_enabled(struct msm_spm_driver_data *dev)
{
+2 −7
Original line number Diff line number Diff line
@@ -144,19 +144,14 @@ EXPORT_SYMBOL(msm_spm_set_vdd);
 * @cpu: core id
 * @return: Returns encoded PMIC data.
 */
unsigned int msm_spm_get_vdd(unsigned int cpu)
int msm_spm_get_vdd(unsigned int cpu)
{
	int ret;
	struct msm_spm_device *dev = per_cpu(cpu_vctl_device, cpu);

	if (!dev)
		return -EPROBE_DEFER;

	ret = IS_ERR(dev);
	if (ret)
		return ret;

	return dev->cpu_vdd;
	return msm_spm_drv_get_vdd(&dev->reg_data) ? : -EINVAL;
}
EXPORT_SYMBOL(msm_spm_get_vdd);

+1 −0
Original line number Diff line number Diff line
@@ -130,4 +130,5 @@ void msm_spm_reinit(void);
int msm_spm_init(struct msm_spm_platform_data *data, int nr_devs);
void msm_spm_drv_upd_reg_shadow(struct msm_spm_driver_data *dev, int id,
		int val);
uint32_t msm_spm_drv_get_vdd(struct msm_spm_driver_data *dev);
#endif
+2 −2
Original line number Diff line number Diff line
@@ -36,7 +36,7 @@ struct device_node;
int msm_spm_set_low_power_mode(unsigned int mode, bool notify_rpm);
int msm_spm_probe_done(void);
int msm_spm_set_vdd(unsigned int cpu, unsigned int vlevel);
unsigned int msm_spm_get_vdd(unsigned int cpu);
int msm_spm_get_vdd(unsigned int cpu);
int msm_spm_turn_on_cpu_rail(struct device_node *l2ccc_node,
		unsigned int val, int cpu, int vctl_offset);
struct msm_spm_device *msm_spm_get_device_by_name(const char *name);
@@ -89,7 +89,7 @@ static inline int msm_spm_set_vdd(unsigned int cpu, unsigned int vlevel)
	return -ENOSYS;
}

static inline unsigned int msm_spm_get_vdd(unsigned int cpu)
static inline int msm_spm_get_vdd(unsigned int cpu)
{
	return 0;
}