Jim Cromie wrote: > > inlined & attached > now attached. sorry. > From 92e4abc519b51ed3c80ec69854bdb6fc35c41e4b Mon Sep 17 00:00:00 2001 > From: Jim Cromie <jim.cromie at gmail.com> > Date: Sat, 28 Jun 2008 12:25:52 -0600 > Subject: [PATCH] hwmon/pc87360 separate alarm files - add > in-min/max-alarms > > Adds vin-min/max-alarm callbacks, sensor-device-attribute > declarations, and refs to those new decls in the macro used to > initialize the vin_group (of sysfs files) > > Signed-off-by: Jim Cromie <jim.cromie at gmail.com> > --- > drivers/hwmon/pc87360.c | 52 > ++++++++++++++++++++++++++++++++++++++++++++++- > 1 files changed, 51 insertions(+), 1 deletions(-) > > diff --git a/drivers/hwmon/pc87360.c b/drivers/hwmon/pc87360.c > index 1043b11..3b6ea7b 100644 > --- a/drivers/hwmon/pc87360.c > +++ b/drivers/hwmon/pc87360.c > @@ -494,11 +494,61 @@ static struct sensor_device_attribute in_max[] = { > #define CHAN_ALM_MAX 0x04 /* max limit exceeded */ > #define TEMP_ALM_CRIT 0x08 /* temp crit exceeded (temp only) */ > > +/* show_in_min/max_alarm() reads data from the per-channel status > + register (sec 11.5.12), not the vin event status registers (sec > + 11.5.2) that (legacy) show_in_alarm() resds (via data->in_alarms) */ > + > +static ssize_t show_in_min_alarm(struct device *dev, struct > device_attribute > + *devattr, char *buf) > +{ > + struct pc87360_data *data = pc87360_update_device(dev); > + unsigned nr = to_sensor_dev_attr(devattr)->index; > + > + return sprintf(buf, "%u\n", !!(data->in_status[nr] & CHAN_ALM_MIN)); > +} > +static ssize_t show_in_max_alarm(struct device *dev, struct > device_attribute > + *devattr, char *buf) > +{ > + struct pc87360_data *data = pc87360_update_device(dev); > + unsigned nr = to_sensor_dev_attr(devattr)->index; > + > + return sprintf(buf, "%u\n", !!(data->in_status[nr] & CHAN_ALM_MAX)); > +} > + > +static struct sensor_device_attribute in_min_alarm[] = { > + SENSOR_ATTR(in0_min_alarm, S_IRUGO, show_in_min_alarm, NULL, 0), > + SENSOR_ATTR(in1_min_alarm, S_IRUGO, show_in_min_alarm, NULL, 1), > + SENSOR_ATTR(in2_min_alarm, S_IRUGO, show_in_min_alarm, NULL, 2), > + SENSOR_ATTR(in3_min_alarm, S_IRUGO, show_in_min_alarm, NULL, 3), > + SENSOR_ATTR(in4_min_alarm, S_IRUGO, show_in_min_alarm, NULL, 4), > + SENSOR_ATTR(in5_min_alarm, S_IRUGO, show_in_min_alarm, NULL, 5), > + SENSOR_ATTR(in6_min_alarm, S_IRUGO, show_in_min_alarm, NULL, 6), > + SENSOR_ATTR(in7_min_alarm, S_IRUGO, show_in_min_alarm, NULL, 7), > + SENSOR_ATTR(in8_min_alarm, S_IRUGO, show_in_min_alarm, NULL, 8), > + SENSOR_ATTR(in9_min_alarm, S_IRUGO, show_in_min_alarm, NULL, 9), > + SENSOR_ATTR(in10_min_alarm, S_IRUGO, show_in_min_alarm, NULL, 10), > +}; > +static struct sensor_device_attribute in_max_alarm[] = { > + SENSOR_ATTR(in0_max_alarm, S_IRUGO, show_in_max_alarm, NULL, 0), > + SENSOR_ATTR(in1_max_alarm, S_IRUGO, show_in_max_alarm, NULL, 1), > + SENSOR_ATTR(in2_max_alarm, S_IRUGO, show_in_max_alarm, NULL, 2), > + SENSOR_ATTR(in3_max_alarm, S_IRUGO, show_in_max_alarm, NULL, 3), > + SENSOR_ATTR(in4_max_alarm, S_IRUGO, show_in_max_alarm, NULL, 4), > + SENSOR_ATTR(in5_max_alarm, S_IRUGO, show_in_max_alarm, NULL, 5), > + SENSOR_ATTR(in6_max_alarm, S_IRUGO, show_in_max_alarm, NULL, 6), > + SENSOR_ATTR(in7_max_alarm, S_IRUGO, show_in_max_alarm, NULL, 7), > + SENSOR_ATTR(in8_max_alarm, S_IRUGO, show_in_max_alarm, NULL, 8), > + SENSOR_ATTR(in9_max_alarm, S_IRUGO, show_in_max_alarm, NULL, 9), > + SENSOR_ATTR(in10_max_alarm, S_IRUGO, show_in_max_alarm, NULL, 10), > +}; > + > #define VIN_UNIT_ATTRS(X) \ > &in_input[X].dev_attr.attr, \ > &in_status[X].dev_attr.attr, \ > &in_min[X].dev_attr.attr, \ > - &in_max[X].dev_attr.attr > + &in_max[X].dev_attr.attr, \ > + &in_min_alarm[X].dev_attr.attr, \ > + &in_max_alarm[X].dev_attr.attr > > static ssize_t show_vid(struct device *dev, struct device_attribute > *attr, char *buf) > { -------------- next part -------------- A non-text attachment was scrubbed... Name: 0002-hwmon-pc87360-separate-alarm-files-add-in-min-max.patch Type: text/x-patch Size: 3686 bytes Desc: not available Url : http://lists.lm-sensors.org/pipermail/lm-sensors/attachments/20080910/9638fcd9/attachment.bin