From: Alexey Charkov Date: Tue, 31 Mar 2026 15:43:39 +0000 (+0400) Subject: regulator: bq257xx: Remove reference to the parent MFD's dev X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=aef4d87f2c1fdb87e55ea2cbe3ea47b01b256f57;p=thirdparty%2Fkernel%2Flinux.git regulator: bq257xx: Remove reference to the parent MFD's dev Drop the ->bq field from the platform data of the bq257xx regulator driver, which was only used to get the regmap of the parent MFD device, and use the regmap from the regulator_dev instead, slimming down the code a bit. Acked-by: Mark Brown Tested-by: Chris Morgan Signed-off-by: Alexey Charkov Link: https://patch.msgid.link/20260331-bq25792-v6-2-0278fba33eb9@flipper.net Signed-off-by: Mark Brown --- diff --git a/drivers/regulator/bq257xx-regulator.c b/drivers/regulator/bq257xx-regulator.c index 711dbe045383c..fcc2cfd1454be 100644 --- a/drivers/regulator/bq257xx-regulator.c +++ b/drivers/regulator/bq257xx-regulator.c @@ -15,7 +15,6 @@ #include struct bq257xx_reg_data { - struct bq257xx_device *bq; struct regulator_dev *bq257xx_reg; struct gpio_desc *otg_en_gpio; struct regulator_desc desc; @@ -23,11 +22,11 @@ struct bq257xx_reg_data { static int bq25703_vbus_get_cur_limit(struct regulator_dev *rdev) { - struct bq257xx_reg_data *pdata = rdev_get_drvdata(rdev); + struct regmap *regmap = rdev_get_regmap(rdev); int ret; unsigned int reg; - ret = regmap_read(pdata->bq->regmap, BQ25703_OTG_CURRENT, ®); + ret = regmap_read(regmap, BQ25703_OTG_CURRENT, ®); if (ret) return ret; return FIELD_GET(BQ25703_OTG_CUR_MASK, reg) * BQ25703_OTG_CUR_STEP_UA; @@ -40,7 +39,7 @@ static int bq25703_vbus_get_cur_limit(struct regulator_dev *rdev) static int bq25703_vbus_set_cur_limit(struct regulator_dev *rdev, int min_uA, int max_uA) { - struct bq257xx_reg_data *pdata = rdev_get_drvdata(rdev); + struct regmap *regmap = rdev_get_regmap(rdev); unsigned int reg; if ((min_uA > BQ25703_OTG_CUR_MAX_UA) || (max_uA < 0)) @@ -52,7 +51,7 @@ static int bq25703_vbus_set_cur_limit(struct regulator_dev *rdev, if ((reg * BQ25703_OTG_CUR_STEP_UA) < min_uA) return -EINVAL; - return regmap_write(pdata->bq->regmap, BQ25703_OTG_CURRENT, + return regmap_write(regmap, BQ25703_OTG_CURRENT, FIELD_PREP(BQ25703_OTG_CUR_MASK, reg)); } @@ -137,7 +136,6 @@ static void bq257xx_reg_dt_parse_gpio(struct platform_device *pdev) static int bq257xx_regulator_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; - struct bq257xx_device *bq = dev_get_drvdata(pdev->dev.parent); struct bq257xx_reg_data *pdata; struct device_node *np = dev->of_node; struct regulator_config cfg = {}; @@ -148,7 +146,6 @@ static int bq257xx_regulator_probe(struct platform_device *pdev) if (!pdata) return -ENOMEM; - pdata->bq = bq; pdata->desc = bq25703_vbus_desc; platform_set_drvdata(pdev, pdata);