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>
This commit is contained in:
Ashish Jangam 2011-12-15 18:59:53 +05:30 коммит произвёл Mark Brown
Родитель 47aed92c77
Коммит 984b5a6ba5
1 изменённых файлов: 11 добавлений и 5 удалений

Просмотреть файл

@ -505,18 +505,23 @@ static inline struct da9052_regulator_info *find_regulator_info(u8 chip_id,
struct da9052_regulator_info *info; struct da9052_regulator_info *info;
int i; int i;
if (chip_id == DA9052) { switch (chip_id) {
case DA9052:
for (i = 0; i < ARRAY_SIZE(da9052_regulator_info); i++) { for (i = 0; i < ARRAY_SIZE(da9052_regulator_info); i++) {
info = &da9052_regulator_info[i]; info = &da9052_regulator_info[i];
if (info->reg_desc.id == id) if (info->reg_desc.id == id)
return info; return info;
} }
} else { break;
case DA9053_AA:
case DA9053_BA:
case DA9053_BB:
for (i = 0; i < ARRAY_SIZE(da9053_regulator_info); i++) { for (i = 0; i < ARRAY_SIZE(da9053_regulator_info); i++) {
info = &da9053_regulator_info[i]; info = &da9053_regulator_info[i];
if (info->reg_desc.id == id) if (info->reg_desc.id == id)
return info; return info;
} }
break;
} }
return NULL; return NULL;
@ -529,7 +534,8 @@ static int __devinit da9052_regulator_probe(struct platform_device *pdev)
struct da9052_pdata *pdata; struct da9052_pdata *pdata;
int ret; int ret;
regulator = kzalloc(sizeof(struct da9052_regulator), GFP_KERNEL); regulator = devm_kzalloc(&pdev->dev, sizeof(struct da9052_regulator),
GFP_KERNEL);
if (!regulator) if (!regulator)
return -ENOMEM; return -ENOMEM;
@ -559,7 +565,7 @@ static int __devinit da9052_regulator_probe(struct platform_device *pdev)
return 0; return 0;
err: err:
kfree(regulator); devm_kfree(&pdev->dev, regulator);
return ret; return ret;
} }
@ -568,7 +574,7 @@ static int __devexit da9052_regulator_remove(struct platform_device *pdev)
struct da9052_regulator *regulator = platform_get_drvdata(pdev); struct da9052_regulator *regulator = platform_get_drvdata(pdev);
regulator_unregister(regulator->rdev); regulator_unregister(regulator->rdev);
kfree(regulator); devm_kfree(&pdev->dev, regulator);
return 0; return 0;
} }