All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Hollomon <markhollomon@comcast.net>
To: kernel-janitors@vger.kernel.org
Subject: Re: [Kernel-janitors] [PATCH] saa7146_i2c: replace schedule_timeout()
Date: Sun, 25 Jul 2004 01:10:27 +0000	[thread overview]
Message-ID: <41030883.7050202@comcast.net> (raw)
In-Reply-To: <20040723220936.GQ2675@us.ibm.com>

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

Nish Aravamudan wrote:

> 
> Ok, thanks, I wasn't sure about this - I had posted a while ago about
> the weird conversion because I couldn't quite decipher what it was
> intended to achieve. Looking over the math, I think I agree with you.
> I will re-submit this patch soon. BTW, doesn't that seem kind of
> confusing? - The delays are in terms of 1, 5 and 10 tenths of a
> millisecond? If that's the case, then this patch is pretty much
> useless (it makes sense to use msleep() with long delays, things
> countable in msecs). I suppose I could re-patch so that the value of
> SAA7146_I2C_DELAY is in msecs and then use msecs_to_jiffies() in
> my_wait(). Thanks again!

Very confusing. Also, a millisecond is added to the delay. So, if you 
pass in 10, the expression will partially evaluate to 2 * HZ / 1000 
which is effectively 2 milliseconds.


But I suspect the +10 in the original code was simply to ensure that the 
delay was never zero. I don't remember if gcc does all the constant 
folding in float and truncate at the end or if it truncates as it goes. 
But if it truncates partial results then ms/10 will be zero if  ms < 10.

Alright, a simple compile test proves that the evaluation is done 
completely as an integer. [ eg ((5/10)*10) == 0 ].

So passing either 1 or 5 to my_wait will get you a millisecond delay. 
Passing 10 in will get you a 2 millisecond delay.

If you wanted to be cheap, you could make the guts of my_wait be simply
	msleep((ms+10)/10)
and let somebody else figure out what was really meant.






-- 
--------------------------
Mark Hollomon

[-- Attachment #2: Type: text/plain, Size: 167 bytes --]

_______________________________________________
Kernel-janitors mailing list
Kernel-janitors@lists.osdl.org
http://lists.osdl.org/mailman/listinfo/kernel-janitors

  parent reply	other threads:[~2004-07-25  1:10 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-07-23 22:09 [Kernel-janitors] [PATCH] saa7146_i2c: replace schedule_timeout() Nishanth Aravamudan
2004-07-24  1:12 ` Mark Hollomon
2004-07-24  1:41 ` Re: [Kernel-janitors] [PATCH] saa7146_i2c: replace Nish Aravamudan
2004-07-25  1:10 ` Mark Hollomon [this message]
2004-07-26 17:29 ` [Kernel-janitors] [PATCH] saa7146_i2c: replace schedule_timeout() Nishanth Aravamudan
2004-07-26 20:41 ` Nishanth Aravamudan
2004-07-26 22:30 ` Nishanth Aravamudan

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=41030883.7050202@comcast.net \
    --to=markhollomon@comcast.net \
    --cc=kernel-janitors@vger.kernel.org \
    /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.