Skip to content

Commit

Permalink
Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/…
Browse files Browse the repository at this point in the history
…kernel/git/groeck/linux-staging

* 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
  hwmon: (w83627ehf) Properly report thermal diode sensors
  • Loading branch information
Linus Torvalds committed Oct 14, 2011
2 parents e9308cf + bf164c5 commit 4c41042
Showing 1 changed file with 11 additions and 4 deletions.
15 changes: 11 additions & 4 deletions drivers/hwmon/w83627ehf.c
Original file line number Diff line number Diff line change
Expand Up @@ -1715,7 +1715,8 @@ static void w83627ehf_device_remove_files(struct device *dev)
}

/* Get the monitoring functions started */
static inline void __devinit w83627ehf_init_device(struct w83627ehf_data *data)
static inline void __devinit w83627ehf_init_device(struct w83627ehf_data *data,
enum kinds kind)
{
int i;
u8 tmp, diode;
Expand Down Expand Up @@ -1746,10 +1747,16 @@ static inline void __devinit w83627ehf_init_device(struct w83627ehf_data *data)
w83627ehf_write_value(data, W83627EHF_REG_VBAT, tmp | 0x01);

/* Get thermal sensor types */
diode = w83627ehf_read_value(data, W83627EHF_REG_DIODE);
switch (kind) {
case w83627ehf:
diode = w83627ehf_read_value(data, W83627EHF_REG_DIODE);
break;
default:
diode = 0x70;
}
for (i = 0; i < 3; i++) {
if ((tmp & (0x02 << i)))
data->temp_type[i] = (diode & (0x10 << i)) ? 1 : 2;
data->temp_type[i] = (diode & (0x10 << i)) ? 1 : 3;
else
data->temp_type[i] = 4; /* thermistor */
}
Expand Down Expand Up @@ -2016,7 +2023,7 @@ static int __devinit w83627ehf_probe(struct platform_device *pdev)
}

/* Initialize the chip */
w83627ehf_init_device(data);
w83627ehf_init_device(data, sio_data->kind);

data->vrm = vid_which_vrm();
superio_enter(sio_data->sioreg);
Expand Down

0 comments on commit 4c41042

Please sign in to comment.