]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - releases/4.19.31/regulator-max77620-initialize-values-for-dt-properties.patch
Linux 4.14.108
[thirdparty/kernel/stable-queue.git] / releases / 4.19.31 / regulator-max77620-initialize-values-for-dt-properties.patch
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
5
6 From: Mark Zhang <markz@nvidia.com>
7
8 commit 0ab66b3c326ef8f77dae9f528118966365757c0c upstream.
9
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
13 FPS and POK settings.
14
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>
20
21 ---
22 drivers/regulator/max77620-regulator.c | 10 +++++++++-
23 1 file changed, 9 insertions(+), 1 deletion(-)
24
25 --- a/drivers/regulator/max77620-regulator.c
26 +++ b/drivers/regulator/max77620-regulator.c
27 @@ -1,7 +1,7 @@
28 /*
29 * Maxim MAX77620 Regulator driver
30 *
31 - * Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved.
32 + * Copyright (c) 2016-2018, NVIDIA CORPORATION. All rights reserved.
33 *
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;
48
49 ret = max77620_read_slew_rate(pmic, id);
50 if (ret < 0)