* [lm-sensors] [PATCH] hwmon: (smsc47m1) Add individual alarm files
@ 2008-01-06 14:36 Jean Delvare
2008-02-10 6:51 ` [lm-sensors] [PATCH] hwmon: (smsc47m1) Add individual alarm Juerg Haefliger
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Jean Delvare @ 2008-01-06 14:36 UTC (permalink / raw)
To: lm-sensors
The new libsensors needs these individual alarm files.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
---
Anyone with an SMSC LPC47M1xx-compatible chip that could test this
patch? Hartmut maybe?
drivers/hwmon/smsc47m1.c | 25 ++++++++++++++++++++++---
1 file changed, 22 insertions(+), 3 deletions(-)
--- linux-2.6.24-rc6.orig/drivers/hwmon/smsc47m1.c 2007-12-26 14:39:06.000000000 +0100
+++ linux-2.6.24-rc6/drivers/hwmon/smsc47m1.c 2008-01-01 12:40:11.000000000 +0100
@@ -198,6 +198,14 @@ static ssize_t get_fan_div(struct device
return sprintf(buf, "%d\n", DIV_FROM_REG(data->fan_div[attr->index]));
}
+static ssize_t get_fan_alarm(struct device *dev, struct device_attribute
+ *devattr, char *buf)
+{
+ int bitnr = to_sensor_dev_attr(devattr)->index;
+ struct smsc47m1_data *data = smsc47m1_update_device(dev, 0);
+ return sprintf(buf, "%u\n", (data->alarms >> bitnr) & 1);
+}
+
static ssize_t get_pwm(struct device *dev, struct device_attribute
*devattr, char *buf)
{
@@ -347,6 +355,8 @@ static SENSOR_DEVICE_ATTR(fan##offset##_
get_fan_min, set_fan_min, offset - 1); \
static SENSOR_DEVICE_ATTR(fan##offset##_div, S_IRUGO | S_IWUSR, \
get_fan_div, set_fan_div, offset - 1); \
+static SENSOR_DEVICE_ATTR(fan##offset##_alarm, S_IRUGO, get_fan_alarm, \
+ NULL, offset - 1); \
static SENSOR_DEVICE_ATTR(pwm##offset, S_IRUGO | S_IWUSR, \
get_pwm, set_pwm, offset - 1); \
static SENSOR_DEVICE_ATTR(pwm##offset##_enable, S_IRUGO | S_IWUSR, \
@@ -374,12 +384,15 @@ static struct attribute *smsc47m1_attrib
&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,
&sensor_dev_attr_fan3_input.dev_attr.attr,
&sensor_dev_attr_fan3_min.dev_attr.attr,
&sensor_dev_attr_fan3_div.dev_attr.attr,
+ &sensor_dev_attr_fan3_alarm.dev_attr.attr,
&sensor_dev_attr_pwm1.dev_attr.attr,
&sensor_dev_attr_pwm1_enable.dev_attr.attr,
@@ -533,7 +546,9 @@ static int __devinit smsc47m1_probe(stru
|| (err = device_create_file(dev,
&sensor_dev_attr_fan1_min.dev_attr))
|| (err = device_create_file(dev,
- &sensor_dev_attr_fan1_div.dev_attr)))
+ &sensor_dev_attr_fan1_div.dev_attr))
+ || (err = device_create_file(dev,
+ &sensor_dev_attr_fan1_alarm.dev_attr)))
goto error_remove_files;
} else
dev_dbg(dev, "Fan 1 not enabled by hardware, skipping\n");
@@ -544,7 +559,9 @@ static int __devinit smsc47m1_probe(stru
|| (err = device_create_file(dev,
&sensor_dev_attr_fan2_min.dev_attr))
|| (err = device_create_file(dev,
- &sensor_dev_attr_fan2_div.dev_attr)))
+ &sensor_dev_attr_fan2_div.dev_attr))
+ || (err = device_create_file(dev,
+ &sensor_dev_attr_fan2_alarm.dev_attr)))
goto error_remove_files;
} else
dev_dbg(dev, "Fan 2 not enabled by hardware, skipping\n");
@@ -555,7 +572,9 @@ static int __devinit smsc47m1_probe(stru
|| (err = device_create_file(dev,
&sensor_dev_attr_fan3_min.dev_attr))
|| (err = device_create_file(dev,
- &sensor_dev_attr_fan3_div.dev_attr)))
+ &sensor_dev_attr_fan3_div.dev_attr))
+ || (err = device_create_file(dev,
+ &sensor_dev_attr_fan3_alarm.dev_attr)))
goto error_remove_files;
} else if (data->type = smsc47m2)
dev_dbg(dev, "Fan 3 not enabled by hardware, skipping\n");
--
Jean Delvare
_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [lm-sensors] [PATCH] hwmon: (smsc47m1) Add individual alarm
2008-01-06 14:36 [lm-sensors] [PATCH] hwmon: (smsc47m1) Add individual alarm files Jean Delvare
@ 2008-02-10 6:51 ` Juerg Haefliger
2008-02-10 18:11 ` Jean Delvare
2008-02-12 6:33 ` Juerg Haefliger
2 siblings, 0 replies; 4+ messages in thread
From: Juerg Haefliger @ 2008-02-10 6:51 UTC (permalink / raw)
To: lm-sensors
Looks good - assuming the bit positions are correct, which I can't
fully verify without a datasheet - and compiles cleanly.
Acked-by: Juerg Haefliger <juergh at gmail.com>
> The new libsensors needs these individual alarm files.
>
> Signed-off-by: Jean Delvare <khali at linux-fr.org>
> ---
> Anyone with an SMSC LPC47M1xx-compatible chip that could test this
> patch? Hartmut maybe?
>
> drivers/hwmon/smsc47m1.c | 25 ++++++++++++++++++++++---
> 1 file changed, 22 insertions(+), 3 deletions(-)
>
> --- linux-2.6.24-rc6.orig/drivers/hwmon/smsc47m1.c 2007-12-26
> 14:39:06.000000000 +0100
> +++ linux-2.6.24-rc6/drivers/hwmon/smsc47m1.c 2008-01-01
> 12:40:11.000000000 +0100
> @@ -198,6 +198,14 @@ static ssize_t get_fan_div(struct device
> return sprintf(buf, "%d\n", DIV_FROM_REG(data->fan_div[attr->index]));
> }
>
> +static ssize_t get_fan_alarm(struct device *dev, struct device_attribute
> + *devattr, char *buf)
> +{
> + int bitnr = to_sensor_dev_attr(devattr)->index;
> + struct smsc47m1_data *data = smsc47m1_update_device(dev, 0);
> + return sprintf(buf, "%u\n", (data->alarms >> bitnr) & 1);
> +}
> +
> static ssize_t get_pwm(struct device *dev, struct device_attribute
> *devattr, char *buf)
> {
> @@ -347,6 +355,8 @@ static SENSOR_DEVICE_ATTR(fan##offset##_
> get_fan_min, set_fan_min, offset - 1); \
> static SENSOR_DEVICE_ATTR(fan##offset##_div, S_IRUGO | S_IWUSR, \
> get_fan_div, set_fan_div, offset - 1); \
> +static SENSOR_DEVICE_ATTR(fan##offset##_alarm, S_IRUGO, get_fan_alarm, \
> + NULL, offset - 1); \
> static SENSOR_DEVICE_ATTR(pwm##offset, S_IRUGO | S_IWUSR, \
> get_pwm, set_pwm, offset - 1); \
> static SENSOR_DEVICE_ATTR(pwm##offset##_enable, S_IRUGO | S_IWUSR, \
> @@ -374,12 +384,15 @@ static struct attribute *smsc47m1_attrib
> &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,
> &sensor_dev_attr_fan3_input.dev_attr.attr,
> &sensor_dev_attr_fan3_min.dev_attr.attr,
> &sensor_dev_attr_fan3_div.dev_attr.attr,
> + &sensor_dev_attr_fan3_alarm.dev_attr.attr,
>
> &sensor_dev_attr_pwm1.dev_attr.attr,
> &sensor_dev_attr_pwm1_enable.dev_attr.attr,
> @@ -533,7 +546,9 @@ static int __devinit smsc47m1_probe(stru
> || (err = device_create_file(dev,
> &sensor_dev_attr_fan1_min.dev_attr))
> || (err = device_create_file(dev,
> - &sensor_dev_attr_fan1_div.dev_attr)))
> + &sensor_dev_attr_fan1_div.dev_attr))
> + || (err = device_create_file(dev,
> + &sensor_dev_attr_fan1_alarm.dev_attr)))
> goto error_remove_files;
> } else
> dev_dbg(dev, "Fan 1 not enabled by hardware, skipping\n");
> @@ -544,7 +559,9 @@ static int __devinit smsc47m1_probe(stru
> || (err = device_create_file(dev,
> &sensor_dev_attr_fan2_min.dev_attr))
> || (err = device_create_file(dev,
> - &sensor_dev_attr_fan2_div.dev_attr)))
> + &sensor_dev_attr_fan2_div.dev_attr))
> + || (err = device_create_file(dev,
> + &sensor_dev_attr_fan2_alarm.dev_attr)))
> goto error_remove_files;
> } else
> dev_dbg(dev, "Fan 2 not enabled by hardware, skipping\n");
> @@ -555,7 +572,9 @@ static int __devinit smsc47m1_probe(stru
> || (err = device_create_file(dev,
> &sensor_dev_attr_fan3_min.dev_attr))
> || (err = device_create_file(dev,
> - &sensor_dev_attr_fan3_div.dev_attr)))
> + &sensor_dev_attr_fan3_div.dev_attr))
> + || (err = device_create_file(dev,
> + &sensor_dev_attr_fan3_alarm.dev_attr)))
> goto error_remove_files;
> } else if (data->type = smsc47m2)
> dev_dbg(dev, "Fan 3 not enabled by hardware, skipping\n");
>
>
> --
> Jean Delvare
>
_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [lm-sensors] [PATCH] hwmon: (smsc47m1) Add individual alarm
2008-01-06 14:36 [lm-sensors] [PATCH] hwmon: (smsc47m1) Add individual alarm files Jean Delvare
2008-02-10 6:51 ` [lm-sensors] [PATCH] hwmon: (smsc47m1) Add individual alarm Juerg Haefliger
@ 2008-02-10 18:11 ` Jean Delvare
2008-02-12 6:33 ` Juerg Haefliger
2 siblings, 0 replies; 4+ messages in thread
From: Jean Delvare @ 2008-02-10 18:11 UTC (permalink / raw)
To: lm-sensors
Hi Juerg,
On Sat, 9 Feb 2008 22:51:01 -0800, Juerg Haefliger wrote:
> Looks good - assuming the bit positions are correct, which I can't
> fully verify without a datasheet - and compiles cleanly.
Thanks for all the review, very much appreciated.
You can download the smsc47m1 datasheets from:
http://www.smsc.com/main/catalog/desktop.html
LPC47M10x, LPC47M112, LPC47B272, LPC47M142 and LPC47M192 are all
supported by this driver.
--
Jean Delvare
_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [lm-sensors] [PATCH] hwmon: (smsc47m1) Add individual alarm
2008-01-06 14:36 [lm-sensors] [PATCH] hwmon: (smsc47m1) Add individual alarm files Jean Delvare
2008-02-10 6:51 ` [lm-sensors] [PATCH] hwmon: (smsc47m1) Add individual alarm Juerg Haefliger
2008-02-10 18:11 ` Jean Delvare
@ 2008-02-12 6:33 ` Juerg Haefliger
2 siblings, 0 replies; 4+ messages in thread
From: Juerg Haefliger @ 2008-02-12 6:33 UTC (permalink / raw)
To: lm-sensors
Hi Jean
> Hi Juerg,
>
> On Sat, 9 Feb 2008 22:51:01 -0800, Juerg Haefliger wrote:
>> Looks good - assuming the bit positions are correct, which I can't
>> fully verify without a datasheet - and compiles cleanly.
>
> Thanks for all the review, very much appreciated.
>
> You can download the smsc47m1 datasheets from:
> http://www.smsc.com/main/catalog/desktop.html
>
> LPC47M10x, LPC47M112, LPC47B272, LPC47M142 and LPC47M192 are all
> supported by this driver.
Ah yes, I didn't realize this datasheet is public.
Thanks
...juerg
_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2008-02-12 6:33 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-01-06 14:36 [lm-sensors] [PATCH] hwmon: (smsc47m1) Add individual alarm files Jean Delvare
2008-02-10 6:51 ` [lm-sensors] [PATCH] hwmon: (smsc47m1) Add individual alarm Juerg Haefliger
2008-02-10 18:11 ` Jean Delvare
2008-02-12 6:33 ` Juerg Haefliger
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.