Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 84535
b: refs/heads/master
c: 455f791
h: refs/heads/master
i:
  84533: 83cbc99
  84531: 85f77bb
  84527: 1344c19
v: v3
  • Loading branch information
Jean Delvare authored and Mark M. Hoffman committed Feb 8, 2008
1 parent b239b7a commit d078526
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 3 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: 4b4df95dccdd2c6a573c9dedefb747ed663c074d
refs/heads/master: 455f791ea3e33a274c098b4a8c2e35d4d1a6d518
40 changes: 38 additions & 2 deletions trunk/drivers/hwmon/lm85.c
Original file line number Diff line number Diff line change
Expand Up @@ -536,11 +536,47 @@ static ssize_t show_pwm_enable(struct device *dev, struct device_attribute
return sprintf(buf, "%d\n", enable);
}

static ssize_t set_pwm_enable(struct device *dev, struct device_attribute
*attr, const char *buf, size_t count)
{
int nr = to_sensor_dev_attr(attr)->index;
struct i2c_client *client = to_i2c_client(dev);
struct lm85_data *data = i2c_get_clientdata(client);
long val = simple_strtol(buf, NULL, 10);
u8 config;

switch (val) {
case 0:
config = 3;
break;
case 1:
config = 7;
break;
case 2:
/* Here we have to choose arbitrarily one of the 5 possible
configurations; I go for the safest */
config = 6;
break;
default:
return -EINVAL;
}

mutex_lock(&data->update_lock);
data->autofan[nr].config = lm85_read_value(client,
LM85_REG_AFAN_CONFIG(nr));
data->autofan[nr].config = (data->autofan[nr].config & ~0xe0)
| (config << 5);
lm85_write_value(client, LM85_REG_AFAN_CONFIG(nr),
data->autofan[nr].config);
mutex_unlock(&data->update_lock);
return count;
}

#define show_pwm_reg(offset) \
static SENSOR_DEVICE_ATTR(pwm##offset, S_IRUGO | S_IWUSR, \
show_pwm, set_pwm, offset - 1); \
static SENSOR_DEVICE_ATTR(pwm##offset##_enable, S_IRUGO, \
show_pwm_enable, NULL, offset - 1)
static SENSOR_DEVICE_ATTR(pwm##offset##_enable, S_IRUGO | S_IWUSR, \
show_pwm_enable, set_pwm_enable, offset - 1)

show_pwm_reg(1);
show_pwm_reg(2);
Expand Down

0 comments on commit d078526

Please sign in to comment.