diff options
author | Roel Kluin <roel.kluin@gmail.com> | 2009-10-16 14:16:15 +0200 |
---|---|---|
committer | Liam Girdwood <lrg@slimlogic.co.uk> | 2009-11-16 09:57:17 +0000 |
commit | 9a767d43fbddb3319dca568df49c48e0d1bb6bd8 (patch) | |
tree | a70c837dc27091b54593c2c614e5af7687d01ceb /drivers/regulator | |
parent | 60ef66fcf40f0e7bc9579981aa16bd8218942a83 (diff) | |
download | op-kernel-dev-9a767d43fbddb3319dca568df49c48e0d1bb6bd8.zip op-kernel-dev-9a767d43fbddb3319dca568df49c48e0d1bb6bd8.tar.gz |
regulator: Fix check of unsigned return value and transmit errors in wm831x_gp_ldo_get_mode()
If ret is unsigned, the checks for negative wm831x_reg_read() return values
are wrong. The error value should be transmitted to its caller, e.g.
wm831x_gp_ldo_get_status() which tests for a negative return value.
Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Diffstat (limited to 'drivers/regulator')
-rw-r--r-- | drivers/regulator/wm831x-ldo.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/regulator/wm831x-ldo.c b/drivers/regulator/wm831x-ldo.c index bb61aed..902db56 100644 --- a/drivers/regulator/wm831x-ldo.c +++ b/drivers/regulator/wm831x-ldo.c @@ -175,18 +175,18 @@ static unsigned int wm831x_gp_ldo_get_mode(struct regulator_dev *rdev) struct wm831x *wm831x = ldo->wm831x; int ctrl_reg = ldo->base + WM831X_LDO_CONTROL; int on_reg = ldo->base + WM831X_LDO_ON_CONTROL; - unsigned int ret; + int ret; ret = wm831x_reg_read(wm831x, on_reg); if (ret < 0) - return 0; + return ret; if (!(ret & WM831X_LDO1_ON_MODE)) return REGULATOR_MODE_NORMAL; ret = wm831x_reg_read(wm831x, ctrl_reg); if (ret < 0) - return 0; + return ret; if (ret & WM831X_LDO1_LP_MODE) return REGULATOR_MODE_STANDBY; |