Unverified Commit aef4d87f authored by Alexey Charkov's avatar Alexey Charkov Committed by Mark Brown
Browse files

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: default avatarMark Brown <broonie@kernel.org>
Tested-by: default avatarChris Morgan <macromorgan@hotmail.com>
Signed-off-by: default avatarAlexey Charkov <alchark@flipper.net>
Link: https://patch.msgid.link/20260331-bq25792-v6-2-0278fba33eb9@flipper.net


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent e7ef5ec6
Loading
Loading
Loading
Loading
+4 −7
Original line number Diff line number Diff line
@@ -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 = {};
@@ -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);