diff options
Diffstat (limited to 'drivers/hwmon/da9052-hwmon.c')
| -rw-r--r-- | drivers/hwmon/da9052-hwmon.c | 33 |
1 files changed, 10 insertions, 23 deletions
diff --git a/drivers/hwmon/da9052-hwmon.c b/drivers/hwmon/da9052-hwmon.c index b8d01c5f5713..ab4452c5a98c 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, |
| @@ -283,7 +270,7 @@ static struct attribute *da9052_attr[] = { | |||
| 283 | 270 | ||
| 284 | static const struct attribute_group da9052_attr_group = {.attrs = da9052_attr}; | 271 | static const struct attribute_group da9052_attr_group = {.attrs = da9052_attr}; |
| 285 | 272 | ||
| 286 | static int __devinit da9052_hwmon_probe(struct platform_device *pdev) | 273 | static int da9052_hwmon_probe(struct platform_device *pdev) |
| 287 | { | 274 | { |
| 288 | struct da9052_hwmon *hwmon; | 275 | struct da9052_hwmon *hwmon; |
| 289 | int ret; | 276 | int ret; |
| @@ -316,7 +303,7 @@ err_mem: | |||
| 316 | return ret; | 303 | return ret; |
| 317 | } | 304 | } |
| 318 | 305 | ||
| 319 | static int __devexit da9052_hwmon_remove(struct platform_device *pdev) | 306 | static int da9052_hwmon_remove(struct platform_device *pdev) |
| 320 | { | 307 | { |
| 321 | struct da9052_hwmon *hwmon = platform_get_drvdata(pdev); | 308 | struct da9052_hwmon *hwmon = platform_get_drvdata(pdev); |
| 322 | 309 | ||
| @@ -328,7 +315,7 @@ static int __devexit da9052_hwmon_remove(struct platform_device *pdev) | |||
| 328 | 315 | ||
| 329 | static struct platform_driver da9052_hwmon_driver = { | 316 | static struct platform_driver da9052_hwmon_driver = { |
| 330 | .probe = da9052_hwmon_probe, | 317 | .probe = da9052_hwmon_probe, |
| 331 | .remove = __devexit_p(da9052_hwmon_remove), | 318 | .remove = da9052_hwmon_remove, |
| 332 | .driver = { | 319 | .driver = { |
| 333 | .name = "da9052-hwmon", | 320 | .name = "da9052-hwmon", |
| 334 | .owner = THIS_MODULE, | 321 | .owner = THIS_MODULE, |
