Skip to contentSkip to conversation

hwmon/sis5595: Add individual alarm files

PATCH Superseded Ivo Manca 2 participants 4 messages Oct 15, 2007 Hardware monitoring

lore
Share & tools
lore

Ivo Manca

author
#0 lore raw

PATCH 1/2 hwmon/sis5595: Add individual alarm files

From: Ivo Manca <[email protected]>

Add individual alarm files needed by the new libsensors.

---
 sis5595.c |   31 +++++++++++++++++++++++++++++--
 1 file changed, 29 insertions(+), 2 deletions(-)
drivers/hwmon/sis5595.c +29 -2
@@ -435,6 +435,22 @@ static ssize_t show_alarms(struct device
 }
 static DEVICE_ATTR(alarms, S_IRUGO, show_alarms, NULL);
 
+static ssize_t show_alarm(struct device *dev, struct device_attribute *da,
+			  char *buf)
+{
+	struct sis5595_data *data = sis5595_update_device(dev);
+	int nr = to_sensor_dev_attr(da)->index;
+	return sprintf(buf, "%u\n", (data->alarms >> nr) & 1);
+}
+static SENSOR_DEVICE_ATTR(in0_alarm, S_IRUGO, show_alarm, NULL, 0);
+static SENSOR_DEVICE_ATTR(in1_alarm, S_IRUGO, show_alarm, NULL, 1);
+static SENSOR_DEVICE_ATTR(in2_alarm, S_IRUGO, show_alarm, NULL, 2);
+static SENSOR_DEVICE_ATTR(in3_alarm, S_IRUGO, show_alarm, NULL, 3);
+static SENSOR_DEVICE_ATTR(in4_alarm, S_IRUGO, show_alarm, NULL, 15);
+static SENSOR_DEVICE_ATTR(fan1_alarm, S_IRUGO, show_alarm, NULL, 6);
+static SENSOR_DEVICE_ATTR(fan2_alarm, S_IRUGO, show_alarm, NULL, 7);
+static SENSOR_DEVICE_ATTR(temp1_alarm, S_IRUGO, show_alarm, NULL, 15);
+
 static ssize_t show_name(struct device *dev, struct device_attribute *attr,
 			 char *buf)
 {
@@ -447,22 +463,27 @@ static struct attribute *sis5595_attribu
 	&sensor_dev_attr_in0_input.dev_attr.attr,
 	&sensor_dev_attr_in0_min.dev_attr.attr,
 	&sensor_dev_attr_in0_max.dev_attr.attr,
+	&sensor_dev_attr_in0_alarm.dev_attr.attr,
 	&sensor_dev_attr_in1_input.dev_attr.attr,
 	&sensor_dev_attr_in1_min.dev_attr.attr,
 	&sensor_dev_attr_in1_max.dev_attr.attr,
+	&sensor_dev_attr_in1_alarm.dev_attr.attr,
 	&sensor_dev_attr_in2_input.dev_attr.attr,
 	&sensor_dev_attr_in2_min.dev_attr.attr,
 	&sensor_dev_attr_in2_max.dev_attr.attr,
 	&sensor_dev_attr_in3_input.dev_attr.attr,
 	&sensor_dev_attr_in3_min.dev_attr.attr,
 	&sensor_dev_attr_in3_max.dev_attr.attr,
+	&sensor_dev_attr_in3_alarm.dev_attr.attr,
 
 	&sensor_dev_attr_fan1_input.dev_attr.attr,
 	&sensor_dev_attr_fan1_min.dev_attr.attr,
 	&sensor_dev_attr_fan1_div.dev_attr.attr,
+	&sensor_dev_attr_fan1_alarm.dev_attr.attr,
 	&sensor_dev_attr_fan2_input.dev_attr.attr,
 	&sensor_dev_attr_fan2_min.dev_attr.attr,
 	&sensor_dev_attr_fan2_div.dev_attr.attr,
+	&sensor_dev_attr_fan2_alarm.dev_attr.attr,
 
 	&dev_attr_alarms.attr,
 	&dev_attr_name.attr,
@@ -477,10 +498,12 @@ static struct attribute *sis5595_attribu
 	&sensor_dev_attr_in4_input.dev_attr.attr,
 	&sensor_dev_attr_in4_min.dev_attr.attr,
 	&sensor_dev_attr_in4_max.dev_attr.attr,
+	&sensor_dev_attr_in4_alarm.dev_attr.attr,
 
 	&dev_attr_temp1_input.attr,
 	&dev_attr_temp1_max.attr,
 	&dev_attr_temp1_max_hyst.attr,
+	&sensor_dev_attr_temp1_alarm.dev_attr.attr,
 	NULL
 };
 
