summaryrefslogtreecommitdiff
path: root/drivers/regulator/da9052-regulator.c
diff options
context:
space:
mode:
authorAshish Jangam <ashish.jangam@kpitcummins.com>2011-12-15 17:29:53 +0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2011-12-17 13:25:47 +0400
commit984b5a6ba550f41edda86d0b6deba2b5187f5e44 (patch)
tree1aba0acdf6860c73a86fa9f521767224ae380e6e /drivers/regulator/da9052-regulator.c
parent47aed92c7740c33f3acbd9dbdefb5ec6f9effdc0 (diff)
downloadlinux-984b5a6ba550f41edda86d0b6deba2b5187f5e44.tar.xz
regulator: Replace kzalloc with devm_kzalloc and if-else with a switch-case for da9052-regulator
Reported-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: David Dajun Chen <dchen@diasemi.com> Signed-off-by: Ashish Jangam <ashish.jangam@kpitcummins.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'drivers/regulator/da9052-regulator.c')
-rw-r--r--drivers/regulator/da9052-regulator.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/drivers/regulator/da9052-regulator.c b/drivers/regulator/da9052-regulator.c
index bdb43757d7c7..f2840b522cde 100644
--- a/drivers/regulator/da9052-regulator.c
+++ b/drivers/regulator/da9052-regulator.c
@@ -505,18 +505,23 @@ static inline struct da9052_regulator_info *find_regulator_info(u8 chip_id,
struct da9052_regulator_info *info;
int i;
- if (chip_id == DA9052) {
+ switch (chip_id) {
+ case DA9052:
for (i = 0; i < ARRAY_SIZE(da9052_regulator_info); i++) {
info = &da9052_regulator_info[i];
if (info->reg_desc.id == id)
return info;
}
- } else {
+ break;
+ case DA9053_AA:
+ case DA9053_BA:
+ case DA9053_BB:
for (i = 0; i < ARRAY_SIZE(da9053_regulator_info); i++) {
info = &da9053_regulator_info[i];
if (info->reg_desc.id == id)
return info;
}
+ break;
}
return NULL;
@@ -529,7 +534,8 @@ static int __devinit da9052_regulator_probe(struct platform_device *pdev)
struct da9052_pdata *pdata;
int ret;
- regulator = kzalloc(sizeof(struct da9052_regulator), GFP_KERNEL);
+ regulator = devm_kzalloc(&pdev->dev, sizeof(struct da9052_regulator),
+ GFP_KERNEL);
if (!regulator)
return -ENOMEM;
@@ -559,7 +565,7 @@ static int __devinit da9052_regulator_probe(struct platform_device *pdev)
return 0;
err:
- kfree(regulator);
+ devm_kfree(&pdev->dev, regulator);
return ret;
}
@@ -568,7 +574,7 @@ static int __devexit da9052_regulator_remove(struct platform_device *pdev)
struct da9052_regulator *regulator = platform_get_drvdata(pdev);
regulator_unregister(regulator->rdev);
- kfree(regulator);
+ devm_kfree(&pdev->dev, regulator);
return 0;
}