[PATCH 02/11] regulator: bq257xx: Remove reference to the parent MFD's dev

From: Alexey Charkov

Date: Tue Mar 03 2026 - 10:40:51 EST


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.

Signed-off-by: Alexey Charkov <alchark@xxxxxxxxxxx>
---
drivers/regulator/bq257xx-regulator.c | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/drivers/regulator/bq257xx-regulator.c b/drivers/regulator/bq257xx-regulator.c
index dab8f1ab4450..812938e565e3 100644
--- a/drivers/regulator/bq257xx-regulator.c
+++ b/drivers/regulator/bq257xx-regulator.c
@@ -15,7 +15,6 @@
#include <linux/regulator/of_regulator.h>

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, &reg);
+ ret = regmap_read(regmap, BQ25703_OTG_CURRENT, &reg);
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 = {};
@@ -149,7 +147,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);

--
2.52.0