@@ -545,7 +568,9 @@ static int __devinit sis5595_probe(struc
 		 || (err = device_create_file(&pdev->dev,
 					&sensor_dev_attr_in4_min.dev_attr))
 		 || (err = device_create_file(&pdev->dev,
-					&sensor_dev_attr_in4_max.dev_attr)))
+					&sensor_dev_attr_in4_max.dev_attr))
+		 || (err = device_create_file(&pdev->dev,
+					&sensor_dev_attr_in4_alarm.dev_attr)))
 			goto exit_remove_files;
 	} else {
 		if ((err = device_create_file(&pdev->dev,
@@ -553,7 +578,9 @@ static int __devinit sis5595_probe(struc
 		 || (err = device_create_file(&pdev->dev,
 					      &dev_attr_temp1_max))
 		 || (err = device_create_file(&pdev->dev,
-					      &dev_attr_temp1_max_hyst)))
+					      &dev_attr_temp1_max_hyst))
+		 || (err = device_create_file(&pdev->dev,
+				&sensor_dev_attr_temp1_alarm.dev_attr)))
 			goto exit_remove_files;
 	}
 

_______________________________________________
lm-sensors mailing list
[email protected]
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

#1 lore raw

Re: [lm-sensors] [PATCH 1/2] hwmon/sis5595: Add individual alarm

Hi Ivo,

Quoted 36 lines · Ivo Manca

From: Ivo Manca <[email protected]>

Add individual alarm files needed by the new libsensors.

---
 sis5595.c |   31 +++++++++++++++++++++++++++++--
 1 file changed, 29 insertions(+), 2 deletions(-)
drivers/hwmon/sis5595.c +16 -0
@@ -435,6 +435,22 @@ static ssize_t show_alarms(struct device
 }
 static DEVICE_ATTR(alarms, S_IRUGO, show_alarms, NULL);
 
