5/34: block/amiflop: replace sleep_on() with
Subsystems (2)
PATCH 1/1 5/34: block/amiflop: replace sleep_on() with
Hi,
Please consider applying.
Description: Use wait_event() instead of the deprecated sleep_on(). Many of the replacements are straight-forward. Two, though are more difficult (in ms_delay() and fd_motor_on()). In the former, the second wait_event() does not make much sense; I have simply duplicated the code from the first in that function. In the latter, the conditional is the same as what will trying a wake_up(&motor_wait) in the code. Hence, it should function exactly the same as it does now.
Signed-off-by Nishanth Aravamudan <[email protected]>
drivers/block/amiflop.c +9 -14
@@ -64,6 +64,7 @@#include <linux/buffer_head.h> #include <linux/blkdev.h> #include <linux/elevator.h> +#include <linux/wait.h> #include <asm/setup.h> #include <asm/uaccess.h>
@@ -221,15 +222,14 @@ static void ms_delay(int ms)int ticks;if (ms >0 ) {local_irq_save (flags); -while (ms_busy ==0 ) -sleep_on (&ms_wait); +wait_event (ms_wait, (ms_busy !=0 )); ms_busy =0 ;local_irq_restore (flags); ticks =MS_TICKS *ms-1 ; ciaa.tblo=ticks%256 ; ciaa.tbhi=ticks/256 ; ciaa.crb=0x19 ;/*count eclock, force load, one-shoot, start */ -sleep_on (&ms_wait); +wait_event (ms_wait, (ms_busy !=0 )); } }
@@ -251,8 +251,7 @@ static void get_fdc(int drive)printk ("get_fdc: drive %d fdc_busy %d fdc_nested %d\n" ,drive,fdc_busy,fdc_nested);#endif local_irq_save (flags); -while (!try_fdc (drive)) -sleep_on (&fdc_wait); +wait_event (fdc_wait,try_fdc (drive)); fdc_busy = drive; fdc_nested++;local_irq_restore (flags);
@@ -348,7 +347,7 @@ static int fd_motor_on(int nr)mod_timer (&motor_on_timer, jiffies +HZ /2 ); on_attempts =10 ; -sleep_on (&motor_wait); +wait_event (motor_wait, (!(ciaa.pra &DSKRDY ) || on_attempts ==0 ));fd_deselect (nr); }
@@ -579,8 +578,7 @@ static void raw_read(int drive) { drive&=3 ;get_fdc (drive); -while (block_flag) -sleep_on (&wait_fd_block); +wait_event (wait_fd_block, !block_flag);fd_select (drive);/* setup adkcon bits correctly */ custom.adkcon =ADK_MSBSYNC ;
@@ -595,8 +593,7 @@ static void raw_read(int drive) block_flag =1 ; -while (block_flag) -sleep_on (&wait_fd_block); +wait_event (wait_fd_block, !block_flag); custom.dsklen =0 ;fd_deselect (drive);
@@ -613,8 +610,7 @@ static int raw_write(int drive)rel_fdc ();return 0 ; } -while (block_flag) -sleep_on (&wait_fd_block); +wait_event (wait_fd_block, !block_flag);fd_select (drive);/* clear adkcon bits */ custom.adkcon =ADK_PRECOMP1 |ADK_PRECOMP0 |ADK_WORDSYNC |ADK_MSBSYNC ;
@@ -1291,8 +1287,7 @@ static int non_int_flush_track (unsigned writepending =0 ;return 0 ; } -while (block_flag ==2 ) -sleep_on (&wait_fd_block); +wait_event (wait_fd_block, (block_flag !=2 )); }else {local_irq_restore (flags);
_______________________________________________
Kernel-janitors mailing list
[email protected]
http://lists.osdl.org/mailman/listinfo/kernel-janitors