summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuenter Roeck <linux@roeck-us.net>2019-01-21 23:37:22 -0500
committerGuenter Roeck <linux@roeck-us.net>2019-04-15 20:19:53 -0400
commit8e757e15a509b8623fd02f18c65eedcc1ed9fed3 (patch)
treeff29482407416567d2db71009fa9ffcc0f569ff8
parent29168f30e33b27cfbd3b6da4df59b1a20ac62b63 (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.c201
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
334static ssize_t show_fan_auto_channel(struct device *dev, 334static 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
342static ssize_t 342static ssize_t
343set_fan_auto_channel(struct device *dev, struct device_attribute *attr, 343fan_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
395static SENSOR_DEVICE_ATTR(auto_fan1_channel, S_IRUGO | S_IWUSR, 395static SENSOR_DEVICE_ATTR_RW(auto_fan1_channel, fan_auto_channel, 0);
396 show_fan_auto_channel, set_fan_auto_channel, 0); 396static SENSOR_DEVICE_ATTR_RW(auto_fan2_channel, fan_auto_channel, 1);
397static 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 */
401static ssize_t show_auto_temp_off(struct device *dev, 399static 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}
409static ssize_t show_auto_temp_min(struct device *dev, 407static 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}
417static ssize_t 415static ssize_t
418set_auto_temp_min(struct device *dev, struct device_attribute *attr, 416auto_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}
439static ssize_t show_auto_temp_max(struct device *dev, 437static 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}
447static ssize_t 445static ssize_t
448set_auto_temp_max(struct device *dev, struct device_attribute *attr, 446auto_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) \ 469static SENSOR_DEVICE_ATTR_RO(auto_temp1_off, auto_temp_off, 0);
472static SENSOR_DEVICE_ATTR(auto_temp##offset##_off, S_IRUGO, \ 470static SENSOR_DEVICE_ATTR_RW(auto_temp1_min, auto_temp_min, 0);
473 show_auto_temp_off, NULL, offset - 1); \ 471static SENSOR_DEVICE_ATTR_RW(auto_temp1_max, auto_temp_max, 0);
474static SENSOR_DEVICE_ATTR(auto_temp##offset##_min, S_IRUGO | S_IWUSR, \ 472static SENSOR_DEVICE_ATTR_RO(auto_temp2_off, auto_temp_off, 1);
475 show_auto_temp_min, set_auto_temp_min, offset - 1); \ 473static SENSOR_DEVICE_ATTR_RW(auto_temp2_min, auto_temp_min, 1);
476static SENSOR_DEVICE_ATTR(auto_temp##offset##_max, S_IRUGO | S_IWUSR, \ 474static SENSOR_DEVICE_ATTR_RW(auto_temp2_max, auto_temp_max, 1);
477 show_auto_temp_max, set_auto_temp_max, offset - 1) 475static SENSOR_DEVICE_ATTR_RO(auto_temp3_off, auto_temp_off, 2);
478 476static SENSOR_DEVICE_ATTR_RW(auto_temp3_min, auto_temp_min, 2);
479auto_temp_reg(1); 477static SENSOR_DEVICE_ATTR_RW(auto_temp3_max, auto_temp_max, 2);
480auto_temp_reg(2);
481auto_temp_reg(3);
482 478
483/* pwm */ 479/* pwm */
484static ssize_t show_pwm(struct device *dev, 480static 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}
491static ssize_t set_pwm(struct device *dev, struct device_attribute *attr, 487static 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
520static SENSOR_DEVICE_ATTR(pwm1, S_IRUGO | S_IWUSR, show_pwm, set_pwm, 0); 516static SENSOR_DEVICE_ATTR_RW(pwm1, pwm, 0);
521static SENSOR_DEVICE_ATTR(pwm2, S_IRUGO | S_IWUSR, show_pwm, set_pwm, 1); 517static SENSOR_DEVICE_ATTR_RW(pwm2, pwm, 1);
522static SENSOR_DEVICE_ATTR(auto_fan1_min_pwm, S_IRUGO | S_IWUSR, 518static SENSOR_DEVICE_ATTR_RW(auto_fan1_min_pwm, pwm, 0);
523 show_pwm, set_pwm, 0); 519static SENSOR_DEVICE_ATTR_RW(auto_fan2_min_pwm, pwm, 1);
524static 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 569static ssize_t fan_show(struct device *dev, struct device_attribute *attr,
576static 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
588static ssize_t show_fan_div(struct device *dev, 581static 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}
595static ssize_t show_fan_min(struct device *dev, 588static 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}
604static ssize_t set_fan_min(struct device *dev, struct device_attribute *attr, 597static 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}
628static ssize_t set_fan_div(struct device *dev, struct device_attribute *attr, 622static 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) \ 671static SENSOR_DEVICE_ATTR_RO(fan1_input, fan, 0);
677static SENSOR_DEVICE_ATTR(fan##offset##_input, S_IRUGO, \ 672static SENSOR_DEVICE_ATTR_RW(fan1_min, fan_min, 0);
678 show_fan, NULL, offset - 1); \ 673static SENSOR_DEVICE_ATTR_RW(fan1_div, fan_div, 0);
679static SENSOR_DEVICE_ATTR(fan##offset##_min, S_IRUGO | S_IWUSR, \ 674static SENSOR_DEVICE_ATTR_RO(fan2_input, fan, 1);
680 show_fan_min, set_fan_min, offset - 1); \ 675static SENSOR_DEVICE_ATTR_RW(fan2_min, fan_min, 1);
681static SENSOR_DEVICE_ATTR(fan##offset##_div, S_IRUGO | S_IWUSR, \ 676static SENSOR_DEVICE_ATTR_RW(fan2_div, fan_div, 1);
682 show_fan_div, set_fan_div, offset - 1)
683
684fan_offset(1);
685fan_offset(2);
686
687 677
688/* Temps */ 678/* Temps */
689static ssize_t show_temp(struct device *dev, 679static 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}
700static ssize_t show_temp_offset(struct device *dev, 690static 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}
708static ssize_t show_temp_min(struct device *dev, 698static 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}
715static ssize_t show_temp_max(struct device *dev, 705static 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}
722static ssize_t show_temp_crit(struct device *dev, 712static 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}
729static ssize_t set_temp_offset(struct device *dev, 719static 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}
751static ssize_t set_temp_min(struct device *dev, struct device_attribute *attr, 741static 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}
772static ssize_t set_temp_max(struct device *dev, struct device_attribute *attr, 763static 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}
793static ssize_t set_temp_crit(struct device *dev, struct device_attribute *attr, 785static 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) \ 808static SENSOR_DEVICE_ATTR_RO(temp1_input, temp, 0);
816static SENSOR_DEVICE_ATTR(temp##offset##_input, S_IRUGO, \ 809static SENSOR_DEVICE_ATTR_RW(temp1_offset, temp_offset, 0);
817 show_temp, NULL, offset - 1); \ 810static SENSOR_DEVICE_ATTR_RW(temp1_min, temp_min, 0);
818static SENSOR_DEVICE_ATTR(temp##offset##_offset, S_IRUGO | S_IWUSR, \ 811static SENSOR_DEVICE_ATTR_RW(temp1_max, temp_max, 0);
819 show_temp_offset, set_temp_offset, offset - 1); \ 812static SENSOR_DEVICE_ATTR_RW(temp1_crit, temp_crit, 0);
820static SENSOR_DEVICE_ATTR(temp##offset##_min, S_IRUGO | S_IWUSR, \ 813static SENSOR_DEVICE_ATTR_RO(temp2_input, temp, 1);
821 show_temp_min, set_temp_min, offset - 1); \ 814static SENSOR_DEVICE_ATTR_RW(temp2_offset, temp_offset, 1);
822static SENSOR_DEVICE_ATTR(temp##offset##_max, S_IRUGO | S_IWUSR, \ 815static SENSOR_DEVICE_ATTR_RW(temp2_min, temp_min, 1);
823 show_temp_max, set_temp_max, offset - 1); \ 816static SENSOR_DEVICE_ATTR_RW(temp2_max, temp_max, 1);
824static SENSOR_DEVICE_ATTR(temp##offset##_crit, S_IRUGO | S_IWUSR, \ 817static SENSOR_DEVICE_ATTR_RW(temp2_crit, temp_crit, 1);
825 show_temp_crit, set_temp_crit, offset - 1) 818static SENSOR_DEVICE_ATTR_RO(temp3_input, temp, 2);
826 819static SENSOR_DEVICE_ATTR_RW(temp3_offset, temp_offset, 2);
827temp_reg(1); 820static SENSOR_DEVICE_ATTR_RW(temp3_min, temp_min, 2);
828temp_reg(2); 821static SENSOR_DEVICE_ATTR_RW(temp3_max, temp_max, 2);
829temp_reg(3); 822static SENSOR_DEVICE_ATTR_RW(temp3_crit, temp_crit, 2);
830 823
831/* Alarms */ 824/* Alarms */
832static ssize_t alarms_show(struct device *dev, struct device_attribute *attr, 825static 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
839static DEVICE_ATTR_RO(alarms); 832static DEVICE_ATTR_RO(alarms);
840 833
841static ssize_t show_alarm(struct device *dev, 834static 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
849static SENSOR_DEVICE_ATTR(fan1_alarm, S_IRUGO, show_alarm, NULL, 0); 842static SENSOR_DEVICE_ATTR_RO(fan1_alarm, alarm, 0);
850static SENSOR_DEVICE_ATTR(fan1_fault, S_IRUGO, show_alarm, NULL, 1); 843static SENSOR_DEVICE_ATTR_RO(fan1_fault, alarm, 1);
851static SENSOR_DEVICE_ATTR(temp2_max_alarm, S_IRUGO, show_alarm, NULL, 2); 844static SENSOR_DEVICE_ATTR_RO(temp2_max_alarm, alarm, 2);
852static SENSOR_DEVICE_ATTR(temp2_min_alarm, S_IRUGO, show_alarm, NULL, 3); 845static SENSOR_DEVICE_ATTR_RO(temp2_min_alarm, alarm, 3);
853static SENSOR_DEVICE_ATTR(temp2_crit_alarm, S_IRUGO, show_alarm, NULL, 4); 846static SENSOR_DEVICE_ATTR_RO(temp2_crit_alarm, alarm, 4);
854static SENSOR_DEVICE_ATTR(temp2_fault, S_IRUGO, show_alarm, NULL, 5); 847static SENSOR_DEVICE_ATTR_RO(temp2_fault, alarm, 5);
855static SENSOR_DEVICE_ATTR(temp1_max_alarm, S_IRUGO, show_alarm, NULL, 6); 848static SENSOR_DEVICE_ATTR_RO(temp1_max_alarm, alarm, 6);
856static SENSOR_DEVICE_ATTR(temp1_min_alarm, S_IRUGO, show_alarm, NULL, 7); 849static SENSOR_DEVICE_ATTR_RO(temp1_min_alarm, alarm, 7);
857static SENSOR_DEVICE_ATTR(fan2_alarm, S_IRUGO, show_alarm, NULL, 8); 850static SENSOR_DEVICE_ATTR_RO(fan2_alarm, alarm, 8);
858static SENSOR_DEVICE_ATTR(fan2_fault, S_IRUGO, show_alarm, NULL, 9); 851static SENSOR_DEVICE_ATTR_RO(fan2_fault, alarm, 9);
859static SENSOR_DEVICE_ATTR(temp3_max_alarm, S_IRUGO, show_alarm, NULL, 10); 852static SENSOR_DEVICE_ATTR_RO(temp3_max_alarm, alarm, 10);
860static SENSOR_DEVICE_ATTR(temp3_min_alarm, S_IRUGO, show_alarm, NULL, 11); 853static SENSOR_DEVICE_ATTR_RO(temp3_min_alarm, alarm, 11);
861static SENSOR_DEVICE_ATTR(temp3_crit_alarm, S_IRUGO, show_alarm, NULL, 12); 854static SENSOR_DEVICE_ATTR_RO(temp3_crit_alarm, alarm, 12);
862static SENSOR_DEVICE_ATTR(temp3_fault, S_IRUGO, show_alarm, NULL, 13); 855static SENSOR_DEVICE_ATTR_RO(temp3_fault, alarm, 13);
863static SENSOR_DEVICE_ATTR(temp1_crit_alarm, S_IRUGO, show_alarm, NULL, 14); 856static SENSOR_DEVICE_ATTR_RO(temp1_crit_alarm, alarm, 14);
864 857
865/* Update Interval */ 858/* Update Interval */
866static const unsigned int update_intervals[] = { 859static const unsigned int update_intervals[] = {