Commit 67ddc68a authored by Axel Lin's avatar Axel Lin Committed by Mark Brown

regulator: da9052: Convert to regulator core's simplified DT parsing code

Use regulator core's simplified DT parsing code to simply the driver
implementation.
Signed-off-by: default avatarAxel Lin <axel.lin@ingics.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 6cabb8b7
...@@ -294,6 +294,8 @@ static const struct regulator_ops da9052_ldo_ops = { ...@@ -294,6 +294,8 @@ static const struct regulator_ops da9052_ldo_ops = {
{\ {\
.reg_desc = {\ .reg_desc = {\
.name = #_name,\ .name = #_name,\
.of_match = of_match_ptr(#_name),\
.regulators_node = of_match_ptr("regulators"),\
.ops = &da9052_ldo_ops,\ .ops = &da9052_ldo_ops,\
.type = REGULATOR_VOLTAGE,\ .type = REGULATOR_VOLTAGE,\
.id = DA9052_ID_##_id,\ .id = DA9052_ID_##_id,\
...@@ -314,6 +316,8 @@ static const struct regulator_ops da9052_ldo_ops = { ...@@ -314,6 +316,8 @@ static const struct regulator_ops da9052_ldo_ops = {
{\ {\
.reg_desc = {\ .reg_desc = {\
.name = #_name,\ .name = #_name,\
.of_match = of_match_ptr(#_name),\
.regulators_node = of_match_ptr("regulators"),\
.ops = &da9052_dcdc_ops,\ .ops = &da9052_dcdc_ops,\
.type = REGULATOR_VOLTAGE,\ .type = REGULATOR_VOLTAGE,\
.id = DA9052_ID_##_id,\ .id = DA9052_ID_##_id,\
...@@ -417,36 +421,11 @@ static int da9052_regulator_probe(struct platform_device *pdev) ...@@ -417,36 +421,11 @@ static int da9052_regulator_probe(struct platform_device *pdev)
return -EINVAL; return -EINVAL;
} }
config.dev = &pdev->dev; config.dev = da9052->dev;
config.driver_data = regulator; config.driver_data = regulator;
config.regmap = da9052->regmap; config.regmap = da9052->regmap;
if (pdata) { if (pdata)
config.init_data = pdata->regulators[cell->id]; config.init_data = pdata->regulators[cell->id];
} else {
#ifdef CONFIG_OF
struct device_node *nproot = da9052->dev->of_node;
struct device_node *np;
if (!nproot)
return -ENODEV;
nproot = of_get_child_by_name(nproot, "regulators");
if (!nproot)
return -ENODEV;
for_each_child_of_node(nproot, np) {
if (of_node_name_eq(np,
regulator->info->reg_desc.name)) {
config.init_data = of_get_regulator_init_data(
&pdev->dev, np,
&regulator->info->reg_desc);
config.of_node = np;
break;
}
}
of_node_put(nproot);
#endif
}
regulator->rdev = devm_regulator_register(&pdev->dev, regulator->rdev = devm_regulator_register(&pdev->dev,
&regulator->info->reg_desc, &regulator->info->reg_desc,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment