]> git.karo-electronics.de Git - linux-beck.git/commitdiff
regulator: Do proper shift to set correct bit for DC[2|5]_HIB_MODE setting
authorAxel Lin <axel.lin@gmail.com>
Thu, 22 Mar 2012 22:27:10 +0000 (06:27 +0800)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Mon, 26 Mar 2012 17:35:35 +0000 (18:35 +0100)
DC[2|5]_HIB_MODE is BIT 12 of DCDC[2|5] Control register.
WM8350_DC2_HIB_MODE_ACTIVE/WM8350_DC2_HIB_MODE_DISABLE are defined as 1/0.
Thus we need to left shift WM8350_DC2_HIB_MODE_SHIFT bits.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
drivers/regulator/wm8350-regulator.c

index 1c548218e12a2c3a02ce775ad08e28544a8d4821..ff3465423be12e3774022adf6629cb993701002e 100644 (file)
@@ -575,13 +575,13 @@ static int wm8350_dcdc25_set_suspend_enable(struct regulator_dev *rdev)
                val = wm8350_reg_read(wm8350, WM8350_DCDC2_CONTROL)
                    & ~WM8350_DC2_HIB_MODE_MASK;
                wm8350_reg_write(wm8350, WM8350_DCDC2_CONTROL, val |
-                                WM8350_DC2_HIB_MODE_ACTIVE);
+                   (WM8350_DC2_HIB_MODE_ACTIVE << WM8350_DC2_HIB_MODE_SHIFT));
                break;
        case WM8350_DCDC_5:
                val = wm8350_reg_read(wm8350, WM8350_DCDC5_CONTROL)
-                   & ~WM8350_DC2_HIB_MODE_MASK;
+                   & ~WM8350_DC5_HIB_MODE_MASK;
                wm8350_reg_write(wm8350, WM8350_DCDC5_CONTROL, val |
-                                WM8350_DC5_HIB_MODE_ACTIVE);
+                   (WM8350_DC5_HIB_MODE_ACTIVE << WM8350_DC5_HIB_MODE_SHIFT));
                break;
        default:
                return -EINVAL;
@@ -600,13 +600,13 @@ static int wm8350_dcdc25_set_suspend_disable(struct regulator_dev *rdev)
                val = wm8350_reg_read(wm8350, WM8350_DCDC2_CONTROL)
                    & ~WM8350_DC2_HIB_MODE_MASK;
                wm8350_reg_write(wm8350, WM8350_DCDC2_CONTROL, val |
-                                WM8350_DC2_HIB_MODE_DISABLE);
+                   (WM8350_DC2_HIB_MODE_DISABLE << WM8350_DC2_HIB_MODE_SHIFT));
                break;
        case WM8350_DCDC_5:
                val = wm8350_reg_read(wm8350, WM8350_DCDC5_CONTROL)
-                   & ~WM8350_DC2_HIB_MODE_MASK;
+                   & ~WM8350_DC5_HIB_MODE_MASK;
                wm8350_reg_write(wm8350, WM8350_DCDC5_CONTROL, val |
-                                WM8350_DC2_HIB_MODE_DISABLE);
+                   (WM8350_DC5_HIB_MODE_DISABLE << WM8350_DC5_HIB_MODE_SHIFT));
                break;
        default:
                return -EINVAL;