All of lore.kernel.org
 help / color / mirror / Atom feed
From: adilger@clusterfs.com (Andreas Dilger)
To: Justin Thiessen <jthiessen@penguincomputing.com>
Cc: LM Sensors <sensors@stimpy.netroedge.com>,
	LKML <linux-kernel@vger.kernel.org>, Greg KH <greg@kroah.com>
Subject: Ticket #1851 - PATCH (take 2) for adm1026.c, kernel 2.6.10-bk6
Date: Thu, 19 May 2005 06:25:28 +0000	[thread overview]
Message-ID: <20050103205231.GK9923@schnapps.adilger.int> (raw)
In-Reply-To: <20050103213707.GA12765@penguincomputing.com>

On Jan 03, 2005  13:37 -0800, Justin Thiessen wrote:
> The amount of duplicated code is only a few lines, and I think the result is
> clearer if it is not extracted into a separate function.  See the following
> patch.

> +	value = adm1026_read_value(client, ADM1026_REG_FAN_DIV_0_3)
> +		| (adm1026_read_value(client, ADM1026_REG_FAN_DIV_4_7)
> +		<< 8);

The formatting of this makes it hard to follow the logic.  The "<< 8"
operation isn't aligned with the nesting parenthesis and at first I
thought there was an ambiguous order of operation "|" vs "<<".

How about the following:

--- linux-2.6.10/drivers/i2c/chips/adm1026.c.orig	2005-01-02 15:21:58.000000000 -0800
+++ linux-2.6.10/drivers/i2c/chips/adm1026.c	2005-01-02 18:27:40.695689832 -0800
@@ -452,6 +452,14 @@ void adm1026_init_client(struct i2c_clie
 		client->id, value);
 	data->config1 = value;
 	adm1026_write_value(client, ADM1026_REG_CONFIG1, value);
+
+	/* initialize fan_div[] to hardware defaults */
+	value = adm1026_read_value(client, ADM1026_REG_FAN_DIV_0_3) |
+		(adm1026_read_value(client, ADM1026_REG_FAN_DIV_4_7) << 8);
+	for (i = 0;i <= 7;++i) {
+		data->fan_div[i] = DIV_FROM_REG(value & 0x03);
+		value >>= 2;
+	}
 }
 
 void adm1026_print_gpio(struct i2c_client *client)



Also, on a completely "I don't know what the hell I'm talking about" point,
it seems odd that for values named "0_3" and "4_7" you would upshift the
"4_7" value 8 bits instead of 4, but it could be just a bad choice of
variable names.

Cheers, Andreas
--
Andreas Dilger
http://sourceforge.net/projects/ext2resize/
http://members.shaw.ca/adilger/             http://members.shaw.ca/golinux/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.lm-sensors.org/pipermail/lm-sensors/attachments/20050103/1cf38540/attachment.bin

WARNING: multiple messages have this Message-ID (diff)
From: Andreas Dilger <adilger@clusterfs.com>
To: Justin Thiessen <jthiessen@penguincomputing.com>
Cc: LM Sensors <sensors@stimpy.netroedge.com>,
	LKML <linux-kernel@vger.kernel.org>, Greg KH <greg@kroah.com>
Subject: Re: Ticket #1851 - PATCH (take 2) for adm1026.c, kernel 2.6.10-bk6
Date: Mon, 3 Jan 2005 13:52:31 -0700	[thread overview]
Message-ID: <20050103205231.GK9923@schnapps.adilger.int> (raw)
In-Reply-To: <20050103213707.GA12765@penguincomputing.com>

[-- Attachment #1: Type: text/plain, Size: 1694 bytes --]

On Jan 03, 2005  13:37 -0800, Justin Thiessen wrote:
> The amount of duplicated code is only a few lines, and I think the result is
> clearer if it is not extracted into a separate function.  See the following
> patch.

> +	value = adm1026_read_value(client, ADM1026_REG_FAN_DIV_0_3)
> +		| (adm1026_read_value(client, ADM1026_REG_FAN_DIV_4_7)
> +		<< 8);

The formatting of this makes it hard to follow the logic.  The "<< 8"
operation isn't aligned with the nesting parenthesis and at first I
thought there was an ambiguous order of operation "|" vs "<<".

How about the following:

--- linux-2.6.10/drivers/i2c/chips/adm1026.c.orig	2005-01-02 15:21:58.000000000 -0800
+++ linux-2.6.10/drivers/i2c/chips/adm1026.c	2005-01-02 18:27:40.695689832 -0800
@@ -452,6 +452,14 @@ void adm1026_init_client(struct i2c_clie
 		client->id, value);
 	data->config1 = value;
 	adm1026_write_value(client, ADM1026_REG_CONFIG1, value);
+
+	/* initialize fan_div[] to hardware defaults */
+	value = adm1026_read_value(client, ADM1026_REG_FAN_DIV_0_3) |
+		(adm1026_read_value(client, ADM1026_REG_FAN_DIV_4_7) << 8);
+	for (i = 0;i <= 7;++i) {
+		data->fan_div[i] = DIV_FROM_REG(value & 0x03);
+		value >>= 2;
+	}
 }
 
 void adm1026_print_gpio(struct i2c_client *client)



Also, on a completely "I don't know what the hell I'm talking about" point,
it seems odd that for values named "0_3" and "4_7" you would upshift the
"4_7" value 8 bits instead of 4, but it could be just a bad choice of
variable names.

Cheers, Andreas
--
Andreas Dilger
http://sourceforge.net/projects/ext2resize/
http://members.shaw.ca/adilger/             http://members.shaw.ca/golinux/


[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

  reply	other threads:[~2005-05-19  6:25 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-05-19  6:25 Ticket #1851 Mark Studebaker
2005-05-19  6:25 ` Jean Delvare
2005-01-03 19:43   ` Ticket #1851 - PATCH for adm1026.c, kernel 2.6.10-bk6 Justin Thiessen
2005-05-19  6:25     ` Justin Thiessen
2005-01-03 19:10     ` Jean Delvare
2005-05-19  6:25       ` Jean Delvare
2005-01-03 21:37       ` Ticket #1851 - PATCH (take 2) " Justin Thiessen
2005-05-19  6:25         ` Justin Thiessen
2005-01-03 20:52         ` Andreas Dilger [this message]
2005-05-19  6:25           ` Andreas Dilger
2005-01-03 21:10           ` Jean Delvare
2005-05-19  6:25             ` Jean Delvare
2005-01-03 22:12           ` Justin Thiessen
2005-05-19  6:25             ` Justin Thiessen
2005-01-12 18:50             ` PATCH (take 3) for adm1026.c, kernel 2.6.10-bk14 Justin Thiessen
2005-05-19  6:25               ` Justin Thiessen
2005-01-12 18:55               ` Greg KH
2005-05-19  6:25                 ` Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20050103205231.GK9923@schnapps.adilger.int \
    --to=adilger@clusterfs.com \
    --cc=greg@kroah.com \
    --cc=jthiessen@penguincomputing.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sensors@stimpy.netroedge.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.