regulator: qcom_spmi: Refactor get_mode/set_mode
authorJeffrey Hugo <jeffrey.l.hugo@gmail.com>
Thu, 13 Jun 2019 21:25:31 +0000 (14:25 -0700)
committerMark Brown <broonie@kernel.org>
Mon, 17 Jun 2019 14:50:11 +0000 (15:50 +0100)
spmi_regulator_common_get_mode and spmi_regulator_common_set_mode use
multi-level ifs which mirror a switch statement.  Refactor to use a switch
statement to make the code flow more clear.

Signed-off-by: Jeffrey Hugo <jeffrey.l.hugo@gmail.com>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/regulator/qcom_spmi-regulator.c

index 42c429d507436e4589ce85609896c83db36f4447..1b3383a24c9dee536eecd90efe80af4e9b60267e 100644 (file)
@@ -911,13 +911,16 @@ static unsigned int spmi_regulator_common_get_mode(struct regulator_dev *rdev)
 
        spmi_vreg_read(vreg, SPMI_COMMON_REG_MODE, &reg, 1);
 
-       if (reg & SPMI_COMMON_MODE_HPM_MASK)
-               return REGULATOR_MODE_NORMAL;
+       reg &= SPMI_COMMON_MODE_HPM_MASK | SPMI_COMMON_MODE_AUTO_MASK;
 
-       if (reg & SPMI_COMMON_MODE_AUTO_MASK)
+       switch (reg) {
+       case SPMI_COMMON_MODE_HPM_MASK:
+               return REGULATOR_MODE_NORMAL;
+       case SPMI_COMMON_MODE_AUTO_MASK:
                return REGULATOR_MODE_FAST;
-
-       return REGULATOR_MODE_IDLE;
+       default:
+               return REGULATOR_MODE_IDLE;
+       }
 }
 
 static int
@@ -925,12 +928,19 @@ spmi_regulator_common_set_mode(struct regulator_dev *rdev, unsigned int mode)
 {
        struct spmi_regulator *vreg = rdev_get_drvdata(rdev);
        u8 mask = SPMI_COMMON_MODE_HPM_MASK | SPMI_COMMON_MODE_AUTO_MASK;
-       u8 val = 0;
+       u8 val;
 
-       if (mode == REGULATOR_MODE_NORMAL)
+       switch (mode) {
+       case REGULATOR_MODE_NORMAL:
                val = SPMI_COMMON_MODE_HPM_MASK;
-       else if (mode == REGULATOR_MODE_FAST)
+               break;
+       case REGULATOR_MODE_FAST:
                val = SPMI_COMMON_MODE_AUTO_MASK;
+               break;
+       default:
+               val = 0;
+               break;
+       }
 
        return spmi_vreg_update_bits(vreg, SPMI_COMMON_REG_MODE, val, mask);
 }