aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hwmon/da9052-hwmon.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/hwmon/da9052-hwmon.c')
-rw-r--r--drivers/hwmon/da9052-hwmon.c33
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
63static int da9052_enable_vddout_channel(struct da9052 *da9052) 63static 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
76static int da9052_disable_vddout_channel(struct da9052 *da9052) 70static 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
89static ssize_t da9052_read_vddout(struct device *dev, 76static ssize_t da9052_read_vddout(struct device *dev,
@@ -283,7 +270,7 @@ static struct attribute *da9052_attr[] = {
283 270
284static const struct attribute_group da9052_attr_group = {.attrs = da9052_attr}; 271static const struct attribute_group da9052_attr_group = {.attrs = da9052_attr};
285 272
286static int __devinit da9052_hwmon_probe(struct platform_device *pdev) 273static 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
319static int __devexit da9052_hwmon_remove(struct platform_device *pdev) 306static 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
329static struct platform_driver da9052_hwmon_driver = { 316static 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,