Skip to contentSkip to conversation

7/34: block/ps2esdi: replace sleep_on() with

PATCH New Nishanth Aravamudan 1 participant 1 message Jan 25, 2005

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 7/34: block/ps2esdi: replace sleep_on() with

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.

drivers/block/ps2esdi.c +7 -5
@@ -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;
 }

_______________________________________________
Kernel-janitors mailing list
[email protected]
http://lists.osdl.org/mailman/listinfo/kernel-janitors