Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit df9edcba authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'regulator-fix-v5.3-rc3' of...

Merge tag 'regulator-fix-v5.3-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator

Pull regulator fixes from Mark Brown:
 "A few small driver specific fixes here plus one core fix for a
  refcounting problem with DT which will have little practical impact
  unless overlays are used"

* tag 'regulator-fix-v5.3-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
  regulator: of: Add of_node_put() before return in function
  regulator: lp87565: Fix probe failure for "ti,lp87565"
  regulator: axp20x: fix DCDC5 and DCDC6 for AXP803
  regulator: axp20x: fix DCDCA and DCDCD for AXP806
parents 9e9671ce 811ba489
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -174,14 +174,14 @@
#define AXP803_DCDC5_1140mV_STEPS	35
#define AXP803_DCDC5_1140mV_END		\
	(AXP803_DCDC5_1140mV_START + AXP803_DCDC5_1140mV_STEPS)
#define AXP803_DCDC5_NUM_VOLTAGES	68
#define AXP803_DCDC5_NUM_VOLTAGES	69

#define AXP803_DCDC6_600mV_START	0x00
#define AXP803_DCDC6_600mV_STEPS	50
#define AXP803_DCDC6_600mV_END		\
	(AXP803_DCDC6_600mV_START + AXP803_DCDC6_600mV_STEPS)
#define AXP803_DCDC6_1120mV_START	0x33
#define AXP803_DCDC6_1120mV_STEPS	14
#define AXP803_DCDC6_1120mV_STEPS	20
#define AXP803_DCDC6_1120mV_END		\
	(AXP803_DCDC6_1120mV_START + AXP803_DCDC6_1120mV_STEPS)
#define AXP803_DCDC6_NUM_VOLTAGES	72
@@ -240,7 +240,7 @@
#define AXP806_DCDCA_600mV_END		\
	(AXP806_DCDCA_600mV_START + AXP806_DCDCA_600mV_STEPS)
#define AXP806_DCDCA_1120mV_START	0x33
#define AXP806_DCDCA_1120mV_STEPS	14
#define AXP806_DCDCA_1120mV_STEPS	20
#define AXP806_DCDCA_1120mV_END		\
	(AXP806_DCDCA_1120mV_START + AXP806_DCDCA_1120mV_STEPS)
#define AXP806_DCDCA_NUM_VOLTAGES	72
@@ -774,8 +774,8 @@ static const struct regulator_linear_range axp806_dcdcd_ranges[] = {
			       AXP806_DCDCD_600mV_END,
			       20000),
	REGULATOR_LINEAR_RANGE(1600000,
			       AXP806_DCDCD_600mV_START,
			       AXP806_DCDCD_600mV_END,
			       AXP806_DCDCD_1600mV_START,
			       AXP806_DCDCD_1600mV_END,
			       100000),
};

+4 −4
Original line number Diff line number Diff line
@@ -163,7 +163,7 @@ static int lp87565_regulator_probe(struct platform_device *pdev)
	struct lp87565 *lp87565 = dev_get_drvdata(pdev->dev.parent);
	struct regulator_config config = { };
	struct regulator_dev *rdev;
	int i, min_idx = LP87565_BUCK_0, max_idx = LP87565_BUCK_3;
	int i, min_idx, max_idx;

	platform_set_drvdata(pdev, lp87565);

@@ -182,9 +182,9 @@ static int lp87565_regulator_probe(struct platform_device *pdev)
		max_idx = LP87565_BUCK_3210;
		break;
	default:
		dev_err(lp87565->dev, "Invalid lp config %d\n",
			lp87565->dev_type);
		return -EINVAL;
		min_idx = LP87565_BUCK_0;
		max_idx = LP87565_BUCK_3;
		break;
	}

	for (i = min_idx; i <= max_idx; i++) {
+3 −1
Original line number Diff line number Diff line
@@ -416,9 +416,11 @@ device_node *regulator_of_get_init_node(struct device *dev,
		if (!name)
			name = child->name;

		if (!strcmp(desc->of_match, name))
		if (!strcmp(desc->of_match, name)) {
			of_node_put(search);
			return of_node_get(child);
		}
	}

	of_node_put(search);