Message ID | 20190110041117.8216-2-markz@nvidia.com |
---|---|
State | Deferred |
Headers | show |
Series | [1/2] regulator: max77620: Initialize values for DT properties | expand |
On Thu, Jan 10, 2019 at 12:11:17PM +0800, Mark Zhang wrote: > + /* there is no SW control for rails which are part of FPS > + * set always no contraint to true to avoid regulator > + * enable/disable notification > + */ > + if (pmic->reg_pdata[id].active_fps_src != MAX77620_FPS_SRC_NONE) > + rdev->constraints->always_on = true; A driver should never modify the constraints, you should register a different set of operations without an enable operation instead and let the framework handle this.
On 1/10/2019 8:07 PM, Mark Brown wrote: > On Thu, Jan 10, 2019 at 12:11:17PM +0800, Mark Zhang wrote: > >> + /* there is no SW control for rails which are part of FPS >> + * set always no contraint to true to avoid regulator >> + * enable/disable notification >> + */ >> + if (pmic->reg_pdata[id].active_fps_src != MAX77620_FPS_SRC_NONE) >> + rdev->constraints->always_on = true; > > A driver should never modify the constraints, you should register a > different set of operations without an enable operation instead and let > the framework handle this. Oh right, today I checked the codes based on your suggestion so I think we don't need this patch now. We can find another way to fix our issue without touching the framework constraints. Thanks. Mark >
diff --git a/drivers/regulator/max77620-regulator.c b/drivers/regulator/max77620-regulator.c index cd93cf53e23c..20e985071bfc 100644 --- a/drivers/regulator/max77620-regulator.c +++ b/drivers/regulator/max77620-regulator.c @@ -823,6 +823,13 @@ static int max77620_regulator_probe(struct platform_device *pdev) rdesc->name, ret); return ret; } + + /* there is no SW control for rails which are part of FPS + * set always no contraint to true to avoid regulator + * enable/disable notification + */ + if (pmic->reg_pdata[id].active_fps_src != MAX77620_FPS_SRC_NONE) + rdev->constraints->always_on = true; } return 0;