Browse Source

regulator: max77620: Eliminate duplicate code

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Axel Lin 9 years ago
parent
commit
aad76f743b
1 changed files with 7 additions and 13 deletions
  1. 7 13
      drivers/regulator/max77620-regulator.c

+ 7 - 13
drivers/regulator/max77620-regulator.c

@@ -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: