regulator: max77620: Eliminate duplicate code
authorAxel Lin <axel.lin@ingics.com>
Thu, 25 Feb 2016 06:40:09 +0000 (14:40 +0800)
committerMark Brown <broonie@kernel.org>
Fri, 26 Feb 2016 01:36:54 +0000 (10:36 +0900)
Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/regulator/max77620-regulator.c

index 761eb96..0eb5d18 100644 (file)
@@ -264,15 +264,15 @@ static int max77620_read_slew_rate(struct max77620_regulator *pmic, int id)
        int slew_rate;
        int ret;
 
+       ret = regmap_read(pmic->rmap, rinfo->cfg_addr, &rval);
+       if (ret < 0) {
+               dev_err(pmic->dev, "Register 0x%02x read failed: %d\n",
+                       rinfo->cfg_addr, ret);
+               return ret;
+       }
+
        switch (rinfo->type) {
        case MAX77620_REGULATOR_TYPE_SD:
-               ret = regmap_read(pmic->rmap, rinfo->cfg_addr, &rval);
-               if (ret < 0) {
-                       dev_err(pmic->dev, "Register 0x%02x read failed: %d\n",
-                               rinfo->cfg_addr, ret);
-                       return ret;
-               }
-
                slew_rate = (rval >> MAX77620_SD_SR_SHIFT) & 0x3;
                switch (slew_rate) {
                case 0:
@@ -291,12 +291,6 @@ static int max77620_read_slew_rate(struct max77620_regulator *pmic, int id)
                rinfo->desc.ramp_delay = slew_rate;
                break;
        default:
-               ret = regmap_read(pmic->rmap, rinfo->cfg_addr, &rval);
-               if (ret < 0) {
-                       dev_err(pmic->dev, "Register 0x%02x read failed: %d\n",
-                               rinfo->cfg_addr, ret);
-                       return ret;
-               }
                slew_rate = rval & 0x1;
                switch (slew_rate) {
                case 0: