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>
diff --git a/drivers/regulator/da9052-regulator.c b/drivers/regulator/da9052-regulator.c
index bdb4375..f2840b5 100644
--- a/drivers/regulator/da9052-regulator.c
+++ b/drivers/regulator/da9052-regulator.c
@@ -505,18 +505,23 @@
 	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 @@
 	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 @@
 
 	return 0;
 err:
-	kfree(regulator);
+	devm_kfree(&pdev->dev, regulator);
 	return ret;
 }
 
@@ -568,7 +574,7 @@
 	struct da9052_regulator *regulator = platform_get_drvdata(pdev);
 
 	regulator_unregister(regulator->rdev);
-	kfree(regulator);
+	devm_kfree(&pdev->dev, regulator);
 
 	return 0;
 }