* [lm-sensors] PATCH: hwmon-fscher-bugfix-read-control.patch
@ 2007-07-19 13:57 Hans de Goede
2007-07-22 16:07 ` Jean Delvare
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Hans de Goede @ 2007-07-19 13:57 UTC (permalink / raw)
To: lm-sensors
[-- Attachment #1: Type: text/plain, Size: 415 bytes --]
Mark,
Here is a small fscher bugfix for 2.6.23 merging, lifted from my other fscher
work, as requested by Jean. The current driver has a control sysfs attribute,
which shows the contents of the control register, but the underlying
global_control value in the data structure currently never gets filled with
the actual contents of this register.
Signed-off-by: Hans de Goede <j.w.r.degoede@hhs.nl>
Regards,
Hans
[-- Attachment #2: hwmon-fscher-bugfix-read-control.patch --]
[-- Type: text/x-patch, Size: 1034 bytes --]
Mark,
Here is a small fscher bugfix for 2.6.23 merging, lifted from my other fscher
work, as requested by Jean. The current driver has a control sysfs attribute,
which shows the contents of the control register, but the underlying
global_control value in the data structure currently never gets filled with
the actual contents of this register.
Signed-off-by: Hans de Goede <j.w.r.degoede@hhs.nl>
diff -up linux-2.6.22-rc4/drivers/hwmon/fscher.c.orig linux-2.6.22-rc4/drivers/hwmon/fscher.c
--- linux-2.6.23-rc0.git1/drivers/hwmon/fscher.c.orig 2007-07-09 13:18:28.000000000 +0200
+++ linux-2.6.23-rc0.git1/drivers/hwmon/fscher.c 2007-07-09 13:23:52.000000000 +0200
@@ -441,6 +441,8 @@ static struct fscher_data *fscher_update
data->watchdog[2] = fscher_read_value(client, FSCHER_REG_WDOG_CONTROL);
data->global_event = fscher_read_value(client, FSCHER_REG_EVENT_STATE);
+ data->global_control = fscher_read_value(client,
+ FSCHER_REG_CONTROL);
data->last_updated = jiffies;
data->valid = 1;
[-- Attachment #3: Type: text/plain, Size: 153 bytes --]
_______________________________________________
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-fscher-bugfix-read-control.patch
2007-07-19 13:57 [lm-sensors] PATCH: hwmon-fscher-bugfix-read-control.patch Hans de Goede
@ 2007-07-22 16:07 ` Jean Delvare
2007-07-22 18:14 ` Hans de Goede
2007-07-30 3:23 ` Mark M. Hoffman
2 siblings, 0 replies; 4+ messages in thread
From: Jean Delvare @ 2007-07-22 16:07 UTC (permalink / raw)
To: lm-sensors
Hi Hans,
On Thu, 19 Jul 2007 15:57:20 +0200, Hans de Goede wrote:
> Here is a small fscher bugfix for 2.6.23 merging, lifted from my other fscher
> work, as requested by Jean. The current driver has a control sysfs attribute,
> which shows the contents of the control register, but the underlying
> global_control value in the data structure currently never gets filled with
> the actual contents of this register.
>
> Signed-off-by: Hans de Goede <j.w.r.degoede@hhs.nl>
Acked-by: Jean Delvare <khali@linux-fr.org>
Note that the Linux 2.4 driver in the lm-sensors SVN repository has the
same bug, so it should be fixed there too.
While we're here...
static ssize_t set_control(struct i2c_client *client, struct fscher_data *data,
const char *buf, size_t count, int nr, int reg)
{
/* bits 1..7 reserved => mask with 0x01 */
unsigned long v = simple_strtoul(buf, NULL, 10) & 0x01;
mutex_lock(&data->update_lock);
data->global_control &= ~v;
fscher_write_value(client, reg, v);
mutex_unlock(&data->update_lock);
return count;
}
Is the code above correct? It behaves as if bit 0 was "write 1 to clear"
while the datasheet says this bit is regular read-write, and the Linux
2.4 driver treats it as such.
--
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-fscher-bugfix-read-control.patch
2007-07-19 13:57 [lm-sensors] PATCH: hwmon-fscher-bugfix-read-control.patch Hans de Goede
2007-07-22 16:07 ` Jean Delvare
@ 2007-07-22 18:14 ` Hans de Goede
2007-07-30 3:23 ` Mark M. Hoffman
2 siblings, 0 replies; 4+ messages in thread
From: Hans de Goede @ 2007-07-22 18:14 UTC (permalink / raw)
To: lm-sensors
Jean Delvare wrote:
> Hi Hans,
>
> On Thu, 19 Jul 2007 15:57:20 +0200, Hans de Goede wrote:
>> Here is a small fscher bugfix for 2.6.23 merging, lifted from my other fscher
>> work, as requested by Jean. The current driver has a control sysfs attribute,
>> which shows the contents of the control register, but the underlying
>> global_control value in the data structure currently never gets filled with
>> the actual contents of this register.
>>
>> Signed-off-by: Hans de Goede <j.w.r.degoede@hhs.nl>
>
> Acked-by: Jean Delvare <khali@linux-fr.org>
>
> Note that the Linux 2.4 driver in the lm-sensors SVN repository has the
> same bug, so it should be fixed there too.
>
> While we're here...
>
> static ssize_t set_control(struct i2c_client *client, struct fscher_data *data,
> const char *buf, size_t count, int nr, int reg)
> {
> /* bits 1..7 reserved => mask with 0x01 */
> unsigned long v = simple_strtoul(buf, NULL, 10) & 0x01;
>
> mutex_lock(&data->update_lock);
> data->global_control &= ~v;
> fscher_write_value(client, reg, v);
> mutex_unlock(&data->update_lock);
> return count;
> }
>
> Is the code above correct? It behaves as if bit 0 was "write 1 to clear"
> while the datasheet says this bit is regular read-write, and the Linux
> 2.4 driver treats it as such.
>
You are right, good catch. I'll send a patch fixing this right after this mail.
Regards,
Hans
_______________________________________________
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-fscher-bugfix-read-control.patch
2007-07-19 13:57 [lm-sensors] PATCH: hwmon-fscher-bugfix-read-control.patch Hans de Goede
2007-07-22 16:07 ` Jean Delvare
2007-07-22 18:14 ` Hans de Goede
@ 2007-07-30 3:23 ` Mark M. Hoffman
2 siblings, 0 replies; 4+ messages in thread
From: Mark M. Hoffman @ 2007-07-30 3:23 UTC (permalink / raw)
To: lm-sensors
Hi:
* Hans de Goede <j.w.r.degoede@hhs.nl> [2007-07-19 15:57:20 +0200]:
> Here is a small fscher bugfix for 2.6.23 merging, lifted from my other fscher
> work, as requested by Jean. The current driver has a control sysfs attribute,
> which shows the contents of the control register, but the underlying
> global_control value in the data structure currently never gets filled with
> the actual contents of this register.
>
> Signed-off-by: Hans de Goede <j.w.r.degoede@hhs.nl>
> diff -up linux-2.6.22-rc4/drivers/hwmon/fscher.c.orig linux-2.6.22-rc4/drivers/hwmon/fscher.c
> --- linux-2.6.23-rc0.git1/drivers/hwmon/fscher.c.orig 2007-07-09 13:18:28.000000000 +0200
> +++ linux-2.6.23-rc0.git1/drivers/hwmon/fscher.c 2007-07-09 13:23:52.000000000 +0200
> @@ -441,6 +441,8 @@ static struct fscher_data *fscher_update
> data->watchdog[2] = fscher_read_value(client, FSCHER_REG_WDOG_CONTROL);
>
> data->global_event = fscher_read_value(client, FSCHER_REG_EVENT_STATE);
> + data->global_control = fscher_read_value(client,
> + FSCHER_REG_CONTROL);
>
> data->last_updated = jiffies;
> data->valid = 1;
Applied to hwmon-2.6.git/testing, thanks.
--
Mark M. Hoffman
mhoffman@lightlink.com
_______________________________________________
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:[~2007-07-30 3:23 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-07-19 13:57 [lm-sensors] PATCH: hwmon-fscher-bugfix-read-control.patch Hans de Goede
2007-07-22 16:07 ` Jean Delvare
2007-07-22 18:14 ` Hans de Goede
2007-07-30 3:23 ` Mark M. Hoffman
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.