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

Commit 0527100f authored by Mark Brown's avatar Mark Brown Committed by Liam Girdwood
Browse files

regulator: Pass regulator init data as explict argument when registering



Rather than having the regulator init data read from the platform_data
member of the struct device that is registered for the regulator make
the init data an explict argument passed in when registering. This
allows drivers to use the platform data for their own purposes if they
wish.

Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
parent b136fb44
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -105,7 +105,7 @@ static int __init bq24022_probe(struct platform_device *pdev)
	ret = gpio_direction_output(pdata->gpio_iset2, 0);
	ret = gpio_direction_output(pdata->gpio_iset2, 0);
	ret = gpio_direction_output(pdata->gpio_nce, 1);
	ret = gpio_direction_output(pdata->gpio_nce, 1);


	bq24022 = regulator_register(&bq24022_desc, &pdev->dev, pdata);
	bq24022 = regulator_register(&bq24022_desc, &pdev->dev, NULL, pdata);
	if (IS_ERR(bq24022)) {
	if (IS_ERR(bq24022)) {
		dev_dbg(&pdev->dev, "couldn't register regulator\n");
		dev_dbg(&pdev->dev, "couldn't register regulator\n");
		ret = PTR_ERR(bq24022);
		ret = PTR_ERR(bq24022);
+3 −2
Original line number Original line Diff line number Diff line
@@ -1879,17 +1879,18 @@ static int add_regulator_attributes(struct regulator_dev *rdev)
 * regulator_register - register regulator
 * regulator_register - register regulator
 * @regulator_desc: regulator to register
 * @regulator_desc: regulator to register
 * @dev: struct device for the regulator
 * @dev: struct device for the regulator
 * @init_data: platform provided init data, passed through by driver
 * @driver_data: private regulator data
 * @driver_data: private regulator data
 *
 *
 * Called by regulator drivers to register a regulator.
 * Called by regulator drivers to register a regulator.
 * Returns 0 on success.
 * Returns 0 on success.
 */
 */
struct regulator_dev *regulator_register(struct regulator_desc *regulator_desc,
struct regulator_dev *regulator_register(struct regulator_desc *regulator_desc,
	struct device *dev, void *driver_data)
	struct device *dev, struct regulator_init_data *init_data,
	void *driver_data)
{
{
	static atomic_t regulator_no = ATOMIC_INIT(0);
	static atomic_t regulator_no = ATOMIC_INIT(0);
	struct regulator_dev *rdev;
	struct regulator_dev *rdev;
	struct regulator_init_data *init_data = dev->platform_data;
	int ret, i;
	int ret, i;


	if (regulator_desc == NULL)
	if (regulator_desc == NULL)
+2 −1
Original line number Original line Diff line number Diff line
@@ -471,7 +471,8 @@ static int __devinit da903x_regulator_probe(struct platform_device *pdev)
	if (ri->desc.id == DA9030_ID_LDO1 || ri->desc.id == DA9030_ID_LDO15)
	if (ri->desc.id == DA9030_ID_LDO1 || ri->desc.id == DA9030_ID_LDO15)
		ri->desc.ops = &da9030_regulator_ldo1_15_ops;
		ri->desc.ops = &da9030_regulator_ldo1_15_ops;


	rdev = regulator_register(&ri->desc, &pdev->dev, ri);
	rdev = regulator_register(&ri->desc, &pdev->dev,
				  pdev->dev.platform_data, ri);
	if (IS_ERR(rdev)) {
	if (IS_ERR(rdev)) {
		dev_err(&pdev->dev, "failed to register regulator %s\n",
		dev_err(&pdev->dev, "failed to register regulator %s\n",
				ri->desc.name);
				ri->desc.name);
+2 −1
Original line number Original line Diff line number Diff line
@@ -284,7 +284,8 @@ static int __devinit pcf50633_regulator_probe(struct platform_device *pdev)
	/* Already set by core driver */
	/* Already set by core driver */
	pcf = platform_get_drvdata(pdev);
	pcf = platform_get_drvdata(pdev);


	rdev = regulator_register(&regulators[pdev->id], &pdev->dev, pcf);
	rdev = regulator_register(&regulators[pdev->id], &pdev->dev,
				  pdev->dev.platform_data, pcf);
	if (IS_ERR(rdev))
	if (IS_ERR(rdev))
		return PTR_ERR(rdev);
		return PTR_ERR(rdev);


+1 −1
Original line number Original line Diff line number Diff line
@@ -1335,9 +1335,9 @@ static int wm8350_regulator_probe(struct platform_device *pdev)
		break;
		break;
	}
	}



	/* register regulator */
	/* register regulator */
	rdev = regulator_register(&wm8350_reg[pdev->id], &pdev->dev,
	rdev = regulator_register(&wm8350_reg[pdev->id], &pdev->dev,
				  pdev->dev.platform_data,
				  dev_get_drvdata(&pdev->dev));
				  dev_get_drvdata(&pdev->dev));
	if (IS_ERR(rdev)) {
	if (IS_ERR(rdev)) {
		dev_err(&pdev->dev, "failed to register %s\n",
		dev_err(&pdev->dev, "failed to register %s\n",
Loading