summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/vp.c
diff options
context:
space:
mode:
authorTodd Poynor <toddpoynor@google.com>2011-05-28 04:15:59 +0200
committerKevin Hilman <khilman@ti.com>2011-09-15 21:09:08 +0200
commitbea30ed65fb2432097f362ce17042e22febcb616 (patch)
treeb4bb15f0099e1d7e0fbe7ef5920491f6f388f5bd /arch/arm/mach-omap2/vp.c
parentOMAP3+: VP: move voltage scale function pointer into struct voltagedomain (diff)
downloadlinux-bea30ed65fb2432097f362ce17042e22febcb616.tar.xz
linux-bea30ed65fb2432097f362ce17042e22febcb616.zip
OMAP: VP: Explicitly mask VPVOLTAGE field
Reading the VPVOLTAGE field of PRM_VP_*_VOLTAGE registers currently relies on a u32 -> u8 conversion to mask off the FORCEUPDATEWAIT field in the upper bits. Make this explicit using the mask symbol already defined, added as a new field in struct omap_vp_common. Signed-off-by: Todd Poynor <toddpoynor@google.com> Signed-off-by: Kevin Hilman <khilman@ti.com>
Diffstat (limited to 'arch/arm/mach-omap2/vp.c')
-rw-r--r--arch/arm/mach-omap2/vp.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/vp.c b/arch/arm/mach-omap2/vp.c
index e7d38f67db87..38076205312e 100644
--- a/arch/arm/mach-omap2/vp.c
+++ b/arch/arm/mach-omap2/vp.c
@@ -227,7 +227,8 @@ unsigned long omap_vp_get_curr_volt(struct voltagedomain *voltdm)
return 0;
}
- curr_vsel = voltdm->read(vp->voltage);
+ curr_vsel = (voltdm->read(vp->voltage) & vp->common->vpvoltage_mask)
+ >> __ffs(vp->common->vpvoltage_mask);
if (!voltdm->pmic || !voltdm->pmic->vsel_to_uv) {
pr_warning("%s: PMIC function to convert vsel to voltage"