power: fan53555: fix fan53555_regulator_set_value
authorVasily Khoruzhick <anarsoul@gmail.com>
Sun, 17 Nov 2019 18:47:36 +0000 (10:47 -0800)
committerKever Yang <kever.yang@rock-chips.com>
Sat, 23 Nov 2019 14:29:49 +0000 (22:29 +0800)
fan53555_regulator_set_value() passes its own dev to pmic_clrsetbits()
instead of its parent (pmic). As result u-boot crashes when you try to
set voltage on fan53555 regulator

Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
drivers/power/regulator/fan53555.c

index 9c48b26..24a9b67 100644 (file)
@@ -159,7 +159,7 @@ static int fan53555_regulator_set_value(struct udevice *dev, int uV)
        debug("%s: uV=%d; writing volume %d: %02x\n",
              __func__, uV, pdata->vol_reg, vol);
 
        debug("%s: uV=%d; writing volume %d: %02x\n",
              __func__, uV, pdata->vol_reg, vol);
 
-       return pmic_clrsetbits(dev, pdata->vol_reg, GENMASK(6, 0), vol);
+       return pmic_clrsetbits(dev->parent, pdata->vol_reg, GENMASK(6, 0), vol);
 }
 
 static int fan53555_voltages_setup(struct udevice *dev)
 }
 
 static int fan53555_voltages_setup(struct udevice *dev)