diff options
author | Guenter Roeck <linux@roeck-us.net> | 2019-01-21 23:37:22 -0500 |
---|---|---|
committer | Guenter Roeck <linux@roeck-us.net> | 2019-04-15 20:19:53 -0400 |
commit | 8e757e15a509b8623fd02f18c65eedcc1ed9fed3 (patch) | |
tree | ff29482407416567d2db71009fa9ffcc0f569ff8 | |
parent | 29168f30e33b27cfbd3b6da4df59b1a20ac62b63 (diff) |
hwmon: (adm1031) Use permission specific SENSOR[_DEVICE]_ATTR variants
Use SENSOR[_DEVICE]_ATTR[_2]_{RO,RW,WO} to simplify the source code,
to improve readbility, and to reduce the chance of inconsistencies.
Also replace any remaining S_<PERMS> in the driver with octal values.
The conversion was done automatically with coccinelle. The semantic patches
and the scripts used to generate this commit log are available at
https://github.com/groeck/coccinelle-patches/.
This patch does not introduce functional changes. It was verified by
compiling the old and new files and comparing text and data sizes.
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
-rw-r--r-- | drivers/hwmon/adm1031.c | 201 |
1 files changed, 97 insertions, 104 deletions
diff --git a/drivers/hwmon/adm1031.c b/drivers/hwmon/adm1031.c index bcf508269fd6..6b46d8eaa775 100644 --- a/drivers/hwmon/adm1031.c +++ b/drivers/hwmon/adm1031.c | |||
@@ -331,7 +331,7 @@ get_fan_auto_nearest(struct adm1031_data *data, int chan, u8 val, u8 reg) | |||
331 | return -EINVAL; | 331 | return -EINVAL; |
332 | } | 332 | } |
333 | 333 | ||
334 | static ssize_t show_fan_auto_channel(struct device *dev, | 334 | static ssize_t fan_auto_channel_show(struct device *dev, |
335 | struct device_attribute *attr, char *buf) | 335 | struct device_attribute *attr, char *buf) |
336 | { | 336 | { |
337 | int nr = to_sensor_dev_attr(attr)->index; | 337 | int nr = to_sensor_dev_attr(attr)->index; |
@@ -340,8 +340,8 @@ static ssize_t show_fan_auto_channel(struct device *dev, | |||
340 | } | 340 | } |
341 | 341 | ||
342 | static ssize_t | 342 | static ssize_t |
343 | set_fan_auto_channel(struct device *dev, struct device_attribute *attr, | 343 | fan_auto_channel_store(struct device *dev, struct device_attribute *attr, |
344 | const char *buf, size_t count) | 344 | const char *buf, size_t count) |
345 | { | 345 | { |
346 | struct adm1031_data *data = dev_get_drvdata(dev); | 346 | struct adm1031_data *data = dev_get_drvdata(dev); |
347 | struct i2c_client *client = data->client; | 347 | struct i2c_client *client = data->client; |
@@ -392,13 +392,11 @@ set_fan_auto_channel(struct device *dev, struct device_attribute *attr, | |||
392 | return count; | 392 | return count; |
393 | } | 393 | } |
394 | 394 | ||
395 | static SENSOR_DEVICE_ATTR(auto_fan1_channel, S_IRUGO | S_IWUSR, | 395 | static SENSOR_DEVICE_ATTR_RW(auto_fan1_channel, fan_auto_channel, 0); |
396 | show_fan_auto_channel, set_fan_auto_channel, 0); | 396 | static SENSOR_DEVICE_ATTR_RW(auto_fan2_channel, fan_auto_channel, 1); |
397 | static SENSOR_DEVICE_ATTR(auto_fan2_channel, S_IRUGO | S_IWUSR, | ||
398 | show_fan_auto_channel, set_fan_auto_channel, 1); | ||
399 | 397 | ||
400 | /* Auto Temps */ | 398 | /* Auto Temps */ |
401 | static ssize_t show_auto_temp_off(struct device *dev, | 399 | static ssize_t auto_temp_off_show(struct device *dev, |
402 | struct device_attribute *attr, char *buf) | 400 | struct device_attribute *attr, char *buf) |
403 | { | 401 | { |
404 | int nr = to_sensor_dev_attr(attr)->index; | 402 | int nr = to_sensor_dev_attr(attr)->index; |
@@ -406,7 +404,7 @@ static ssize_t show_auto_temp_off(struct device *dev, | |||
406 | return sprintf(buf, "%d\n", | 404 | return sprintf(buf, "%d\n", |
407 | AUTO_TEMP_OFF_FROM_REG(data->auto_temp[nr])); | 405 | AUTO_TEMP_OFF_FROM_REG(data->auto_temp[nr])); |
408 | } | 406 | } |
409 | static ssize_t show_auto_temp_min(struct device *dev, | 407 | static ssize_t auto_temp_min_show(struct device *dev, |
410 | struct device_attribute *attr, char *buf) | 408 | struct device_attribute *attr, char *buf) |
411 | { | 409 | { |
412 | int nr = to_sensor_dev_attr(attr)->index; | 410 | int nr = to_sensor_dev_attr(attr)->index; |
@@ -415,8 +413,8 @@ static ssize_t show_auto_temp_min(struct device *dev, | |||
415 | AUTO_TEMP_MIN_FROM_REG(data->auto_temp[nr])); | 413 | AUTO_TEMP_MIN_FROM_REG(data->auto_temp[nr])); |
416 | } | 414 | } |
417 | static ssize_t | 415 | static ssize_t |
418 | set_auto_temp_min(struct device *dev, struct device_attribute *attr, | 416 | auto_temp_min_store(struct device *dev, struct device_attribute *attr, |
419 | const char *buf, size_t count) | 417 | const char *buf, size_t count) |
420 | { | 418 | { |
421 | struct adm1031_data *data = dev_get_drvdata(dev); | 419 | struct adm1031_data *data = dev_get_drvdata(dev); |
422 | struct i2c_client *client = data->client; | 420 | struct i2c_client *client = data->client; |
@@ -436,7 +434,7 @@ set_auto_temp_min(struct device *dev, struct device_attribute *attr, | |||
436 | mutex_unlock(&data->update_lock); | 434 | mutex_unlock(&data->update_lock); |
437 | return count; | 435 | return count; |
438 | } | 436 | } |
439 | static ssize_t show_auto_temp_max(struct device *dev, | 437 | static ssize_t auto_temp_max_show(struct device *dev, |
440 | struct device_attribute *attr, char *buf) | 438 | struct device_attribute *attr, char *buf) |
441 | { | 439 | { |
442 | int nr = to_sensor_dev_attr(attr)->index; | 440 | int nr = to_sensor_dev_attr(attr)->index; |
@@ -445,8 +443,8 @@ static ssize_t show_auto_temp_max(struct device *dev, | |||
445 | AUTO_TEMP_MAX_FROM_REG(data->auto_temp[nr])); | 443 | AUTO_TEMP_MAX_FROM_REG(data->auto_temp[nr])); |
446 | } | 444 | } |
447 | static ssize_t | 445 | static ssize_t |
448 | set_auto_temp_max(struct device *dev, struct device_attribute *attr, | 446 | auto_temp_max_store(struct device *dev, struct device_attribute *attr, |
449 | const char *buf, size_t count) | 447 | const char *buf, size_t count) |
450 | { | 448 | { |
451 | struct adm1031_data *data = dev_get_drvdata(dev); | 449 | struct adm1031_data *data = dev_get_drvdata(dev); |
452 | struct i2c_client *client = data->client; | 450 | struct i2c_client *client = data->client; |
@@ -468,28 +466,26 @@ set_auto_temp_max(struct device *dev, struct device_attribute *attr, | |||
468 | return count; | 466 | return count; |
469 | } | 467 | } |
470 | 468 | ||
471 | #define auto_temp_reg(offset) \ | 469 | static SENSOR_DEVICE_ATTR_RO(auto_temp1_off, auto_temp_off, 0); |
472 | static SENSOR_DEVICE_ATTR(auto_temp##offset##_off, S_IRUGO, \ | 470 | static SENSOR_DEVICE_ATTR_RW(auto_temp1_min, auto_temp_min, 0); |
473 | show_auto_temp_off, NULL, offset - 1); \ | 471 | static SENSOR_DEVICE_ATTR_RW(auto_temp1_max, auto_temp_max, 0); |
474 | static SENSOR_DEVICE_ATTR(auto_temp##offset##_min, S_IRUGO | S_IWUSR, \ | 472 | static SENSOR_DEVICE_ATTR_RO(auto_temp2_off, auto_temp_off, 1); |
475 | show_auto_temp_min, set_auto_temp_min, offset - 1); \ | 473 | static SENSOR_DEVICE_ATTR_RW(auto_temp2_min, auto_temp_min, 1); |
476 | static SENSOR_DEVICE_ATTR(auto_temp##offset##_max, S_IRUGO | S_IWUSR, \ | 474 | static SENSOR_DEVICE_ATTR_RW(auto_temp2_max, auto_temp_max, 1); |
477 | show_auto_temp_max, set_auto_temp_max, offset - 1) | 475 | static SENSOR_DEVICE_ATTR_RO(auto_temp3_off, auto_temp_off, 2); |
478 | 476 | static SENSOR_DEVICE_ATTR_RW(auto_temp3_min, auto_temp_min, 2); | |
479 | auto_temp_reg(1); | 477 | static SENSOR_DEVICE_ATTR_RW(auto_temp3_max, auto_temp_max, 2); |
480 | auto_temp_reg(2); | ||
481 | auto_temp_reg(3); | ||
482 | 478 | ||
483 | /* pwm */ | 479 | /* pwm */ |
484 | static ssize_t show_pwm(struct device *dev, | 480 | static ssize_t pwm_show(struct device *dev, struct device_attribute *attr, |
485 | struct device_attribute *attr, char *buf) | 481 | char *buf) |
486 | { | 482 | { |
487 | int nr = to_sensor_dev_attr(attr)->index; | 483 | int nr = to_sensor_dev_attr(attr)->index; |
488 | struct adm1031_data *data = adm1031_update_device(dev); | 484 | struct adm1031_data *data = adm1031_update_device(dev); |
489 | return sprintf(buf, "%d\n", PWM_FROM_REG(data->pwm[nr])); | 485 | return sprintf(buf, "%d\n", PWM_FROM_REG(data->pwm[nr])); |
490 | } | 486 | } |
491 | static ssize_t set_pwm(struct device *dev, struct device_attribute *attr, | 487 | static ssize_t pwm_store(struct device *dev, struct device_attribute *attr, |
492 | const char *buf, size_t count) | 488 | const char *buf, size_t count) |
493 | { | 489 | { |
494 | struct adm1031_data *data = dev_get_drvdata(dev); | 490 | struct adm1031_data *data = dev_get_drvdata(dev); |
495 | struct i2c_client *client = data->client; | 491 | struct i2c_client *client = data->client; |
@@ -517,12 +513,10 @@ static ssize_t set_pwm(struct device *dev, struct device_attribute *attr, | |||
517 | return count; | 513 | return count; |
518 | } | 514 | } |
519 | 515 | ||
520 | static SENSOR_DEVICE_ATTR(pwm1, S_IRUGO | S_IWUSR, show_pwm, set_pwm, 0); | 516 | static SENSOR_DEVICE_ATTR_RW(pwm1, pwm, 0); |
521 | static SENSOR_DEVICE_ATTR(pwm2, S_IRUGO | S_IWUSR, show_pwm, set_pwm, 1); | 517 | static SENSOR_DEVICE_ATTR_RW(pwm2, pwm, 1); |
522 | static SENSOR_DEVICE_ATTR(auto_fan1_min_pwm, S_IRUGO | S_IWUSR, | 518 | static SENSOR_DEVICE_ATTR_RW(auto_fan1_min_pwm, pwm, 0); |
523 | show_pwm, set_pwm, 0); | 519 | static SENSOR_DEVICE_ATTR_RW(auto_fan2_min_pwm, pwm, 1); |
524 | static SENSOR_DEVICE_ATTR(auto_fan2_min_pwm, S_IRUGO | S_IWUSR, | ||
525 | show_pwm, set_pwm, 1); | ||
526 | 520 | ||
527 | /* Fans */ | 521 | /* Fans */ |
528 | 522 | ||
@@ -572,9 +566,8 @@ static int trust_fan_readings(struct adm1031_data *data, int chan) | |||
572 | return res; | 566 | return res; |
573 | } | 567 | } |
574 | 568 | ||
575 | 569 | static ssize_t fan_show(struct device *dev, struct device_attribute *attr, | |
576 | static ssize_t show_fan(struct device *dev, | 570 | char *buf) |
577 | struct device_attribute *attr, char *buf) | ||
578 | { | 571 | { |
579 | int nr = to_sensor_dev_attr(attr)->index; | 572 | int nr = to_sensor_dev_attr(attr)->index; |
580 | struct adm1031_data *data = adm1031_update_device(dev); | 573 | struct adm1031_data *data = adm1031_update_device(dev); |
@@ -585,15 +578,15 @@ static ssize_t show_fan(struct device *dev, | |||
585 | return sprintf(buf, "%d\n", value); | 578 | return sprintf(buf, "%d\n", value); |
586 | } | 579 | } |
587 | 580 | ||
588 | static ssize_t show_fan_div(struct device *dev, | 581 | static ssize_t fan_div_show(struct device *dev, struct device_attribute *attr, |
589 | struct device_attribute *attr, char *buf) | 582 | char *buf) |
590 | { | 583 | { |
591 | int nr = to_sensor_dev_attr(attr)->index; | 584 | int nr = to_sensor_dev_attr(attr)->index; |
592 | struct adm1031_data *data = adm1031_update_device(dev); | 585 | struct adm1031_data *data = adm1031_update_device(dev); |
593 | return sprintf(buf, "%d\n", FAN_DIV_FROM_REG(data->fan_div[nr])); | 586 | return sprintf(buf, "%d\n", FAN_DIV_FROM_REG(data->fan_div[nr])); |
594 | } | 587 | } |
595 | static ssize_t show_fan_min(struct device *dev, | 588 | static ssize_t fan_min_show(struct device *dev, struct device_attribute *attr, |
596 | struct device_attribute *attr, char *buf) | 589 | char *buf) |
597 | { | 590 | { |
598 | int nr = to_sensor_dev_attr(attr)->index; | 591 | int nr = to_sensor_dev_attr(attr)->index; |
599 | struct adm1031_data *data = adm1031_update_device(dev); | 592 | struct adm1031_data *data = adm1031_update_device(dev); |
@@ -601,8 +594,9 @@ static ssize_t show_fan_min(struct device *dev, | |||
601 | FAN_FROM_REG(data->fan_min[nr], | 594 | FAN_FROM_REG(data->fan_min[nr], |
602 | FAN_DIV_FROM_REG(data->fan_div[nr]))); | 595 | FAN_DIV_FROM_REG(data->fan_div[nr]))); |
603 | } | 596 | } |
604 | static ssize_t set_fan_min(struct device *dev, struct device_attribute *attr, | 597 | static ssize_t fan_min_store(struct device *dev, |
605 | const char *buf, size_t count) | 598 | struct device_attribute *attr, const char *buf, |
599 | size_t count) | ||
606 | { | 600 | { |
607 | struct adm1031_data *data = dev_get_drvdata(dev); | 601 | struct adm1031_data *data = dev_get_drvdata(dev); |
608 | struct i2c_client *client = data->client; | 602 | struct i2c_client *client = data->client; |
@@ -625,8 +619,9 @@ static ssize_t set_fan_min(struct device *dev, struct device_attribute *attr, | |||
625 | mutex_unlock(&data->update_lock); | 619 | mutex_unlock(&data->update_lock); |
626 | return count; | 620 | return count; |
627 | } | 621 | } |
628 | static ssize_t set_fan_div(struct device *dev, struct device_attribute *attr, | 622 | static ssize_t fan_div_store(struct device *dev, |
629 | const char *buf, size_t count) | 623 | struct device_attribute *attr, const char *buf, |
624 | size_t count) | ||
630 | { | 625 | { |
631 | struct adm1031_data *data = dev_get_drvdata(dev); | 626 | struct adm1031_data *data = dev_get_drvdata(dev); |
632 | struct i2c_client *client = data->client; | 627 | struct i2c_client *client = data->client; |
@@ -673,21 +668,16 @@ static ssize_t set_fan_div(struct device *dev, struct device_attribute *attr, | |||
673 | return count; | 668 | return count; |
674 | } | 669 | } |
675 | 670 | ||
676 | #define fan_offset(offset) \ | 671 | static SENSOR_DEVICE_ATTR_RO(fan1_input, fan, 0); |
677 | static SENSOR_DEVICE_ATTR(fan##offset##_input, S_IRUGO, \ | 672 | static SENSOR_DEVICE_ATTR_RW(fan1_min, fan_min, 0); |
678 | show_fan, NULL, offset - 1); \ | 673 | static SENSOR_DEVICE_ATTR_RW(fan1_div, fan_div, 0); |
679 | static SENSOR_DEVICE_ATTR(fan##offset##_min, S_IRUGO | S_IWUSR, \ | 674 | static SENSOR_DEVICE_ATTR_RO(fan2_input, fan, 1); |
680 | show_fan_min, set_fan_min, offset - 1); \ | 675 | static SENSOR_DEVICE_ATTR_RW(fan2_min, fan_min, 1); |
681 | static SENSOR_DEVICE_ATTR(fan##offset##_div, S_IRUGO | S_IWUSR, \ | 676 | static SENSOR_DEVICE_ATTR_RW(fan2_div, fan_div, 1); |
682 | show_fan_div, set_fan_div, offset - 1) | ||
683 | |||
684 | fan_offset(1); | ||
685 | fan_offset(2); | ||
686 | |||
687 | 677 | ||
688 | /* Temps */ | 678 | /* Temps */ |
689 | static ssize_t show_temp(struct device *dev, | 679 | static ssize_t temp_show(struct device *dev, struct device_attribute *attr, |
690 | struct device_attribute *attr, char *buf) | 680 | char *buf) |
691 | { | 681 | { |
692 | int nr = to_sensor_dev_attr(attr)->index; | 682 | int nr = to_sensor_dev_attr(attr)->index; |
693 | struct adm1031_data *data = adm1031_update_device(dev); | 683 | struct adm1031_data *data = adm1031_update_device(dev); |
@@ -697,7 +687,7 @@ static ssize_t show_temp(struct device *dev, | |||
697 | (((data->ext_temp[nr] >> ((nr - 1) * 3)) & 7)); | 687 | (((data->ext_temp[nr] >> ((nr - 1) * 3)) & 7)); |
698 | return sprintf(buf, "%d\n", TEMP_FROM_REG_EXT(data->temp[nr], ext)); | 688 | return sprintf(buf, "%d\n", TEMP_FROM_REG_EXT(data->temp[nr], ext)); |
699 | } | 689 | } |
700 | static ssize_t show_temp_offset(struct device *dev, | 690 | static ssize_t temp_offset_show(struct device *dev, |
701 | struct device_attribute *attr, char *buf) | 691 | struct device_attribute *attr, char *buf) |
702 | { | 692 | { |
703 | int nr = to_sensor_dev_attr(attr)->index; | 693 | int nr = to_sensor_dev_attr(attr)->index; |
@@ -705,30 +695,30 @@ static ssize_t show_temp_offset(struct device *dev, | |||
705 | return sprintf(buf, "%d\n", | 695 | return sprintf(buf, "%d\n", |
706 | TEMP_OFFSET_FROM_REG(data->temp_offset[nr])); | 696 | TEMP_OFFSET_FROM_REG(data->temp_offset[nr])); |
707 | } | 697 | } |
708 | static ssize_t show_temp_min(struct device *dev, | 698 | static ssize_t temp_min_show(struct device *dev, |
709 | struct device_attribute *attr, char *buf) | 699 | struct device_attribute *attr, char *buf) |
710 | { | 700 | { |
711 | int nr = to_sensor_dev_attr(attr)->index; | 701 | int nr = to_sensor_dev_attr(attr)->index; |
712 | struct adm1031_data *data = adm1031_update_device(dev); | 702 | struct adm1031_data *data = adm1031_update_device(dev); |
713 | return sprintf(buf, "%d\n", TEMP_FROM_REG(data->temp_min[nr])); | 703 | return sprintf(buf, "%d\n", TEMP_FROM_REG(data->temp_min[nr])); |
714 | } | 704 | } |
715 | static ssize_t show_temp_max(struct device *dev, | 705 | static ssize_t temp_max_show(struct device *dev, |
716 | struct device_attribute *attr, char *buf) | 706 | struct device_attribute *attr, char *buf) |
717 | { | 707 | { |
718 | int nr = to_sensor_dev_attr(attr)->index; | 708 | int nr = to_sensor_dev_attr(attr)->index; |
719 | struct adm1031_data *data = adm1031_update_device(dev); | 709 | struct adm1031_data *data = adm1031_update_device(dev); |
720 | return sprintf(buf, "%d\n", TEMP_FROM_REG(data->temp_max[nr])); | 710 | return sprintf(buf, "%d\n", TEMP_FROM_REG(data->temp_max[nr])); |
721 | } | 711 | } |
722 | static ssize_t show_temp_crit(struct device *dev, | 712 | static ssize_t temp_crit_show(struct device *dev, |
723 | struct device_attribute *attr, char *buf) | 713 | struct device_attribute *attr, char *buf) |
724 | { | 714 | { |
725 | int nr = to_sensor_dev_attr(attr)->index; | 715 | int nr = to_sensor_dev_attr(attr)->index; |
726 | struct adm1031_data *data = adm1031_update_device(dev); | 716 | struct adm1031_data *data = adm1031_update_device(dev); |
727 | return sprintf(buf, "%d\n", TEMP_FROM_REG(data->temp_crit[nr])); | 717 | return sprintf(buf, "%d\n", TEMP_FROM_REG(data->temp_crit[nr])); |
728 | } | 718 | } |
729 | static ssize_t set_temp_offset(struct device *dev, | 719 | static ssize_t temp_offset_store(struct device *dev, |
730 | struct device_attribute *attr, const char *buf, | 720 | struct device_attribute *attr, |
731 | size_t count) | 721 | const char *buf, size_t count) |
732 | { | 722 | { |
733 | struct adm1031_data *data = dev_get_drvdata(dev); | 723 | struct adm1031_data *data = dev_get_drvdata(dev); |
734 | struct i2c_client *client = data->client; | 724 | struct i2c_client *client = data->client; |
@@ -748,8 +738,9 @@ static ssize_t set_temp_offset(struct device *dev, | |||
748 | mutex_unlock(&data->update_lock); | 738 | mutex_unlock(&data->update_lock); |
749 | return count; | 739 | return count; |
750 | } | 740 | } |
751 | static ssize_t set_temp_min(struct device *dev, struct device_attribute *attr, | 741 | static ssize_t temp_min_store(struct device *dev, |
752 | const char *buf, size_t count) | 742 | struct device_attribute *attr, const char *buf, |
743 | size_t count) | ||
753 | { | 744 | { |
754 | struct adm1031_data *data = dev_get_drvdata(dev); | 745 | struct adm1031_data *data = dev_get_drvdata(dev); |
755 | struct i2c_client *client = data->client; | 746 | struct i2c_client *client = data->client; |
@@ -769,8 +760,9 @@ static ssize_t set_temp_min(struct device *dev, struct device_attribute *attr, | |||
769 | mutex_unlock(&data->update_lock); | 760 | mutex_unlock(&data->update_lock); |
770 | return count; | 761 | return count; |
771 | } | 762 | } |
772 | static ssize_t set_temp_max(struct device *dev, struct device_attribute *attr, | 763 | static ssize_t temp_max_store(struct device *dev, |
773 | const char *buf, size_t count) | 764 | struct device_attribute *attr, const char *buf, |
765 | size_t count) | ||
774 | { | 766 | { |
775 | struct adm1031_data *data = dev_get_drvdata(dev); | 767 | struct adm1031_data *data = dev_get_drvdata(dev); |
776 | struct i2c_client *client = data->client; | 768 | struct i2c_client *client = data->client; |
@@ -790,8 +782,9 @@ static ssize_t set_temp_max(struct device *dev, struct device_attribute *attr, | |||
790 | mutex_unlock(&data->update_lock); | 782 | mutex_unlock(&data->update_lock); |
791 | return count; | 783 | return count; |
792 | } | 784 | } |
793 | static ssize_t set_temp_crit(struct device *dev, struct device_attribute *attr, | 785 | static ssize_t temp_crit_store(struct device *dev, |
794 | const char *buf, size_t count) | 786 | struct device_attribute *attr, const char *buf, |
787 | size_t count) | ||
795 | { | 788 | { |
796 | struct adm1031_data *data = dev_get_drvdata(dev); | 789 | struct adm1031_data *data = dev_get_drvdata(dev); |
797 | struct i2c_client *client = data->client; | 790 | struct i2c_client *client = data->client; |
@@ -812,21 +805,21 @@ static ssize_t set_temp_crit(struct device *dev, struct device_attribute *attr, | |||
812 | return count; | 805 | return count; |
813 | } | 806 | } |
814 | 807 | ||
815 | #define temp_reg(offset) \ | 808 | static SENSOR_DEVICE_ATTR_RO(temp1_input, temp, 0); |
816 | static SENSOR_DEVICE_ATTR(temp##offset##_input, S_IRUGO, \ | 809 | static SENSOR_DEVICE_ATTR_RW(temp1_offset, temp_offset, 0); |
817 | show_temp, NULL, offset - 1); \ | 810 | static SENSOR_DEVICE_ATTR_RW(temp1_min, temp_min, 0); |
818 | static SENSOR_DEVICE_ATTR(temp##offset##_offset, S_IRUGO | S_IWUSR, \ | 811 | static SENSOR_DEVICE_ATTR_RW(temp1_max, temp_max, 0); |
819 | show_temp_offset, set_temp_offset, offset - 1); \ | 812 | static SENSOR_DEVICE_ATTR_RW(temp1_crit, temp_crit, 0); |
820 | static SENSOR_DEVICE_ATTR(temp##offset##_min, S_IRUGO | S_IWUSR, \ | 813 | static SENSOR_DEVICE_ATTR_RO(temp2_input, temp, 1); |
821 | show_temp_min, set_temp_min, offset - 1); \ | 814 | static SENSOR_DEVICE_ATTR_RW(temp2_offset, temp_offset, 1); |
822 | static SENSOR_DEVICE_ATTR(temp##offset##_max, S_IRUGO | S_IWUSR, \ | 815 | static SENSOR_DEVICE_ATTR_RW(temp2_min, temp_min, 1); |
823 | show_temp_max, set_temp_max, offset - 1); \ | 816 | static SENSOR_DEVICE_ATTR_RW(temp2_max, temp_max, 1); |
824 | static SENSOR_DEVICE_ATTR(temp##offset##_crit, S_IRUGO | S_IWUSR, \ | 817 | static SENSOR_DEVICE_ATTR_RW(temp2_crit, temp_crit, 1); |
825 | show_temp_crit, set_temp_crit, offset - 1) | 818 | static SENSOR_DEVICE_ATTR_RO(temp3_input, temp, 2); |
826 | 819 | static SENSOR_DEVICE_ATTR_RW(temp3_offset, temp_offset, 2); | |
827 | temp_reg(1); | 820 | static SENSOR_DEVICE_ATTR_RW(temp3_min, temp_min, 2); |
828 | temp_reg(2); | 821 | static SENSOR_DEVICE_ATTR_RW(temp3_max, temp_max, 2); |
829 | temp_reg(3); | 822 | static SENSOR_DEVICE_ATTR_RW(temp3_crit, temp_crit, 2); |
830 | 823 | ||
831 | /* Alarms */ | 824 | /* Alarms */ |
832 | static ssize_t alarms_show(struct device *dev, struct device_attribute *attr, | 825 | static ssize_t alarms_show(struct device *dev, struct device_attribute *attr, |
@@ -838,29 +831,29 @@ static ssize_t alarms_show(struct device *dev, struct device_attribute *attr, | |||
838 | 831 | ||
839 | static DEVICE_ATTR_RO(alarms); | 832 | static DEVICE_ATTR_RO(alarms); |
840 | 833 | ||
841 | static ssize_t show_alarm(struct device *dev, | 834 | static ssize_t alarm_show(struct device *dev, struct device_attribute *attr, |
842 | struct device_attribute *attr, char *buf) | 835 | char *buf) |
843 | { | 836 | { |
844 | int bitnr = to_sensor_dev_attr(attr)->index; | 837 | int bitnr = to_sensor_dev_attr(attr)->index; |
845 | struct adm1031_data *data = adm1031_update_device(dev); | 838 | struct adm1031_data *data = adm1031_update_device(dev); |
846 | return sprintf(buf, "%d\n", (data->alarm >> bitnr) & 1); | 839 | return sprintf(buf, "%d\n", (data->alarm >> bitnr) & 1); |
847 | } | 840 | } |
848 | 841 | ||
849 | static SENSOR_DEVICE_ATTR(fan1_alarm, S_IRUGO, show_alarm, NULL, 0); | 842 | static SENSOR_DEVICE_ATTR_RO(fan1_alarm, alarm, 0); |
850 | static SENSOR_DEVICE_ATTR(fan1_fault, S_IRUGO, show_alarm, NULL, 1); | 843 | static SENSOR_DEVICE_ATTR_RO(fan1_fault, alarm, 1); |
851 | static SENSOR_DEVICE_ATTR(temp2_max_alarm, S_IRUGO, show_alarm, NULL, 2); | 844 | static SENSOR_DEVICE_ATTR_RO(temp2_max_alarm, alarm, 2); |
852 | static SENSOR_DEVICE_ATTR(temp2_min_alarm, S_IRUGO, show_alarm, NULL, 3); | 845 | static SENSOR_DEVICE_ATTR_RO(temp2_min_alarm, alarm, 3); |
853 | static SENSOR_DEVICE_ATTR(temp2_crit_alarm, S_IRUGO, show_alarm, NULL, 4); | 846 | static SENSOR_DEVICE_ATTR_RO(temp2_crit_alarm, alarm, 4); |
854 | static SENSOR_DEVICE_ATTR(temp2_fault, S_IRUGO, show_alarm, NULL, 5); | 847 | static SENSOR_DEVICE_ATTR_RO(temp2_fault, alarm, 5); |
855 | static SENSOR_DEVICE_ATTR(temp1_max_alarm, S_IRUGO, show_alarm, NULL, 6); | 848 | static SENSOR_DEVICE_ATTR_RO(temp1_max_alarm, alarm, 6); |
856 | static SENSOR_DEVICE_ATTR(temp1_min_alarm, S_IRUGO, show_alarm, NULL, 7); | 849 | static SENSOR_DEVICE_ATTR_RO(temp1_min_alarm, alarm, 7); |
857 | static SENSOR_DEVICE_ATTR(fan2_alarm, S_IRUGO, show_alarm, NULL, 8); | 850 | static SENSOR_DEVICE_ATTR_RO(fan2_alarm, alarm, 8); |
858 | static SENSOR_DEVICE_ATTR(fan2_fault, S_IRUGO, show_alarm, NULL, 9); | 851 | static SENSOR_DEVICE_ATTR_RO(fan2_fault, alarm, 9); |
859 | static SENSOR_DEVICE_ATTR(temp3_max_alarm, S_IRUGO, show_alarm, NULL, 10); | 852 | static SENSOR_DEVICE_ATTR_RO(temp3_max_alarm, alarm, 10); |
860 | static SENSOR_DEVICE_ATTR(temp3_min_alarm, S_IRUGO, show_alarm, NULL, 11); | 853 | static SENSOR_DEVICE_ATTR_RO(temp3_min_alarm, alarm, 11); |
861 | static SENSOR_DEVICE_ATTR(temp3_crit_alarm, S_IRUGO, show_alarm, NULL, 12); | 854 | static SENSOR_DEVICE_ATTR_RO(temp3_crit_alarm, alarm, 12); |
862 | static SENSOR_DEVICE_ATTR(temp3_fault, S_IRUGO, show_alarm, NULL, 13); | 855 | static SENSOR_DEVICE_ATTR_RO(temp3_fault, alarm, 13); |
863 | static SENSOR_DEVICE_ATTR(temp1_crit_alarm, S_IRUGO, show_alarm, NULL, 14); | 856 | static SENSOR_DEVICE_ATTR_RO(temp1_crit_alarm, alarm, 14); |
864 | 857 | ||
865 | /* Update Interval */ | 858 | /* Update Interval */ |
866 | static const unsigned int update_intervals[] = { | 859 | static const unsigned int update_intervals[] = { |