]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
regulator: rk8xx: fix incorrect device used for _ldo_[sg]et_suspend_value
authorQuentin Schulz <quentin.schulz@cherry.de>
Wed, 5 Jun 2024 09:33:21 +0000 (11:33 +0200)
committerKever Yang <kever.yang@rock-chips.com>
Fri, 14 Jun 2024 09:02:07 +0000 (17:02 +0800)
_ldo_get_suspend_value and _ldo_set_suspend_value get passed the parent
of the regulator (so the pmic) as first argument, therefore this udevice
should be used for pmic_* callbacks instead of using the parent of the
pmic.

To avoid further confusion, let's rename the argument to pmic instead of
dev, highlighting which kind of device we expect as argument.

Fixes: f047e4ab9762 ("regulator: rk8xx: add indirection level for some ldo callbacks")
Reported-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org> # chromebook-bob
drivers/power/regulator/rk8xx.c

index 1bd4605d43a06c9c9cf8f77d4b6147ed08b5130c..cce3502f89c92a1d7a438fc1ef5378628d6e2ffd 100644 (file)
@@ -1216,7 +1216,7 @@ static int pldo_set_value(struct udevice *dev, int uvolt)
        return _ldo_set_value(dev, info, uvolt);
 }
 
-static int _ldo_set_suspend_value(struct udevice *dev, const struct rk8xx_reg_info *info, int uvolt)
+static int _ldo_set_suspend_value(struct udevice *pmic, const struct rk8xx_reg_info *info, int uvolt)
 {
        int mask = info->vsel_mask;
        int val;
@@ -1232,7 +1232,7 @@ static int _ldo_set_suspend_value(struct udevice *dev, const struct rk8xx_reg_in
        debug("%s: volt=%d, reg=0x%x, mask=0x%x, val=0x%x\n",
              __func__, uvolt, info->vsel_sleep_reg, mask, val);
 
-       return pmic_clrsetbits(dev->parent, info->vsel_sleep_reg, mask, val);
+       return pmic_clrsetbits(pmic, info->vsel_sleep_reg, mask, val);
 }
 
 static int ldo_set_suspend_value(struct udevice *dev, int uvolt)
@@ -1259,7 +1259,7 @@ static int pldo_set_suspend_value(struct udevice *dev, int uvolt)
        return _ldo_set_suspend_value(dev->parent, info, uvolt);
 }
 
-static int _ldo_get_suspend_value(struct udevice *dev, const struct rk8xx_reg_info *info)
+static int _ldo_get_suspend_value(struct udevice *pmic, const struct rk8xx_reg_info *info)
 {
        int mask = info->vsel_mask;
        int val, ret;
@@ -1267,7 +1267,7 @@ static int _ldo_get_suspend_value(struct udevice *dev, const struct rk8xx_reg_in
        if (info->vsel_sleep_reg == NA)
                return -ENOSYS;
 
-       ret = pmic_reg_read(dev->parent, info->vsel_sleep_reg);
+       ret = pmic_reg_read(pmic, info->vsel_sleep_reg);
        if (ret < 0)
                return ret;