+static ssize_t show_alarm(struct device *dev, struct device_attribute *da,
+			  char *buf)
+{
+	struct sis5595_data *data = sis5595_update_device(dev);
+	int nr = to_sensor_dev_attr(da)->index;
+	return sprintf(buf, "%u\n", (data->alarms >> nr) & 1);
+}
+static SENSOR_DEVICE_ATTR(in0_alarm, S_IRUGO, show_alarm, NULL, 0);
+static SENSOR_DEVICE_ATTR(in1_alarm, S_IRUGO, show_alarm, NULL, 1);
+static SENSOR_DEVICE_ATTR(in2_alarm, S_IRUGO, show_alarm, NULL, 2);
+static SENSOR_DEVICE_ATTR(in3_alarm, S_IRUGO, show_alarm, NULL, 3);
+static SENSOR_DEVICE_ATTR(in4_alarm, S_IRUGO, show_alarm, NULL, 15);
+static SENSOR_DEVICE_ATTR(fan1_alarm, S_IRUGO, show_alarm, NULL, 6);
+static SENSOR_DEVICE_ATTR(fan2_alarm, S_IRUGO, show_alarm, NULL, 7);
+static SENSOR_DEVICE_ATTR(temp1_alarm, S_IRUGO, show_alarm, NULL, 15);
+
 static ssize_t show_name(struct device *dev, struct device_attribute *attr,
 			 char *buf)
 {
@@ -447,22 +463,27 @@ static struct attribute *sis5595_attribu
 	&sensor_dev_attr_in0_input.dev_attr.attr,

drivers/hwmon/sis5595.c static struct attribute *sis5595_attribu · line 473

Quoted 10 lines
drivers/hwmon/sis5595.c +2 -0
 	&sensor_dev_attr_in0_min.dev_attr.attr,
 	&sensor_dev_attr_in0_max.dev_attr.attr,
+	&sensor_dev_attr_in0_alarm.dev_attr.attr,
 	&sensor_dev_attr_in1_input.dev_attr.attr,
 	&sensor_dev_attr_in1_min.dev_attr.attr,
 	&sensor_dev_attr_in1_max.dev_attr.attr,
+	&sensor_dev_attr_in1_alarm.dev_attr.attr,
 	&sensor_dev_attr_in2_input.dev_attr.attr,
 	&sensor_dev_attr_in2_min.dev_attr.attr,
 	&sensor_dev_attr_in2_max.dev_attr.attr,

CC [M] drivers/hwmon/sis5595.o
drivers/hwmon/sis5595.c:447: warning: ‘sensor_dev_attr_in2_alarm’ defined but not used

Quoted 41 lines
drivers/hwmon/sis5595.c +8 -1
 	&sensor_dev_attr_in3_input.dev_attr.attr,
 	&sensor_dev_attr_in3_min.dev_attr.attr,
 	&sensor_dev_attr_in3_max.dev_attr.attr,
+	&sensor_dev_attr_in3_alarm.dev_attr.attr,
 
 	&sensor_dev_attr_fan1_input.dev_attr.attr,
 	&sensor_dev_attr_fan1_min.dev_attr.attr,
 	&sensor_dev_attr_fan1_div.dev_attr.attr,
+	&sensor_dev_attr_fan1_alarm.dev_attr.attr,
 	&sensor_dev_attr_fan2_input.dev_attr.attr,
 	&sensor_dev_attr_fan2_min.dev_attr.attr,
 	&sensor_dev_attr_fan2_div.dev_attr.attr,
+	&sensor_dev_attr_fan2_alarm.dev_attr.attr,
 
 	&dev_attr_alarms.attr,
 	&dev_attr_name.attr,
@@ -477,10 +498,12 @@ static struct attribute *sis5595_attribu
 	&sensor_dev_attr_in4_input.dev_attr.attr,
 	&sensor_dev_attr_in4_min.dev_attr.attr,
 	&sensor_dev_attr_in4_max.dev_attr.attr,
+	&sensor_dev_attr_in4_alarm.dev_attr.attr,
 
 	&dev_attr_temp1_input.attr,
 	&dev_attr_temp1_max.attr,
 	&dev_attr_temp1_max_hyst.attr,
+	&sensor_dev_attr_temp1_alarm.dev_attr.attr,
 	NULL
 };
 
@@ -545,7 +568,9 @@ static int __devinit sis5595_probe(struc
 		 || (err = device_create_file(&pdev->dev,
 					&sensor_dev_attr_in4_min.dev_attr))
 		 || (err = device_create_file(&pdev->dev,
-					&sensor_dev_attr_in4_max.dev_attr)))
+					&sensor_dev_attr_in4_max.dev_attr))
+		 || (err = device_create_file(&pdev->dev,
+					&sensor_dev_attr_in4_alarm.dev_attr)))
 			goto exit_remove_files;
 	} else {
 		if ((err = device_create_file(&pdev->dev,

drivers/hwmon/sis5595.c static int __devinit sis5595_probe(struc · line 585

Quoted 9 lines
drivers/hwmon/sis5595.c +3 -1
@@ -553,7 +578,9 @@ static int __devinit sis5595_probe(struc
 		 || (err = device_create_file(&pdev->dev,
 					      &dev_attr_temp1_max))
 		 || (err = device_create_file(&pdev->dev,
-					      &dev_attr_temp1_max_hyst)))
+					      &dev_attr_temp1_max_hyst))
+		 || (err = device_create_file(&pdev->dev,
+				&sensor_dev_attr_temp1_alarm.dev_attr)))
 			goto exit_remove_files;
 	}

All the rest looks OK.

Signature · 6 lines
Jean Delvare

_______________________________________________
lm-sensors mailing list
[email protected]
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors
author
#2 lore raw

Re: [lm-sensors] [PATCH 1/2] hwmon/sis5595: Add individual alarm

In reply to Ivo Manca

Ugh, copy+pasting is obviously not my strongest point.

Fixed it, and will resend it right away. However, because of this, the offset of the next patch will also change by one, which will make patch give warnings. Is that any problem? If so, please let me know, and I'll send a new patch right away.

Thanks for the review, again :)

