Commit 19f673ed authored by Jean Delvare's avatar Jean Delvare Committed by Greg Kroah-Hartman

[PATCH] hwmon: hwmon vs i2c, second round (11/11)

Use the common vid_from_reg function in lm78 rather than
reimplementing it.
Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent d0f28270
...@@ -207,6 +207,7 @@ config SENSORS_LM78 ...@@ -207,6 +207,7 @@ config SENSORS_LM78
tristate "National Semiconductor LM78 and compatibles" tristate "National Semiconductor LM78 and compatibles"
depends on HWMON && I2C && EXPERIMENTAL depends on HWMON && I2C && EXPERIMENTAL
select I2C_ISA select I2C_ISA
select HWMON_VID
help help
If you say yes here you get support for National Semiconductor LM78, If you say yes here you get support for National Semiconductor LM78,
LM78-J and LM79. LM78-J and LM79.
......
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
#include <linux/i2c.h> #include <linux/i2c.h>
#include <linux/i2c-isa.h> #include <linux/i2c-isa.h>
#include <linux/hwmon.h> #include <linux/hwmon.h>
#include <linux/hwmon-vid.h>
#include <linux/err.h> #include <linux/err.h>
#include <asm/io.h> #include <asm/io.h>
...@@ -106,13 +107,6 @@ static inline int TEMP_FROM_REG(s8 val) ...@@ -106,13 +107,6 @@ static inline int TEMP_FROM_REG(s8 val)
return val * 1000; return val * 1000;
} }
/* VID: mV
REG: (see doc/vid) */
static inline int VID_FROM_REG(u8 val)
{
return val==0x1f ? 0 : val>=0x10 ? 5100-val*100 : 2050-val*50;
}
#define DIV_FROM_REG(val) (1 << (val)) #define DIV_FROM_REG(val) (1 << (val))
/* There are some complications in a module like this. First off, LM78 chips /* There are some complications in a module like this. First off, LM78 chips
...@@ -457,7 +451,7 @@ static DEVICE_ATTR(fan3_div, S_IRUGO, show_fan_3_div, NULL); ...@@ -457,7 +451,7 @@ static DEVICE_ATTR(fan3_div, S_IRUGO, show_fan_3_div, NULL);
static ssize_t show_vid(struct device *dev, struct device_attribute *attr, char *buf) static ssize_t show_vid(struct device *dev, struct device_attribute *attr, char *buf)
{ {
struct lm78_data *data = lm78_update_device(dev); struct lm78_data *data = lm78_update_device(dev);
return sprintf(buf, "%d\n", VID_FROM_REG(data->vid)); return sprintf(buf, "%d\n", vid_from_reg(82, data->vid));
} }
static DEVICE_ATTR(cpu0_vid, S_IRUGO, show_vid, NULL); static DEVICE_ATTR(cpu0_vid, S_IRUGO, show_vid, NULL);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment