unsigned long freq_hz, volt, volt_old;
unsigned int old_freq, new_freq;
bool pll1_sys_temp_enabled = false;
- int ret;
+ int ret, ret1;
new_freq = freq_table[index].frequency;
freq_hz = new_freq * 1000;
dev_err(cpu_dev, "failed to set clock rate: %d\n", ret);
ret1 = regulator_set_voltage_tol(arm_reg, volt_old, 0);
- if (ret1)
- dev_warn(cpu_dev,
- "failed to restore vddarm voltage: %d\n", ret1);
+ if (ret1) {
+ dev_err(cpu_dev,
+ "failed to restore vddarm: %d\n", ret1);
+ return ret1;
+ }
return ret;
}
static int imx6_cpufreq_pm_notify(struct notifier_block *nb,
unsigned long event, void *dummy)
{
+ int ret;
+
switch (event) {
case PM_SUSPEND_PREPARE:
- if (!IS_ERR(dc_reg) && !ignore_dc_reg)
- regulator_set_voltage_tol(dc_reg, DC_VOLTAGE_MAX, 0);
+ if (!IS_ERR(dc_reg) && !ignore_dc_reg) {
+ ret = regulator_set_voltage_tol(dc_reg, DC_VOLTAGE_MAX, 0);
+ if (ret) {
+ dev_err(cpu_dev,
+ "failed to scale dc_reg to max: %d\n", ret);
+ return ret;
+ }
+ }
break;
case PM_POST_SUSPEND:
- if (!IS_ERR(dc_reg) && !ignore_dc_reg)
- regulator_set_voltage_tol(dc_reg, DC_VOLTAGE_MIN, 0);
+ if (!IS_ERR(dc_reg) && !ignore_dc_reg) {
+ ret = regulator_set_voltage_tol(dc_reg, DC_VOLTAGE_MIN, 0);
+ if (ret) {
+ dev_err(cpu_dev,
+ "failed to scale dc_reg to min: %d\n", ret);
+ return ret;
+ }
+ }
break;
default:
break;
*/
if (freq_table[num - 1].frequency > FREQ_528_MHZ)
ignore_dc_reg = true;
- if (!IS_ERR(dc_reg) && !ignore_dc_reg)
- regulator_set_voltage_tol(dc_reg, DC_VOLTAGE_MIN, 0);
+ if (!IS_ERR(dc_reg) && !ignore_dc_reg) {
+ ret = regulator_set_voltage_tol(dc_reg, DC_VOLTAGE_MIN, 0);
+ if (ret) {
+ dev_err(cpu_dev,
+ "failed to scale dc_reg to min: %d\n", ret);
+ return ret;
+ }
+ }
/* Make imx6_soc_volt array's size same as arm opp number */
imx6_soc_volt = devm_kcalloc(cpu_dev, num, sizeof(*imx6_soc_volt),