diff options
-rw-r--r-- | drivers/hwmon/w83792d.c | 58 |
1 files changed, 2 insertions, 56 deletions
diff --git a/drivers/hwmon/w83792d.c b/drivers/hwmon/w83792d.c index 0ba5a2bd562e..06d6f56d4f69 100644 --- a/drivers/hwmon/w83792d.c +++ b/drivers/hwmon/w83792d.c | |||
@@ -296,7 +296,6 @@ struct w83792d_data { | |||
296 | u8 pwmenable[3]; | 296 | u8 pwmenable[3]; |
297 | u32 alarms; /* realtime status register encoding,combined */ | 297 | u32 alarms; /* realtime status register encoding,combined */ |
298 | u8 chassis; /* Chassis status */ | 298 | u8 chassis; /* Chassis status */ |
299 | u8 chassis_clear; /* CLR_CHS, clear chassis intrusion detection */ | ||
300 | u8 thermal_cruise[3]; /* Smart FanI: Fan1,2,3 target value */ | 299 | u8 thermal_cruise[3]; /* Smart FanI: Fan1,2,3 target value */ |
301 | u8 tolerance[3]; /* Fan1,2,3 tolerance(Smart Fan I/II) */ | 300 | u8 tolerance[3]; /* Fan1,2,3 tolerance(Smart Fan I/II) */ |
302 | u8 sf2_points[3][4]; /* Smart FanII: Fan1,2,3 temperature points */ | 301 | u8 sf2_points[3][4]; /* Smart FanII: Fan1,2,3 temperature points */ |
@@ -739,7 +738,7 @@ store_pwm_mode(struct device *dev, struct device_attribute *attr, | |||
739 | } | 738 | } |
740 | 739 | ||
741 | static ssize_t | 740 | static ssize_t |
742 | show_chassis(struct device *dev, struct device_attribute *attr, | 741 | show_chassis_clear(struct device *dev, struct device_attribute *attr, |
743 | char *buf) | 742 | char *buf) |
744 | { | 743 | { |
745 | struct w83792d_data *data = w83792d_update_device(dev); | 744 | struct w83792d_data *data = w83792d_update_device(dev); |
@@ -747,52 +746,6 @@ show_chassis(struct device *dev, struct device_attribute *attr, | |||
747 | } | 746 | } |
748 | 747 | ||
749 | static ssize_t | 748 | static ssize_t |
750 | show_regs_chassis(struct device *dev, struct device_attribute *attr, | ||
751 | char *buf) | ||
752 | { | ||
753 | dev_warn(dev, | ||
754 | "Attribute %s is deprecated, use intrusion0_alarm instead\n", | ||
755 | "chassis"); | ||
756 | return show_chassis(dev, attr, buf); | ||
757 | } | ||
758 | |||
759 | static ssize_t | ||
760 | show_chassis_clear(struct device *dev, struct device_attribute *attr, char *buf) | ||
761 | { | ||
762 | struct w83792d_data *data = w83792d_update_device(dev); | ||
763 | return sprintf(buf, "%d\n", data->chassis_clear); | ||
764 | } | ||
765 | |||
766 | static ssize_t | ||
767 | store_chassis_clear_legacy(struct device *dev, struct device_attribute *attr, | ||
768 | const char *buf, size_t count) | ||
769 | { | ||
770 | struct i2c_client *client = to_i2c_client(dev); | ||
771 | struct w83792d_data *data = i2c_get_clientdata(client); | ||
772 | unsigned long val; | ||
773 | int err; | ||
774 | u8 temp1 = 0, temp2 = 0; | ||
775 | |||
776 | dev_warn(dev, | ||
777 | "Attribute %s is deprecated, use intrusion0_alarm instead\n", | ||
778 | "chassis_clear"); | ||
779 | |||
780 | err = kstrtoul(buf, 10, &val); | ||
781 | if (err) | ||
782 | return err; | ||
783 | |||
784 | mutex_lock(&data->update_lock); | ||
785 | data->chassis_clear = SENSORS_LIMIT(val, 0, 1); | ||
786 | temp1 = ((data->chassis_clear) << 7) & 0x80; | ||
787 | temp2 = w83792d_read_value(client, | ||
788 | W83792D_REG_CHASSIS_CLR) & 0x7f; | ||
789 | w83792d_write_value(client, W83792D_REG_CHASSIS_CLR, temp1 | temp2); | ||
790 | mutex_unlock(&data->update_lock); | ||
791 | |||
792 | return count; | ||
793 | } | ||
794 | |||
795 | static ssize_t | ||
796 | store_chassis_clear(struct device *dev, struct device_attribute *attr, | 749 | store_chassis_clear(struct device *dev, struct device_attribute *attr, |
797 | const char *buf, size_t count) | 750 | const char *buf, size_t count) |
798 | { | 751 | { |
@@ -1116,11 +1069,8 @@ static SENSOR_DEVICE_ATTR(in8_alarm, S_IRUGO, show_alarm, NULL, 20); | |||
1116 | static SENSOR_DEVICE_ATTR(fan4_alarm, S_IRUGO, show_alarm, NULL, 21); | 1069 | static SENSOR_DEVICE_ATTR(fan4_alarm, S_IRUGO, show_alarm, NULL, 21); |
1117 | static SENSOR_DEVICE_ATTR(fan5_alarm, S_IRUGO, show_alarm, NULL, 22); | 1070 | static SENSOR_DEVICE_ATTR(fan5_alarm, S_IRUGO, show_alarm, NULL, 22); |
1118 | static SENSOR_DEVICE_ATTR(fan6_alarm, S_IRUGO, show_alarm, NULL, 23); | 1071 | static SENSOR_DEVICE_ATTR(fan6_alarm, S_IRUGO, show_alarm, NULL, 23); |
1119 | static DEVICE_ATTR(chassis, S_IRUGO, show_regs_chassis, NULL); | ||
1120 | static DEVICE_ATTR(chassis_clear, S_IRUGO | S_IWUSR, | ||
1121 | show_chassis_clear, store_chassis_clear_legacy); | ||
1122 | static DEVICE_ATTR(intrusion0_alarm, S_IRUGO | S_IWUSR, | 1072 | static DEVICE_ATTR(intrusion0_alarm, S_IRUGO | S_IWUSR, |
1123 | show_chassis, store_chassis_clear); | 1073 | show_chassis_clear, store_chassis_clear); |
1124 | static SENSOR_DEVICE_ATTR(pwm1, S_IWUSR | S_IRUGO, show_pwm, store_pwm, 0); | 1074 | static SENSOR_DEVICE_ATTR(pwm1, S_IWUSR | S_IRUGO, show_pwm, store_pwm, 0); |
1125 | static SENSOR_DEVICE_ATTR(pwm2, S_IWUSR | S_IRUGO, show_pwm, store_pwm, 1); | 1075 | static SENSOR_DEVICE_ATTR(pwm2, S_IWUSR | S_IRUGO, show_pwm, store_pwm, 1); |
1126 | static SENSOR_DEVICE_ATTR(pwm3, S_IWUSR | S_IRUGO, show_pwm, store_pwm, 2); | 1076 | static SENSOR_DEVICE_ATTR(pwm3, S_IWUSR | S_IRUGO, show_pwm, store_pwm, 2); |
@@ -1320,8 +1270,6 @@ static struct attribute *w83792d_attributes[] = { | |||
1320 | &sensor_dev_attr_pwm3_mode.dev_attr.attr, | 1270 | &sensor_dev_attr_pwm3_mode.dev_attr.attr, |
1321 | &sensor_dev_attr_pwm3_enable.dev_attr.attr, | 1271 | &sensor_dev_attr_pwm3_enable.dev_attr.attr, |
1322 | &dev_attr_alarms.attr, | 1272 | &dev_attr_alarms.attr, |
1323 | &dev_attr_chassis.attr, | ||
1324 | &dev_attr_chassis_clear.attr, | ||
1325 | &dev_attr_intrusion0_alarm.attr, | 1273 | &dev_attr_intrusion0_alarm.attr, |
1326 | &sensor_dev_attr_tolerance1.dev_attr.attr, | 1274 | &sensor_dev_attr_tolerance1.dev_attr.attr, |
1327 | &sensor_dev_attr_thermal_cruise1.dev_attr.attr, | 1275 | &sensor_dev_attr_thermal_cruise1.dev_attr.attr, |
@@ -1627,8 +1575,6 @@ static struct w83792d_data *w83792d_update_device(struct device *dev) | |||
1627 | /* Update CaseOpen status and it's CLR_CHS. */ | 1575 | /* Update CaseOpen status and it's CLR_CHS. */ |
1628 | data->chassis = (w83792d_read_value(client, | 1576 | data->chassis = (w83792d_read_value(client, |
1629 | W83792D_REG_CHASSIS) >> 5) & 0x01; | 1577 | W83792D_REG_CHASSIS) >> 5) & 0x01; |
1630 | data->chassis_clear = (w83792d_read_value(client, | ||
1631 | W83792D_REG_CHASSIS_CLR) >> 7) & 0x01; | ||
1632 | 1578 | ||
1633 | /* Update Thermal Cruise/Smart Fan I target value */ | 1579 | /* Update Thermal Cruise/Smart Fan I target value */ |
1634 | for (i = 0; i < 3; i++) { | 1580 | for (i = 0; i < 3; i++) { |