diff options
Diffstat (limited to 'drivers/hwmon/da9052-hwmon.c')
| -rw-r--r-- | drivers/hwmon/da9052-hwmon.c | 27 |
1 files changed, 7 insertions, 20 deletions
diff --git a/drivers/hwmon/da9052-hwmon.c b/drivers/hwmon/da9052-hwmon.c index b8d01c5f5713..19704948801c 100644 --- a/drivers/hwmon/da9052-hwmon.c +++ b/drivers/hwmon/da9052-hwmon.c | |||
| @@ -60,30 +60,17 @@ static inline int vbbat_reg_to_mV(int value) | |||
| 60 | return DIV_ROUND_CLOSEST(value * 2500, 512); | 60 | return DIV_ROUND_CLOSEST(value * 2500, 512); |
| 61 | } | 61 | } |
| 62 | 62 | ||
| 63 | static int da9052_enable_vddout_channel(struct da9052 *da9052) | 63 | static inline int da9052_enable_vddout_channel(struct da9052 *da9052) |
| 64 | { | 64 | { |
| 65 | int ret; | 65 | return da9052_reg_update(da9052, DA9052_ADC_CONT_REG, |
| 66 | 66 | DA9052_ADCCONT_AUTOVDDEN, | |
| 67 | ret = da9052_reg_read(da9052, DA9052_ADC_CONT_REG); | 67 | DA9052_ADCCONT_AUTOVDDEN); |
| 68 | if (ret < 0) | ||
| 69 | return ret; | ||
| 70 | |||
| 71 | ret |= DA9052_ADCCONT_AUTOVDDEN; | ||
| 72 | |||
| 73 | return da9052_reg_write(da9052, DA9052_ADC_CONT_REG, ret); | ||
| 74 | } | 68 | } |
| 75 | 69 | ||
| 76 | static int da9052_disable_vddout_channel(struct da9052 *da9052) | 70 | static inline int da9052_disable_vddout_channel(struct da9052 *da9052) |
| 77 | { | 71 | { |
| 78 | int ret; | 72 | return da9052_reg_update(da9052, DA9052_ADC_CONT_REG, |
| 79 | 73 | DA9052_ADCCONT_AUTOVDDEN, 0); | |
| 80 | ret = da9052_reg_read(da9052, DA9052_ADC_CONT_REG); | ||
| 81 | if (ret < 0) | ||
| 82 | return ret; | ||
| 83 | |||
| 84 | ret &= ~DA9052_ADCCONT_AUTOVDDEN; | ||
| 85 | |||
| 86 | return da9052_reg_write(da9052, DA9052_ADC_CONT_REG, ret); | ||
| 87 | } | 74 | } |
| 88 | 75 | ||
| 89 | static ssize_t da9052_read_vddout(struct device *dev, | 76 | static ssize_t da9052_read_vddout(struct device *dev, |
