diff mbox series

[RESEND,v3,3/5] power: regulator: tps65941: Added macros for BUCK ID

Message ID 20240318094925.374959-4-bhargav.r@ltts.com
State Superseded
Delegated to: Jaehoon Chung
Headers show
Series Add support for TI TPS65224 PMIC | expand

Commit Message

Bhargav Raviprakash March 18, 2024, 9:49 a.m. UTC
Adds macros for buck and ldo ids and switched to using switch
case instead of if else in probe functions. Helps in adding
support for TPS65224 PMIC.

Signed-off-by: Bhargav Raviprakash <bhargav.r@ltts.com>
Reviewed-by: Dhruva Gole <d-gole@ti.com>
---
 drivers/power/regulator/tps65941_regulator.c | 54 +++++++++++++++-----
 1 file changed, 42 insertions(+), 12 deletions(-)

Comments

Jaehoon Chung April 18, 2024, 12:23 a.m. UTC | #1
On 3/18/24 18:49, Bhargav Raviprakash wrote:
> Adds macros for buck and ldo ids and switched to using switch
> case instead of if else in probe functions. Helps in adding
> support for TPS65224 PMIC.
> 
> Signed-off-by: Bhargav Raviprakash <bhargav.r@ltts.com>
> Reviewed-by: Dhruva Gole <d-gole@ti.com>

Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>

Best Regards,
Jaehoon Chung

