Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 302239
b: refs/heads/master
c: a81edbd
h: refs/heads/master
i:
  302237: cc780bc
  302235: 571a612
  302231: 18131da
  302223: 8bffc8b
  302207: 66c22af
v: v3
  • Loading branch information
Axel Lin authored and Mark Brown committed Apr 18, 2012
1 parent a87afa6 commit d0ba97e
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 14 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 5abe0c4005dea3a67051eb1942916f9d0f6a1796
refs/heads/master: a81edbdeb68bbecb3ee2888da7a83662ae69c9f3
18 changes: 5 additions & 13 deletions trunk/drivers/regulator/virtual.c
Original file line number Diff line number Diff line change
Expand Up @@ -291,39 +291,34 @@ static int __devinit regulator_virtual_probe(struct platform_device *pdev)
struct virtual_consumer_data *drvdata;
int ret;

drvdata = kzalloc(sizeof(struct virtual_consumer_data), GFP_KERNEL);
drvdata = devm_kzalloc(&pdev->dev, sizeof(struct virtual_consumer_data),
GFP_KERNEL);
if (drvdata == NULL)
return -ENOMEM;

mutex_init(&drvdata->lock);

drvdata->regulator = regulator_get(&pdev->dev, reg_id);
drvdata->regulator = devm_regulator_get(&pdev->dev, reg_id);
if (IS_ERR(drvdata->regulator)) {
ret = PTR_ERR(drvdata->regulator);
dev_err(&pdev->dev, "Failed to obtain supply '%s': %d\n",
reg_id, ret);
goto err;
return ret;
}

ret = sysfs_create_group(&pdev->dev.kobj,
&regulator_virtual_attr_group);
if (ret != 0) {
dev_err(&pdev->dev,
"Failed to create attribute group: %d\n", ret);
goto err_regulator;
return ret;
}

drvdata->mode = regulator_get_mode(drvdata->regulator);

platform_set_drvdata(pdev, drvdata);

return 0;

err_regulator:
regulator_put(drvdata->regulator);
err:
kfree(drvdata);
return ret;
}

static int __devexit regulator_virtual_remove(struct platform_device *pdev)
Expand All @@ -334,9 +329,6 @@ static int __devexit regulator_virtual_remove(struct platform_device *pdev)

if (drvdata->enabled)
regulator_disable(drvdata->regulator);
regulator_put(drvdata->regulator);

kfree(drvdata);

platform_set_drvdata(pdev, NULL);

Expand Down

0 comments on commit d0ba97e

Please sign in to comment.