Use wait_event() instead of the deprecated sleep_on(). In all replacements, wait_event() expects the condition to *stop* on, so the existing conditional is negated and passed as the parameter. I am not sure if these changes are appropriate, as the condition to pass to wait_event() to guarantee the same behavior; I think this is the best choice, though. Signed-off-by: Nishanth Aravamudan Signed-off-by: Domen Puncer --- kj-domen/drivers/block/ps2esdi.c | 7 +++---- 1 files changed, 3 insertions(+), 4 deletions(-) diff -puN drivers/block/ps2esdi.c~wait_event-drivers_block_ps2esdi drivers/block/ps2esdi.c --- kj/drivers/block/ps2esdi.c~wait_event-drivers_block_ps2esdi 2005-04-05 12:56:19.000000000 +0200 +++ kj-domen/drivers/block/ps2esdi.c 2005-04-05 12:56:19.000000000 +0200 @@ -43,6 +43,7 @@ #include #include #include +#include #include #include @@ -461,8 +462,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 +470,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; } _