All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.