Re: [PATCH 1/4 v2] hwmon: (adm9240) Implement the standard intrusion detection interface

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Jean,

I'm sorry, other issues prevented me from testing this (I spent Xmas day 
in hospital) -- it may be couple weeks or more before I can test that box, 
I still have it, but need to do an OS reinstall) so I can test the new 
stuff on it.

Cheers,
Grant.

On Wed, 3 Nov 2010 13:36:50 +0100, you wrote:

>We have a standard intrusion detection interface now, drivers should
>implement it. I've left the old interface in place for the time being,
>with a deprecation warning, it will be removed later.
>
>Signed-off-by: Jean Delvare <khali@xxxxxxxxxxxx>
>---
>Grant, would you by any chance be still able to test the adm9240 driver?
>
> Documentation/hwmon/adm9240 |    2 +-
> drivers/hwmon/adm9240.c     |   32 +++++++++++++++++++++++++++++---
> 2 files changed, 30 insertions(+), 4 deletions(-)
>
>--- linux-2.6.37-rc1.orig/drivers/hwmon/adm9240.c	2010-11-02 17:39:20.000000000 +0100
>+++ linux-2.6.37-rc1/drivers/hwmon/adm9240.c	2010-11-03 11:35:54.000000000 +0100
>@@ -20,7 +20,7 @@
>  * Alarms	16-bit map of active alarms
>  * Analog Out	0..1250 mV output
>  *
>- * Chassis Intrusion: clear CI latch with 'echo 1 > chassis_clear'
>+ * Chassis Intrusion: clear CI latch with 'echo 0 > intrusion0_alarm'
>  *
>  * Test hardware: Intel SE440BX-2 desktop motherboard --Grant
>  *
>@@ -476,13 +476,16 @@ static ssize_t set_aout(struct device *d
> static DEVICE_ATTR(aout_output, S_IRUGO | S_IWUSR, show_aout, set_aout);
> 
> /* chassis_clear */
>-static ssize_t chassis_clear(struct device *dev,
>+static ssize_t chassis_clear_legacy(struct device *dev,
> 		struct device_attribute *attr,
> 		const char *buf, size_t count)
> {
> 	struct i2c_client *client = to_i2c_client(dev);
> 	unsigned long val = simple_strtol(buf, NULL, 10);
> 
>+	dev_warn(dev, "Attribute chassis_clear is deprecated, "
>+		 "use intrusion0_alarm instead\n");
>+
> 	if (val == 1) {
> 		i2c_smbus_write_byte_data(client,
> 				ADM9240_REG_CHASSIS_CLEAR, 0x80);
>@@ -490,7 +493,29 @@ static ssize_t chassis_clear(struct devi
> 	}
> 	return count;
> }
>-static DEVICE_ATTR(chassis_clear, S_IWUSR, NULL, chassis_clear);
>+static DEVICE_ATTR(chassis_clear, S_IWUSR, NULL, chassis_clear_legacy);
>+
>+static ssize_t chassis_clear(struct device *dev,
>+		struct device_attribute *attr,
>+		const char *buf, size_t count)
>+{
>+	struct i2c_client *client = to_i2c_client(dev);
>+	struct adm9240_data *data = i2c_get_clientdata(client);
>+	unsigned long val;
>+
>+	if (strict_strtoul(buf, 10, &val) || val != 0)
>+		return -EINVAL;
>+
>+	mutex_lock(&data->update_lock);
>+	i2c_smbus_write_byte_data(client, ADM9240_REG_CHASSIS_CLEAR, 0x80);
>+	data->valid = 0;		/* Force cache refresh */
>+	mutex_unlock(&data->update_lock);
>+	dev_dbg(&client->dev, "chassis intrusion latch cleared\n");
>+
>+	return count;
>+}
>+static SENSOR_DEVICE_ATTR(intrusion0_alarm, S_IRUGO | S_IWUSR, show_alarm,
>+		chassis_clear, 12);
> 
> static struct attribute *adm9240_attributes[] = {
> 	&sensor_dev_attr_in0_input.dev_attr.attr,
>@@ -532,6 +557,7 @@ static struct attribute *adm9240_attribu
> 	&dev_attr_alarms.attr,
> 	&dev_attr_aout_output.attr,
> 	&dev_attr_chassis_clear.attr,
>+	&sensor_dev_attr_intrusion0_alarm.dev_attr.attr,
> 	&dev_attr_cpu0_vid.attr,
> 	NULL
> };
>--- linux-2.6.37-rc1.orig/Documentation/hwmon/adm9240	2010-11-02 17:39:20.000000000 +0100
>+++ linux-2.6.37-rc1/Documentation/hwmon/adm9240	2010-11-02 20:08:17.000000000 +0100
>@@ -155,7 +155,7 @@ connected to a normally open switch.
> The ADM9240 provides an internal open drain on this line, and may output
> a 20 ms active low pulse to reset an external Chassis Intrusion latch.
> 
>-Clear the CI latch by writing value 1 to the sysfs chassis_clear file.
>+Clear the CI latch by writing value 0 to the sysfs intrusion0_alarm file.
> 
> Alarm flags reported as 16-bit word
> 

_______________________________________________
lm-sensors mailing list
lm-sensors@xxxxxxxxxxxxxx
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors


[Index of Archives]     [Linux Kernel]     [Linux Hardware Monitoring]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux