diff options
| author | Guenter Roeck <linux@roeck-us.net> | 2012-09-04 21:58:00 -0400 |
|---|---|---|
| committer | Guenter Roeck <linux@roeck-us.net> | 2012-09-24 00:08:34 -0400 |
| commit | 1267ce9c332de174bae82e968e7f821380b2ccdf (patch) | |
| tree | 46999c305aefc70e90a3971fef2719d481792824 /drivers | |
| parent | f4a41eeac90eaed4e21007e75d21fb74e3588f53 (diff) | |
hwmon: (w83792d) Remove legacy chassis intrusion detection attributes
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Acked-by: Jean Delvare <khali@linux-fr.org>
Diffstat (limited to 'drivers')
| -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++) { |
