hwmon: da9052: Use da9052_reg_update for rmw operations
authorAxel Lin <axel.lin@ingics.com>
Thu, 11 Oct 2012 14:03:51 +0000 (22:03 +0800)
committerGuenter Roeck <linux@roeck-us.net>
Wed, 5 Dec 2012 18:55:55 +0000 (10:55 -0800)
Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/da9052-hwmon.c

index b8d01c5..1970494 100644 (file)
@@ -60,30 +60,17 @@ static inline int vbbat_reg_to_mV(int value)
        return DIV_ROUND_CLOSEST(value * 2500, 512);
 }
 
-static int da9052_enable_vddout_channel(struct da9052 *da9052)
+static inline int da9052_enable_vddout_channel(struct da9052 *da9052)
 {
-       int ret;
-
-       ret = da9052_reg_read(da9052, DA9052_ADC_CONT_REG);
-       if (ret < 0)
-               return ret;
-
-       ret |= DA9052_ADCCONT_AUTOVDDEN;
-
-       return da9052_reg_write(da9052, DA9052_ADC_CONT_REG, ret);
+       return da9052_reg_update(da9052, DA9052_ADC_CONT_REG,
+                                DA9052_ADCCONT_AUTOVDDEN,
+                                DA9052_ADCCONT_AUTOVDDEN);
 }
 
-static int da9052_disable_vddout_channel(struct da9052 *da9052)
+static inline int da9052_disable_vddout_channel(struct da9052 *da9052)
 {
-       int ret;
-
-       ret = da9052_reg_read(da9052, DA9052_ADC_CONT_REG);
-       if (ret < 0)
-               return ret;
-
-       ret &= ~DA9052_ADCCONT_AUTOVDDEN;
-
-       return da9052_reg_write(da9052, DA9052_ADC_CONT_REG, ret);
+       return da9052_reg_update(da9052, DA9052_ADC_CONT_REG,
+                                DA9052_ADCCONT_AUTOVDDEN, 0);
 }
 
 static ssize_t da9052_read_vddout(struct device *dev,