1 From 0ab66b3c326ef8f77dae9f528118966365757c0c Mon Sep 17 00:00:00 2001
2 From: Mark Zhang <markz@nvidia.com>
3 Date: Thu, 10 Jan 2019 12:11:16 +0800
4 Subject: regulator: max77620: Initialize values for DT properties
6 From: Mark Zhang <markz@nvidia.com>
8 commit 0ab66b3c326ef8f77dae9f528118966365757c0c upstream.
10 If regulator DT node doesn't exist, its of_parse_cb callback
11 function isn't called. Then all values for DT properties are
12 filled with zero. This leads to wrong register update for
15 Signed-off-by: Jinyoung Park <jinyoungp@nvidia.com>
16 Signed-off-by: Mark Zhang <markz@nvidia.com>
17 Signed-off-by: Mark Brown <broonie@kernel.org>
18 Cc: stable@vger.kernel.org
19 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
22 drivers/regulator/max77620-regulator.c | 10 +++++++++-
23 1 file changed, 9 insertions(+), 1 deletion(-)
25 --- a/drivers/regulator/max77620-regulator.c
26 +++ b/drivers/regulator/max77620-regulator.c
29 * Maxim MAX77620 Regulator driver
31 - * Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved.
32 + * Copyright (c) 2016-2018, NVIDIA CORPORATION. All rights reserved.
34 * Author: Mallikarjun Kasoju <mkasoju@nvidia.com>
35 * Laxman Dewangan <ldewangan@nvidia.com>
36 @@ -803,6 +803,14 @@ static int max77620_regulator_probe(stru
37 rdesc = &rinfo[id].desc;
38 pmic->rinfo[id] = &max77620_regs_info[id];
39 pmic->enable_power_mode[id] = MAX77620_POWER_MODE_NORMAL;
40 + pmic->reg_pdata[id].active_fps_src = -1;
41 + pmic->reg_pdata[id].active_fps_pd_slot = -1;
42 + pmic->reg_pdata[id].active_fps_pu_slot = -1;
43 + pmic->reg_pdata[id].suspend_fps_src = -1;
44 + pmic->reg_pdata[id].suspend_fps_pd_slot = -1;
45 + pmic->reg_pdata[id].suspend_fps_pu_slot = -1;
46 + pmic->reg_pdata[id].power_ok = -1;
47 + pmic->reg_pdata[id].ramp_rate_setting = -1;
49 ret = max77620_read_slew_rate(pmic, id);