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

Commit 8e568635 authored by Sachin Kamat's avatar Sachin Kamat Committed by Mark Brown
Browse files

regulator: mc13783: Use devm_regulator_register



devm_* simplifies the code.

Signed-off-by: default avatarSachin Kamat <sachin.kamat@linaro.org>
Acked-by: default avatarMarek Vasut <marex@denx.de>
Signed-off-by: default avatarMark Brown <broonie@linaro.org>
parent 0ab6e8ca
Loading
Loading
Loading
Loading
+4 −21
Original line number Diff line number Diff line
@@ -400,7 +400,7 @@ static int mc13783_regulator_probe(struct platform_device *pdev)
		dev_get_platdata(&pdev->dev);
	struct mc13xxx_regulator_init_data *mc13xxx_data;
	struct regulator_config config = { };
	int i, ret, num_regulators;
	int i, num_regulators;

	num_regulators = mc13xxx_get_num_regulators_dt(pdev);

@@ -444,31 +444,15 @@ static int mc13783_regulator_probe(struct platform_device *pdev)
		config.driver_data = priv;
		config.of_node = node;

		priv->regulators[i] = regulator_register(desc, &config);
		priv->regulators[i] = devm_regulator_register(&pdev->dev, desc,
							      &config);
		if (IS_ERR(priv->regulators[i])) {
			dev_err(&pdev->dev, "failed to register regulator %s\n",
				mc13783_regulators[i].desc.name);
			ret = PTR_ERR(priv->regulators[i]);
			goto err;
			return PTR_ERR(priv->regulators[i]);
		}
	}

	return 0;
err:
	while (--i >= 0)
		regulator_unregister(priv->regulators[i]);

	return ret;
}

static int mc13783_regulator_remove(struct platform_device *pdev)
{
	struct mc13xxx_regulator_priv *priv = platform_get_drvdata(pdev);
	int i;

	for (i = 0; i < priv->num_regulators; i++)
		regulator_unregister(priv->regulators[i]);

	return 0;
}

@@ -477,7 +461,6 @@ static struct platform_driver mc13783_regulator_driver = {
		.name	= "mc13783-regulator",
		.owner	= THIS_MODULE,
	},
	.remove		= mc13783_regulator_remove,
	.probe		= mc13783_regulator_probe,
};