From: Axel Lin Date: Mon, 9 Jul 2012 03:22:31 +0000 (+0800) Subject: regulator: twl: Fix the formula to calculate vsel and voltage for twl6030ldo X-Git-Tag: v3.6-rc1~157^2^2~7 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a3cb80f43a9bc9b64aedd14b100e99252767d78c;p=pandora-kernel.git regulator: twl: Fix the formula to calculate vsel and voltage for twl6030ldo In twl6030ldo_set_voltage, current code use below formula to calculate vsel: vsel = (min_uV/1000 - 1000)/100 + 1; This is worng because when min_uV is 1000000 uV, vsel is 1. It should be 0 in this case. Fix it by change the equation to: (This equation is common for linear mapping) vsel = DIV_ROUND_UP(min_uV - rdev->desc->min_uV, rdev->desc->uV_step); In twl6030ldo_get_voltage, current code use below formula to calculate voltage: mV = 1000mv + 100mv * (vsel - 1) This is worng because when vsel is 0, mV is 900mV. Note the min_uV is 1000mV. Fix it by change the equation to: (This equation is common for linear mapping) return rdev->desc->min_uV + vsel * rdev->desc->uV_step; Signed-off-by: Axel Lin Signed-off-by: Mark Brown --- Reading git-diff-tree failed