Ivo

Quoted 101 lines · Jean Delvare

Hi Ivo,

Quoted 37 lines · Ivo Manca

From: Ivo Manca <[email protected]>

Add individual alarm files needed by the new libsensors.

---
 sis5595.c |   31 +++++++++++++++++++++++++++++--
 1 file changed, 29 insertions(+), 2 deletions(-)
drivers/hwmon/sis5595.c +16 -0
@@ -435,6 +435,22 @@ static ssize_t show_alarms(struct device
 }
 static DEVICE_ATTR(alarms, S_IRUGO, show_alarms, NULL);
 
+static ssize_t show_alarm(struct device *dev, struct device_attribute *da,
+			  char *buf)
+{
+	struct sis5595_data *data = sis5595_update_device(dev);
+	int nr = to_sensor_dev_attr(da)->index;
+	return sprintf(buf, "%u\n", (data->alarms >> nr) & 1);
+}
+static SENSOR_DEVICE_ATTR(in0_alarm, S_IRUGO, show_alarm, NULL, 0);
+static SENSOR_DEVICE_ATTR(in1_alarm, S_IRUGO, show_alarm, NULL, 1);
+static SENSOR_DEVICE_ATTR(in2_alarm, S_IRUGO, show_alarm, NULL, 2);
+static SENSOR_DEVICE_ATTR(in3_alarm, S_IRUGO, show_alarm, NULL, 3);
+static SENSOR_DEVICE_ATTR(in4_alarm, S_IRUGO, show_alarm, NULL, 15);
+static SENSOR_DEVICE_ATTR(fan1_alarm, S_IRUGO, show_alarm, NULL, 6);
+static SENSOR_DEVICE_ATTR(fan2_alarm, S_IRUGO, show_alarm, NULL, 7);
+static SENSOR_DEVICE_ATTR(temp1_alarm, S_IRUGO, show_alarm, NULL, 15);
+
 static ssize_t show_name(struct device *dev, struct device_attribute *attr,
 			 char *buf)
 {
@@ -447,22 +463,27 @@ static struct attribute *sis5595_attribu
 	&sensor_dev_attr_in0_input.dev_attr.attr,
 	&sensor_dev_attr_in0_min.dev_attr.attr,

drivers/hwmon/sis5595.c static struct attribute *sis5595_attribu · line 474

Quoted 10 lines
drivers/hwmon/sis5595.c +2 -0
 	&sensor_dev_attr_in0_max.dev_attr.attr,
+	&sensor_dev_attr_in0_alarm.dev_attr.attr,
 	&sensor_dev_attr_in1_input.dev_attr.attr,
 	&sensor_dev_attr_in1_min.dev_attr.attr,
 	&sensor_dev_attr_in1_max.dev_attr.attr,
+	&sensor_dev_attr_in1_alarm.dev_attr.attr,
 	&sensor_dev_attr_in2_input.dev_attr.attr,
 	&sensor_dev_attr_in2_min.dev_attr.attr,
 	&sensor_dev_attr_in2_max.dev_attr.attr,
 

CC [M] drivers/hwmon/sis5595.o
drivers/hwmon/sis5595.c:447: warning: ‘sensor_dev_attr_in2_alarm’ defined but not used

Quoted 45 lines
drivers/hwmon/sis5595.c +3 -0
 	&sensor_dev_attr_in3_input.dev_attr.attr,
 	&sensor_dev_attr_in3_min.dev_attr.attr,
 	&sensor_dev_attr_in3_max.dev_attr.attr,
+	&sensor_dev_attr_in3_alarm.dev_attr.attr,
 
 	&sensor_dev_attr_fan1_input.dev_attr.attr,
 	&sensor_dev_attr_fan1_min.dev_attr.attr,
 	&sensor_dev_attr_fan1_div.dev_attr.attr,
+	&sensor_dev_attr_fan1_alarm.dev_attr.attr,
 	&sensor_dev_attr_fan2_input.dev_attr.attr,
 	&sensor_dev_attr_fan2_min.dev_attr.attr,
 	&sensor_dev_attr_fan2_div.dev_attr.attr,
+	&sensor_dev_attr_fan2_alarm.dev_attr.attr,
 
 	&dev_attr_alarms.attr,
drivers/hwmon/sis5595.c +5 -2
 	&dev_attr_name.attr,
@@ -477,10 +498,12 @@ static struct attribute *sis5595_attribu
 	&sensor_dev_attr_in4_input.dev_attr.attr,
 	&sensor_dev_attr_in4_min.dev_attr.attr,
 	&sensor_dev_attr_in4_max.dev_attr.attr,
+	&sensor_dev_attr_in4_alarm.dev_attr.attr,
 
 	&dev_attr_temp1_input.attr,
 	&dev_attr_temp1_max.attr,
 	&dev_attr_temp1_max_hyst.attr,
+	&sensor_dev_attr_temp1_alarm.dev_attr.attr,
 	NULL
 };
 
