lkml.org 
[lkml]   [2004]   [Sep]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Subject[patch 23/25] nwflash: replace schedule_timeout() with msleep()
From
Date






I would appreciate any comments from the janitor@sternweltens list. This is one (of
many) cases where I made a decision about replacing

set_current_state(TASK_INTERRUPTIBLE);
schedule_timeout(some_time);

with

msleep(jiffies_to_msecs(some_time));

msleep() is not exactly the same as the previous code, but I only did
this replacement where I thought long delays were *desired*. If this is
not the case here, then just disregard this patch.

Note: I could not find any current Maintainer for this driver. If there
is one I should sent the patch too, please let me know.

Thanks,
Nish



Description: Uses msleep() instead of schedule_timeout() to guarantee
the task delays at least the desired time amount.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Maximilian Attems <janitor@sternwelten.at>



---

linux-2.6.9-rc1-bk7-max/drivers/char/nwflash.c | 19 +++++--------------
1 files changed, 5 insertions(+), 14 deletions(-)

diff -puN drivers/char/nwflash.c~msleep-drivers_char_nwflash drivers/char/nwflash.c
--- linux-2.6.9-rc1-bk7/drivers/char/nwflash.c~msleep-drivers_char_nwflash 2004-09-01 19:34:46.000000000 +0200
+++ linux-2.6.9-rc1-bk7-max/drivers/char/nwflash.c 2004-09-01 19:34:46.000000000 +0200
@@ -60,15 +60,6 @@ static DECLARE_MUTEX(nwflash_sem);

extern spinlock_t gpio_lock;

-/*
- * the delay routine - it is often required to let the flash "breeze"...
- */
-void flash_wait(int timeout)
-{
- current->state = TASK_INTERRUPTIBLE;
- schedule_timeout(timeout);
-}
-
static int get_flash_id(void)
{
volatile unsigned int c1, c2;
@@ -401,7 +392,7 @@ static int erase_block(int nBlock)
/*
* wait 10 ms
*/
- flash_wait(HZ / 100);
+ msleep(10);

/*
* wait while erasing in process (up to 10 sec)
@@ -409,7 +400,7 @@ static int erase_block(int nBlock)
timeout = jiffies + 10 * HZ;
c1 = 0;
while (!(c1 & 0x80) && time_before(jiffies, timeout)) {
- flash_wait(HZ / 100);
+ msleep(10);
/*
* read any address
*/
@@ -440,7 +431,7 @@ static int erase_block(int nBlock)
/*
* just to make sure - verify if erased OK...
*/
- flash_wait(HZ / 100);
+ msleep(10);

pWritePtr = (unsigned char *) ((unsigned int) (FLASH_BASE + (nBlock << 16)));

@@ -587,7 +578,7 @@ static int write_block(unsigned long p,
/*
* wait couple ms
*/
- flash_wait(HZ / 100);
+ msleep(10);
/*
* red LED == write
*/
@@ -612,7 +603,7 @@ static int write_block(unsigned long p,
leds_event(led_amber_off);
leds_event(led_green_on);

- flash_wait(HZ / 100);
+ msleep(10);

pWritePtr = (unsigned char *) ((unsigned int) (FLASH_BASE + p));

_
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:05    [W:0.025 / U:0.884 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site