hwmon: (lm77) Add individual alarm files
PATCH 1/1 hwmon: (lm77) Add individual alarm files
The new libsensors needs this. As the old library never had support for the lm77 driver, I even dropped the legacy "alarms" file.
---
Michael, could you please test and/or review this patch? Either test the sysfs files directly or use lm-sensors 3.0.0 and the alarms should be displayed as needed. Thanks.
drivers/hwmon/lm77.c | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-)
drivers/hwmon/lm77.c +15 -5
@@ -31,6 +31,7 @@#include <linux/jiffies.h> #include <linux/i2c.h> #include <linux/hwmon.h> +#include <linux/hwmon-sysfs.h> #include <linux/err.h> #include <linux/mutex.h>
@@ -113,7 +114,6 @@ show(temp_input);show (temp_crit);show (temp_min);show (temp_max); -show (alarms);/* read routines for hysteresis values */ static ssize_t show_temp_crit_hyst (struct device *dev,struct device_attribute *attr,char *buf)
@@ -186,6 +186,14 @@ static ssize_t set_temp_crit(struct devireturn count; } +static ssize_t show_alarm (struct device *dev,struct device_attribute *attr, +char *buf) +{ +int bitnr =to_sensor_dev_attr (attr)->index; +struct lm77_data *data =lm77_update_device (dev); +return sprintf (buf,"%u\n" , (data->alarms >> bitnr) &1 ); +} + static DEVICE_ATTR(temp1_input, S_IRUGO, show_temp_input, NULL); static DEVICE_ATTR(temp1_crit, S_IWUSR | S_IRUGO,
@@ -202,8 +210,9 @@ static DEVICE_ATTR(temp1_min_hyst, S_IRU static DEVICE_ATTR(temp1_max_hyst, S_IRUGO, show_temp_max_hyst, NULL); -static DEVICE_ATTR(alarms, S_IRUGO, - show_alarms, NULL); +static SENSOR_DEVICE_ATTR(temp1_crit_alarm, S_IRUGO, show_alarm, NULL, 2); +static SENSOR_DEVICE_ATTR(temp1_min_alarm, S_IRUGO, show_alarm, NULL, 0); +static SENSOR_DEVICE_ATTR(temp1_max_alarm, S_IRUGO, show_alarm, NULL, 1);static int lm77_attach_adapter (struct i2c_adapter *adapter) {
@@ -220,8 +229,9 @@ static struct attribute *lm77_attributes &dev_attr_temp1_crit_hyst.attr, &dev_attr_temp1_min_hyst.attr, &dev_attr_temp1_max_hyst.attr, - &dev_attr_alarms.attr, - + &sensor_dev_attr_temp1_crit_alarm.dev_attr.attr, + &sensor_dev_attr_temp1_min_alarm.dev_attr.attr, + &sensor_dev_attr_temp1_max_alarm.dev_attr.attr, NULL };
Signature · 6 lines
Jean Delvare _______________________________________________ lm-sensors mailing list [email protected] http://lists.lm-sensors.org/mailman/listinfo/lm-sensors
Looks good,
Regards,
Hans
Quoted 61 lines · Jean Delvare
The new libsensors needs this. As the old library never had support for the lm77 driver, I even dropped the legacy "alarms" file.
Signed-off-by Jean Delvare <[email protected]>---
Michael, could you please test and/or review this patch? Either test the sysfs files directly or use lm-sensors 3.0.0 and the alarms should be displayed as needed. Thanks.drivers/hwmon/lm77.c | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-)drivers/hwmon/lm77.c +12
-3@@ -31,6 +31,7 @@#include <linux/jiffies.h> #include <linux/i2c.h> #include <linux/hwmon.h> +#include <linux/hwmon-sysfs.h> #include <linux/err.h> #include <linux/mutex.h> @@ -113,7 +114,6 @@ show(temp_input);show (temp_crit);show (temp_min);show (temp_max); -show (alarms);/* read routines for hysteresis values */ static ssize_t show_temp_crit_hyst (struct device *dev,struct device_attribute *attr,char *buf)@@ -186,6 +186,14 @@ static ssize_t set_temp_crit(struct devireturn count; } +static ssize_t show_alarm (struct device *dev,struct device_attribute *attr, +char *buf) +{ +int bitnr =to_sensor_dev_attr (attr)->index; +struct lm77_data *data =lm77_update_device (dev); +return sprintf (buf,"%u\n" , (data->alarms >> bitnr) &1 ); +} + static DEVICE_ATTR(temp1_input, S_IRUGO, show_temp_input, NULL); static DEVICE_ATTR(temp1_crit, S_IWUSR | S_IRUGO,@@ -202,8 +210,9 @@ static DEVICE_ATTR(temp1_min_hyst, S_IRU static DEVICE_ATTR(temp1_max_hyst, S_IRUGO, show_temp_max_hyst, NULL); -static DEVICE_ATTR(alarms, S_IRUGO, - show_alarms, NULL); +static SENSOR_DEVICE_ATTR(temp1_crit_alarm, S_IRUGO, show_alarm, NULL, 2); +static SENSOR_DEVICE_ATTR(temp1_min_alarm, S_IRUGO, show_alarm, NULL, 0); +static SENSOR_DEVICE_ATTR(temp1_max_alarm, S_IRUGO, show_alarm, NULL, 1);static int lm77_attach_adapter (struct i2c_adapter *adapter) {@@ -220,8 +229,9 @@ static struct attribute *lm77_attributes &dev_attr_temp1_crit_hyst.attr,
drivers/hwmon/lm77.c static struct attribute *lm77_attributes · line 237
Quoted 10 lines
drivers/hwmon/lm77.c +3
-2&dev_attr_temp1_min_hyst.attr, &dev_attr_temp1_max_hyst.attr, - &dev_attr_alarms.attr, - + &sensor_dev_attr_temp1_crit_alarm.dev_attr.attr, + &sensor_dev_attr_temp1_min_alarm.dev_attr.attr, + &sensor_dev_attr_temp1_max_alarm.dev_attr.attr, NULL };
_______________________________________________
lm-sensors mailing list
[email protected]
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors
Hi Jean:
Quoted 11 lines · Jean Delvare
The new libsensors needs this. As the old library never had support for the lm77 driver, I even dropped the legacy "alarms" file.
Signed-off-by Jean Delvare <[email protected]>---
Michael, could you please test and/or review this patch? Either test the sysfs files directly or use lm-sensors 3.0.0 and the alarms should be displayed as needed. Thanks.drivers/hwmon/lm77.c | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-)
Applied to hwmon-2.6.git/testing, thanks.
Signature · 8 lines
Mark M. Hoffman [email protected] _______________________________________________ lm-sensors mailing list [email protected] http://lists.lm-sensors.org/mailman/listinfo/lm-sensors