summaryrefslogtreecommitdiff
path: root/drivers/regulator
diff options
context:
space:
mode:
authorAlex Frid <afrid@nvidia.com>2014-02-10 23:21:34 -0800
committerYu-Huan Hsu <yhsu@nvidia.com>2014-02-14 12:27:06 -0800
commit52c313411df9e6b68b9a30fbdb8403eb42a5a999 (patch)
treeadf36fca4afc10ee33a3bf010aca08ea30c5bdde /drivers/regulator
parent0b281596185e8de4c505d1336f4f1fb7a3f45939 (diff)
regulator: Add VSEL attribute callback to DFLL bypass
Added callback to set DFLL bypass voltage selector registers access attribute as volatile (cached access is not supported). Bug 1454969 Change-Id: I3800f72bd6196a54bc3b34b71a274fa344c2f0f5 Signed-off-by: Alex Frid <afrid@nvidia.com> Reviewed-on: http://git-master/r/367356 Reviewed-by: Seshendra Gadagottu <sgadagottu@nvidia.com> Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
Diffstat (limited to 'drivers/regulator')
-rw-r--r--drivers/regulator/tegra-dfll-bypass-regulator.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/regulator/tegra-dfll-bypass-regulator.c b/drivers/regulator/tegra-dfll-bypass-regulator.c
index dd61e570836f..ecd5236e57a8 100644
--- a/drivers/regulator/tegra-dfll-bypass-regulator.c
+++ b/drivers/regulator/tegra-dfll-bypass-regulator.c
@@ -134,6 +134,12 @@ static unsigned int tegra_dfll_bypass_get_mode(struct regulator_dev *reg)
return REGULATOR_MODE_IDLE;
}
+static int tegra_dfll_bypass_set_vsel_volatile(struct regulator_dev *reg,
+ bool is_volatile)
+{
+ return is_volatile ? 0 : -EINVAL; /* no VSEL cache */
+}
+
static struct regulator_ops tegra_dfll_bypass_rops = {
.set_voltage = tegra_dfll_bypass_set_voltage,
.get_voltage = tegra_dfll_bypass_get_voltage,
@@ -142,6 +148,7 @@ static struct regulator_ops tegra_dfll_bypass_rops = {
.set_voltage_time_sel = tegra_dfll_bypass_set_voltage_time_sel,
.set_mode = tegra_dfll_bypass_set_mode,
.get_mode = tegra_dfll_bypass_get_mode,
+ .set_vsel_volatile = tegra_dfll_bypass_set_vsel_volatile,
};
static struct of_device_id of_tegra_dfll_bypass_pwm_match_tbl[] = {