Skip to content

Commit aef4d87

Browse files
alcharkbroonie
authored andcommitted
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 <broonie@kernel.org> Tested-by: Chris Morgan <macromorgan@hotmail.com> Signed-off-by: Alexey Charkov <alchark@flipper.net> Link: https://patch.msgid.link/20260331-bq25792-v6-2-0278fba33eb9@flipper.net Signed-off-by: Mark Brown <broonie@kernel.org>
1 parent e7ef5ec commit aef4d87

1 file changed

Lines changed: 4 additions & 7 deletions

File tree

drivers/regulator/bq257xx-regulator.c

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,18 @@
1515
#include <linux/regulator/of_regulator.h>
1616

1717
struct bq257xx_reg_data {
18-
struct bq257xx_device *bq;
1918
struct regulator_dev *bq257xx_reg;
2019
struct gpio_desc *otg_en_gpio;
2120
struct regulator_desc desc;
2221
};
2322

2423
static int bq25703_vbus_get_cur_limit(struct regulator_dev *rdev)
2524
{
26-
struct bq257xx_reg_data *pdata = rdev_get_drvdata(rdev);
25+
struct regmap *regmap = rdev_get_regmap(rdev);
2726
int ret;
2827
unsigned int reg;
2928

30-
ret = regmap_read(pdata->bq->regmap, BQ25703_OTG_CURRENT, &reg);
29+
ret = regmap_read(regmap, BQ25703_OTG_CURRENT, &reg);
3130
if (ret)
3231
return ret;
3332
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)
4039
static int bq25703_vbus_set_cur_limit(struct regulator_dev *rdev,
4140
int min_uA, int max_uA)
4241
{
43-
struct bq257xx_reg_data *pdata = rdev_get_drvdata(rdev);
42+
struct regmap *regmap = rdev_get_regmap(rdev);
4443
unsigned int reg;
4544

4645
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,
5251
if ((reg * BQ25703_OTG_CUR_STEP_UA) < min_uA)
5352
return -EINVAL;
5453

55-
return regmap_write(pdata->bq->regmap, BQ25703_OTG_CURRENT,
54+
return regmap_write(regmap, BQ25703_OTG_CURRENT,
5655
FIELD_PREP(BQ25703_OTG_CUR_MASK, reg));
5756
}
5857

@@ -137,7 +136,6 @@ static void bq257xx_reg_dt_parse_gpio(struct platform_device *pdev)
137136
static int bq257xx_regulator_probe(struct platform_device *pdev)
138137
{
139138
struct device *dev = &pdev->dev;
140-
struct bq257xx_device *bq = dev_get_drvdata(pdev->dev.parent);
141139
struct bq257xx_reg_data *pdata;
142140
struct device_node *np = dev->of_node;
143141
struct regulator_config cfg = {};
@@ -148,7 +146,6 @@ static int bq257xx_regulator_probe(struct platform_device *pdev)
148146
if (!pdata)
149147
return -ENOMEM;
150148

151-
pdata->bq = bq;
152149
pdata->desc = bq25703_vbus_desc;
153150

154151
platform_set_drvdata(pdev, pdata);

0 commit comments

Comments
 (0)