diff options
Diffstat (limited to 'drivers/misc/eeepc-laptop.c')
| -rw-r--r-- | drivers/misc/eeepc-laptop.c | 16 | 
1 files changed, 13 insertions, 3 deletions
| diff --git a/drivers/misc/eeepc-laptop.c b/drivers/misc/eeepc-laptop.c index facdb9893c84..1ee8501e90f1 100644 --- a/drivers/misc/eeepc-laptop.c +++ b/drivers/misc/eeepc-laptop.c | |||
| @@ -450,12 +450,14 @@ static int eeepc_get_fan_pwm(void) | |||
| 450 | int value = 0; | 450 | int value = 0; | 
| 451 | 451 | ||
| 452 | read_acpi_int(NULL, EEEPC_EC_FAN_PWM, &value); | 452 | read_acpi_int(NULL, EEEPC_EC_FAN_PWM, &value); | 
| 453 | value = value * 255 / 100; | ||
| 453 | return (value); | 454 | return (value); | 
| 454 | } | 455 | } | 
| 455 | 456 | ||
| 456 | static void eeepc_set_fan_pwm(int value) | 457 | static void eeepc_set_fan_pwm(int value) | 
| 457 | { | 458 | { | 
| 458 | value = SENSORS_LIMIT(value, 0, 100); | 459 | value = SENSORS_LIMIT(value, 0, 255); | 
| 460 | value = value * 100 / 255; | ||
| 459 | ec_write(EEEPC_EC_SC02, value); | 461 | ec_write(EEEPC_EC_SC02, value); | 
| 460 | } | 462 | } | 
| 461 | 463 | ||
| @@ -520,15 +522,23 @@ static ssize_t show_sys_hwmon(int (*get)(void), char *buf) | |||
| 520 | static SENSOR_DEVICE_ATTR(_name, _mode, show_##_name, store_##_name, 0); | 522 | static SENSOR_DEVICE_ATTR(_name, _mode, show_##_name, store_##_name, 0); | 
| 521 | 523 | ||
| 522 | EEEPC_CREATE_SENSOR_ATTR(fan1_input, S_IRUGO, eeepc_get_fan_rpm, NULL); | 524 | EEEPC_CREATE_SENSOR_ATTR(fan1_input, S_IRUGO, eeepc_get_fan_rpm, NULL); | 
| 523 | EEEPC_CREATE_SENSOR_ATTR(fan1_pwm, S_IRUGO | S_IWUSR, | 525 | EEEPC_CREATE_SENSOR_ATTR(pwm1, S_IRUGO | S_IWUSR, | 
| 524 | eeepc_get_fan_pwm, eeepc_set_fan_pwm); | 526 | eeepc_get_fan_pwm, eeepc_set_fan_pwm); | 
| 525 | EEEPC_CREATE_SENSOR_ATTR(pwm1_enable, S_IRUGO | S_IWUSR, | 527 | EEEPC_CREATE_SENSOR_ATTR(pwm1_enable, S_IRUGO | S_IWUSR, | 
| 526 | eeepc_get_fan_ctrl, eeepc_set_fan_ctrl); | 528 | eeepc_get_fan_ctrl, eeepc_set_fan_ctrl); | 
| 527 | 529 | ||
| 530 | static ssize_t | ||
| 531 | show_name(struct device *dev, struct device_attribute *attr, char *buf) | ||
| 532 | { | ||
| 533 | return sprintf(buf, "eeepc\n"); | ||
| 534 | } | ||
| 535 | static SENSOR_DEVICE_ATTR(name, S_IRUGO, show_name, NULL, 0); | ||
| 536 | |||
| 528 | static struct attribute *hwmon_attributes[] = { | 537 | static struct attribute *hwmon_attributes[] = { | 
| 529 | &sensor_dev_attr_fan1_pwm.dev_attr.attr, | 538 | &sensor_dev_attr_pwm1.dev_attr.attr, | 
| 530 | &sensor_dev_attr_fan1_input.dev_attr.attr, | 539 | &sensor_dev_attr_fan1_input.dev_attr.attr, | 
| 531 | &sensor_dev_attr_pwm1_enable.dev_attr.attr, | 540 | &sensor_dev_attr_pwm1_enable.dev_attr.attr, | 
| 541 | &sensor_dev_attr_name.dev_attr.attr, | ||
| 532 | NULL | 542 | NULL | 
| 533 | }; | 543 | }; | 
| 534 | 544 | ||