> ---
>  drivers/power/regulator/tps65941_regulator.c | 54 +++++++++++++++-----
>  1 file changed, 42 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/power/regulator/tps65941_regulator.c b/drivers/power/regulator/tps65941_regulator.c
> index b041126775..cf54e30df5 100644
> --- a/drivers/power/regulator/tps65941_regulator.c
> +++ b/drivers/power/regulator/tps65941_regulator.c
> @@ -16,6 +16,25 @@
>  #include <power/regulator.h>
>  #include <power/tps65941.h>
>  
> +/* Single Phase Buck IDs */
> +#define TPS65941_BUCK_ID_1        1
> +#define TPS65941_BUCK_ID_2        2
> +#define TPS65941_BUCK_ID_3        3
> +#define TPS65941_BUCK_ID_4        4
> +#define TPS65941_BUCK_ID_5        5
> +
> +/* Multi Phase Buck IDs */
> +#define TPS65941_BUCK_ID_12      12
> +#define TPS65941_BUCK_ID_34      34
> +#define TPS65941_BUCK_ID_123    123
> +#define TPS65941_BUCK_ID_1234  1234
> +
> +/* LDO IDs */
> +#define TPS65941_LDO_ID_1         1
> +#define TPS65941_LDO_ID_2         2
> +#define TPS65941_LDO_ID_3         3
> +#define TPS65941_LDO_ID_4         4
> +
>  static const char tps65941_buck_ctrl[TPS65941_BUCK_NUM] = {0x4, 0x6, 0x8, 0xA,
>  								0xC};
>  static const char tps65941_buck_vout[TPS65941_BUCK_NUM] = {0xE, 0x10, 0x12,
> @@ -270,10 +289,15 @@ static int tps65941_ldo_probe(struct udevice *dev)
>  	uc_pdata->type = REGULATOR_TYPE_LDO;
>  
>  	idx = dev->driver_data;
> -	if (idx == 1 || idx == 2 || idx == 3 || idx == 4) {
> +	switch (idx) {
> +	case TPS65941_LDO_ID_1:
> +	case TPS65941_LDO_ID_2:
> +	case TPS65941_LDO_ID_3:
> +	case TPS65941_LDO_ID_4:
>  		debug("Single phase regulator\n");
> -	} else {
> -		printf("Wrong ID for regulator\n");
> +		break;
> +	default:
> +		pr_err("Wrong ID for regulator\n");
>  		return -EINVAL;
>  	}
>  
> @@ -292,18 +316,24 @@ static int tps65941_buck_probe(struct udevice *dev)
>  	uc_pdata->type = REGULATOR_TYPE_BUCK;
>  
>  	idx = dev->driver_data;
> -	if (idx == 1 || idx == 2 || idx == 3 || idx == 4 || idx == 5) {
> +	switch (idx) {
> +	case TPS65941_BUCK_ID_1:
> +	case TPS65941_BUCK_ID_2:
> +	case TPS65941_BUCK_ID_3:
> +	case TPS65941_BUCK_ID_4:
> +	case TPS65941_BUCK_ID_5:
>  		debug("Single phase regulator\n");
> -	} else if (idx == 12) {
> +		break;
> +	case TPS65941_BUCK_ID_12:
> +	case TPS65941_BUCK_ID_123:
> +	case TPS65941_BUCK_ID_1234:
>  		idx = 1;
> -	} else if (idx == 34) {
> +		break;
> +	case TPS65941_BUCK_ID_34:
>  		idx = 3;
> -	} else if (idx == 123) {
> -		idx = 1;
> -	} else if (idx == 1234) {
> -		idx = 1;
> -	} else {
> -		printf("Wrong ID for regulator\n");
> +		break;
> +	default:
> +		pr_err("Wrong ID for regulator\n");
>  		return -EINVAL;
>  	}
>
diff mbox series

Patch

diff --git a/drivers/power/regulator/tps65941_regulator.c b/drivers/power/regulator/tps65941_regulator.c
index b041126775..cf54e30df5 100644
--- a/drivers/power/regulator/tps65941_regulator.c
+++ b/drivers/power/regulator/tps65941_regulator.c
@@ -16,6 +16,25 @@ 
 #include <power/regulator.h>
 #include <power/tps65941.h>
 
+/* Single Phase Buck IDs */
+#define TPS65941_BUCK_ID_1        1
+#define TPS65941_BUCK_ID_2        2
+#define TPS65941_BUCK_ID_3        3
+#define TPS65941_BUCK_ID_4        4
+#define TPS65941_BUCK_ID_5        5
+
+/* Multi Phase Buck IDs */
+#define TPS65941_BUCK_ID_12      12
+#define TPS65941_BUCK_ID_34      34
+#define TPS65941_BUCK_ID_123    123
+#define TPS65941_BUCK_ID_1234  1234
+
+/* LDO IDs */
+#define TPS65941_LDO_ID_1         1
+#define TPS65941_LDO_ID_2         2
+#define TPS65941_LDO_ID_3         3
+#define TPS65941_LDO_ID_4         4
+
 static const char tps65941_buck_ctrl[TPS65941_BUCK_NUM] = {0x4, 0x6, 0x8, 0xA,
 								0xC};
 static const char tps65941_buck_vout[TPS65941_BUCK_NUM] = {0xE, 0x10, 0x12,
@@ -270,10 +289,15 @@  static int tps65941_ldo_probe(struct udevice *dev)
 	uc_pdata->type = REGULATOR_TYPE_LDO;
 
 	idx = dev->driver_data;
-	if (idx == 1 || idx == 2 || idx == 3 || idx == 4) {
+	switch (idx) {
+	case TPS65941_LDO_ID_1:
+	case TPS65941_LDO_ID_2:
+	case TPS65941_LDO_ID_3:
+	case TPS65941_LDO_ID_4:
 		debug("Single phase regulator\n");
-	} else {
-		printf("Wrong ID for regulator\n");
+		break;
+	default:
+		pr_err("Wrong ID for regulator\n");
 		return -EINVAL;
 	}
 
@@ -292,18 +316,24 @@  static int tps65941_buck_probe(struct udevice *dev)
 	uc_pdata->type = REGULATOR_TYPE_BUCK;
 
 	idx = dev->driver_data;
-	if (idx == 1 || idx == 2 || idx == 3 || idx == 4 || idx == 5) {
+	switch (idx) {
+	case TPS65941_BUCK_ID_1:
+	case TPS65941_BUCK_ID_2:
+	case TPS65941_BUCK_ID_3:
+	case TPS65941_BUCK_ID_4:
+	case TPS65941_BUCK_ID_5:
 		debug("Single phase regulator\n");
-	} else if (idx == 12) {
+		break;
+	case TPS65941_BUCK_ID_12:
+	case TPS65941_BUCK_ID_123:
+	case TPS65941_BUCK_ID_1234:
 		idx = 1;
-	} else if (idx == 34) {
+		break;
+	case TPS65941_BUCK_ID_34:
 		idx = 3;
-	} else if (idx == 123) {
-		idx = 1;
-	} else if (idx == 1234) {
-		idx = 1;
-	} else {
-		printf("Wrong ID for regulator\n");
+		break;
+	default:
+		pr_err("Wrong ID for regulator\n");
 		return -EINVAL;
 	}