@@ -545,7 +568,9 @@ static int __devinit sis5595_probe(struc
 		 || (err = device_create_file(&pdev->dev,
 					&sensor_dev_attr_in4_min.dev_attr))
 		 || (err = device_create_file(&pdev->dev,
-					&sensor_dev_attr_in4_max.dev_attr)))
+					&sensor_dev_attr_in4_max.dev_attr))
+		 || (err = device_create_file(&pdev->dev,
+					&sensor_dev_attr_in4_alarm.dev_attr)))
 			goto exit_remove_files;
 	} else {
 		if ((err = device_create_file(&pdev->dev,
@@ -553,7 +578,9 @@ static int __devinit sis5595_probe(struc
 		 || (err = device_create_file(&pdev->dev,
 					      &dev_attr_temp1_max))
 		 || (err = device_create_file(&pdev->dev,
-					      &dev_attr_temp1_max_hyst)))
Quoted 10 lines

drivers/hwmon/sis5595.c static int __devinit sis5595_probe(struc · line 586

Quoted 6 lines
drivers/hwmon/sis5595.c +3 -0
+					      &dev_attr_temp1_max_hyst))
+		 || (err = device_create_file(&pdev->dev,
+				&sensor_dev_attr_temp1_alarm.dev_attr)))
 			goto exit_remove_files;
 	}
 

All the rest looks OK.

_______________________________________________
lm-sensors mailing list
[email protected]
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

#3 lore raw

Re: [lm-sensors] [PATCH 1/2] hwmon/sis5595: Add individual alarm

In reply to Ivo Manca

Hi Ivo,

Quoted 6 lines · Ivo Manca

Ugh, copy+pasting is obviously not my strongest point.

Fixed it, and will resend it right away. However, because of this, the offset of the next patch will also change by one, which will make patch give warnings. Is that any problem? If so, please let me know, and I'll send a new patch right away.

No, it's not a problem.

Signature · 6 lines
Jean Delvare

_______________________________________________
lm-sensors mailing list
[email protected]
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors