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

Commit cf1466fb authored by Mark Brown's avatar Mark Brown
Browse files

Merge remote-tracking branch 'regulator/topic/of' into regulator-next

parents c99f21c2 86f66733
Loading
Loading
Loading
Loading
+2 −1
Original line number Original line Diff line number Diff line
@@ -347,7 +347,7 @@ static int pm8607_regulator_dt_init(struct platform_device *pdev,
				    struct regulator_config *config)
				    struct regulator_config *config)
{
{
	struct device_node *nproot, *np;
	struct device_node *nproot, *np;
	nproot = pdev->dev.parent->of_node;
	nproot = of_node_get(pdev->dev.parent->of_node);
	if (!nproot)
	if (!nproot)
		return -ENODEV;
		return -ENODEV;
	nproot = of_find_node_by_name(nproot, "regulators");
	nproot = of_find_node_by_name(nproot, "regulators");
@@ -363,6 +363,7 @@ static int pm8607_regulator_dt_init(struct platform_device *pdev,
			break;
			break;
		}
		}
	}
	}
	of_node_put(nproot);
	return 0;
	return 0;
}
}
#else
#else
+3 −2
Original line number Original line Diff line number Diff line
@@ -366,9 +366,9 @@ static int da9052_regulator_probe(struct platform_device *pdev)
		config.init_data = pdata->regulators[pdev->id];
		config.init_data = pdata->regulators[pdev->id];
	} else {
	} else {
#ifdef CONFIG_OF
#ifdef CONFIG_OF
		struct device_node *nproot = da9052->dev->of_node;
		struct device_node *nproot, *np;
		struct device_node *np;


		nproot = of_node_get(da9052->dev->of_node);
		if (!nproot)
		if (!nproot)
			return -ENODEV;
			return -ENODEV;


@@ -385,6 +385,7 @@ static int da9052_regulator_probe(struct platform_device *pdev)
				break;
				break;
			}
			}
		}
		}
		of_node_put(nproot);
#endif
#endif
	}
	}


+4 −3
Original line number Original line Diff line number Diff line
@@ -224,11 +224,11 @@ static struct of_regulator_match max8907_matches[] = {


static int max8907_regulator_parse_dt(struct platform_device *pdev)
static int max8907_regulator_parse_dt(struct platform_device *pdev)
{
{
	struct device_node *np = pdev->dev.parent->of_node;
	struct device_node *np, *regulators;
	struct device_node *regulators;
	int ret;
	int ret;


	if (!pdev->dev.parent->of_node)
	np = of_node_get(pdev->dev.parent->of_node);
	if (!np)
		return 0;
		return 0;


	regulators = of_find_node_by_name(np, "regulators");
	regulators = of_find_node_by_name(np, "regulators");
@@ -239,6 +239,7 @@ static int max8907_regulator_parse_dt(struct platform_device *pdev)


	ret = of_regulator_match(&pdev->dev, regulators, max8907_matches,
	ret = of_regulator_match(&pdev->dev, regulators, max8907_matches,
				 ARRAY_SIZE(max8907_matches));
				 ARRAY_SIZE(max8907_matches));
	of_node_put(regulators);
	if (ret < 0) {
	if (ret < 0) {
		dev_err(&pdev->dev, "Error parsing regulator init data: %d\n",
		dev_err(&pdev->dev, "Error parsing regulator init data: %d\n",
			ret);
			ret);
+2 −1
Original line number Original line Diff line number Diff line
@@ -252,7 +252,7 @@ static int max8925_regulator_dt_init(struct platform_device *pdev,
{
{
	struct device_node *nproot, *np;
	struct device_node *nproot, *np;
	int rcount;
	int rcount;
	nproot = pdev->dev.parent->of_node;
	nproot = of_node_get(pdev->dev.parent->of_node);
	if (!nproot)
	if (!nproot)
		return -ENODEV;
		return -ENODEV;
	np = of_find_node_by_name(nproot, "regulators");
	np = of_find_node_by_name(nproot, "regulators");
@@ -263,6 +263,7 @@ static int max8925_regulator_dt_init(struct platform_device *pdev,


	rcount = of_regulator_match(&pdev->dev, np,
	rcount = of_regulator_match(&pdev->dev, np,
				&max8925_regulator_matches[ridx], 1);
				&max8925_regulator_matches[ridx], 1);
	of_node_put(np);
	if (rcount < 0)
	if (rcount < 0)
		return -ENODEV;
		return -ENODEV;
	config->init_data =	max8925_regulator_matches[ridx].init_data;
	config->init_data =	max8925_regulator_matches[ridx].init_data;
+4 −4
Original line number Original line Diff line number Diff line
@@ -917,7 +917,7 @@ static int max8997_pmic_dt_parse_pdata(struct platform_device *pdev,
	struct max8997_regulator_data *rdata;
	struct max8997_regulator_data *rdata;
	unsigned int i, dvs_voltage_nr = 1, ret;
	unsigned int i, dvs_voltage_nr = 1, ret;


	pmic_np = iodev->dev->of_node;
	pmic_np = of_node_get(iodev->dev->of_node);
	if (!pmic_np) {
	if (!pmic_np) {
		dev_err(&pdev->dev, "could not find pmic sub-node\n");
		dev_err(&pdev->dev, "could not find pmic sub-node\n");
		return -ENODEV;
		return -ENODEV;
@@ -930,13 +930,12 @@ static int max8997_pmic_dt_parse_pdata(struct platform_device *pdev,
	}
	}


	/* count the number of regulators to be supported in pmic */
	/* count the number of regulators to be supported in pmic */
	pdata->num_regulators = 0;
	pdata->num_regulators = of_get_child_count(regulators_np);
	for_each_child_of_node(regulators_np, reg_np)
		pdata->num_regulators++;


	rdata = devm_kzalloc(&pdev->dev, sizeof(*rdata) *
	rdata = devm_kzalloc(&pdev->dev, sizeof(*rdata) *
				pdata->num_regulators, GFP_KERNEL);
				pdata->num_regulators, GFP_KERNEL);
	if (!rdata) {
	if (!rdata) {
		of_node_put(regulators_np);
		dev_err(&pdev->dev, "could not allocate memory for regulator data\n");
		dev_err(&pdev->dev, "could not allocate memory for regulator data\n");
		return -ENOMEM;
		return -ENOMEM;
	}
	}
@@ -959,6 +958,7 @@ static int max8997_pmic_dt_parse_pdata(struct platform_device *pdev,
		rdata->reg_node = reg_np;
		rdata->reg_node = reg_np;
		rdata++;
		rdata++;
	}
	}
	of_node_put(regulators_np);


	if (of_get_property(pmic_np, "max8997,pmic-buck1-uses-gpio-dvs", NULL))
	if (of_get_property(pmic_np, "max8997,pmic-buck1-uses-gpio-dvs", NULL))
		pdata->buck1_gpiodvs = true;
		pdata->buck1_gpiodvs = true;
Loading