* [KJ] [PATCH] 7/34: block/ps2esdi: replace sleep_on() with
@ 2005-01-25 22:30 Nishanth Aravamudan
0 siblings, 0 replies; only message in thread
From: Nishanth Aravamudan @ 2005-01-25 22:30 UTC (permalink / raw)
To: kernel-janitors
[-- Attachment #1: Type: text/plain, Size: 1993 bytes --]
Hi,
Please consider applying.
Description: Use wait_event() instead of the deprecated sleep_on(). The latter
two replacements treat the current if-conditional as a while-conditional. I am
not sure if this will result in the desired behavior. The first change required
using wait-queue code directly with a local wait-queue, as the sleep is not
conditional currently.
Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
--- 2.6.11-rc2-kj-v/drivers/block/ps2esdi.c 2005-01-24 09:34:04.000000000 -0800
+++ 2.6.11-rc2-kj/drivers/block/ps2esdi.c 2005-01-25 13:39:48.000000000 -0800
@@ -43,6 +43,7 @@
#include <linux/init.h>
#include <linux/ioport.h>
#include <linux/module.h>
+#include <linux/delay.h>
#include <asm/system.h>
#include <asm/io.h>
@@ -292,6 +293,7 @@ static int __init ps2esdi_geninit(void)
we will set the INIT_FLAG to a non-zero value.
*/
+ DEFINE_WAIT(wait);
int slot = 0, i, reset_start, reset_end;
u_char status;
unsigned short adapterID;
@@ -373,11 +375,13 @@ static int __init ps2esdi_geninit(void)
reset_status = 0;
reset_start = jiffies;
while (!reset_status) {
+ prepare_to_wait(&ps2esdi_int, &wait, TASK_UNINTERRUPTIBLE);
init_timer(&esdi_timer);
esdi_timer.expires = jiffies + HZ;
esdi_timer.data = 0;
add_timer(&esdi_timer);
- sleep_on(&ps2esdi_int);
+ schedule();
+ finish_wait(&ps2esdi_int, &wait);
}
reset_end = jiffies;
LITE_OFF;
@@ -461,8 +465,7 @@ static void __init ps2esdi_get_device_cf
cmd_blk[1] = 0;
no_int_yet = TRUE;
ps2esdi_out_cmd_blk(cmd_blk);
- if (no_int_yet)
- sleep_on(&ps2esdi_int);
+ wait_event(ps2esdi_int, !no_int_yet);
if (ps2esdi_drives > 1) {
printk("%s: Drive 1\n", DEVICE_NAME); /*BA */
@@ -470,8 +473,7 @@ static void __init ps2esdi_get_device_cf
cmd_blk[1] = 0;
no_int_yet = TRUE;
ps2esdi_out_cmd_blk(cmd_blk);
- if (no_int_yet)
- sleep_on(&ps2esdi_int);
+ wait_event(ps2esdi_int, !no_int_yet);
} /* if second physical drive is present */
return;
}
[-- 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
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2005-01-25 22:30 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-01-25 22:30 [KJ] [PATCH] 7/34: block/ps2esdi: replace sleep_on() with Nishanth Aravamudan
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.