Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 254805
b: refs/heads/master
c: 0c2a40e
h: refs/heads/master
i:
  254803: 9c77f6a
v: v3
  • Loading branch information
Guenter Roeck committed Jul 10, 2011
1 parent 5734cdc commit 4b4d9e7
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 7 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 27739e694a3c34b5e371575d74e500d60111c689
refs/heads/master: 0c2a40e2fe4f4af0410f57e84b95b817ec15aa70
20 changes: 14 additions & 6 deletions trunk/drivers/hwmon/lm95241.c
Original file line number Diff line number Diff line change
Expand Up @@ -98,11 +98,16 @@ struct lm95241_data {
};

/* Conversions */
static int TempFromReg(u8 val_h, u8 val_l)
static int temp_from_reg_signed(u8 val_h, u8 val_l)
{
if (val_h & 0x80)
return val_h - 0x100;
return val_h * 1000 + val_l * 1000 / 256;
s16 val_hl = (val_h << 8) | val_l;
return val_hl * 1000 / 256;
}

static int temp_from_reg_unsigned(u8 val_h, u8 val_l)
{
u16 val_hl = (val_h << 8) | val_l;
return val_hl * 1000 / 256;
}

static struct lm95241_data *lm95241_update_device(struct device *dev)
Expand Down Expand Up @@ -135,10 +140,13 @@ static ssize_t show_input(struct device *dev, struct device_attribute *attr,
char *buf)
{
struct lm95241_data *data = lm95241_update_device(dev);
int index = to_sensor_dev_attr(attr)->index;

return snprintf(buf, PAGE_SIZE - 1, "%d\n",
TempFromReg(data->temp[to_sensor_dev_attr(attr)->index],
data->temp[to_sensor_dev_attr(attr)->index + 1]));
index == 0 || (data->config & (1 << (index / 2))) ?
temp_from_reg_signed(data->temp[index], data->temp[index + 1]) :
temp_from_reg_unsigned(data->temp[index],
data->temp[index + 1]));
}

static ssize_t show_type(struct device *dev, struct device_attribute *attr,
Expand Down

0 comments on commit 4b4d9e7

Please sign in to comment.