net/cycx_drv: replace
Subsystems (2)
PATCH 7/38 net/cycx_drv: replace
Any comments would be appreciated.
Description: Use msleep_interruptible() instead of delay_cycx() to guarantee the task delays as expected. Remove the prototype and definition of delay_cycx().
Signed-off-by Nishanth Aravamudan <[email protected]>
drivers/net/wan/cycx_drv.c +8 -16
@@ -56,7 +56,7 @@#include <linux/sched.h> /* for jiffies, HZ, etc. */ #include <linux/cycx_drv.h> /* API definitions */ #include <linux/cycx_cfm.h> /* CYCX firmware module definitions */ -#include <linux/delay.h> /* udelay */ +#include <linux/delay.h> /* udelay, msleep */ #include <asm/io.h> /* read[wl], write[wl], ioremap, iounmap */ #define MOD_VERSION 0
@@ -74,7 +74,6 @@ static int reset_cyc2x(void *addr);static int detect_cyc2x (void *addr);/* Miscellaneous functions */ -static void delay_cycx (int sec);static int get_option_index (long *optlist,long optval);static u16 checksum (u8 *buf,u32 len);
@@ -260,7 +259,7 @@ static int memory_exists(void *addr)if (readw (addr +0x10 ) ==TEST_PATTERN )return 1 ; -delay_cycx (1 ); +msleep_interruptible (1000 ); }return 0 ;
@@ -317,7 +316,7 @@ static void cycx_reset_boot(void *addr,/* 80186 was in hold, go */ writeb (0 , addr +START_CPU ); -delay_cycx (1 ); +msleep_interruptible (1000 ); }/* Load data.bin file through boot (reset) interface. */
@@ -463,13 +462,13 @@ static int load_cyc2x(struct cycx_hw *hwcycx_reset_boot (hw->dpmbase, reset_image, img_hdr->reset_size);/* reset is waiting for boot */ writew (GEN_POWER_ON , pt_cycld); -delay_cycx (1 ); +msleep_interruptible (1000 );for (j =0 ; j <3 ; j++)if (!readw (pt_cycld)) goto reset_loaded;else -delay_cycx (1 ); +msleep_interruptible (1000 ); }printk (KERN_ERR "%s: reset not started.\n" , modname);
@@ -496,7 +495,7 @@ reset_loaded:/* Arthur Ganzert's tip: wait a while after the firmware loading... seg abr 26 17:17:12 EST 1999 - acme */ -delay_cycx (7 ); +msleep_interruptible (7000 );printk (KERN_INFO "%s: firmware loaded!\n" , modname);/* enable interrupts */
@@ -548,20 +547,13 @@ static int get_option_index(long *optlisstatic int reset_cyc2x (void *addr) {writeb (0 , addr +RST_ENABLE ); -delay_cycx (2 ); +msleep_interruptible (2000 );writeb (0 , addr +RST_DISABLE ); -delay_cycx (2 ); +msleep_interruptible (2000 );return memory_exists (addr); } -/* Delay */ -static void delay_cycx (int sec) -{ -set_current_state (TASK_INTERRUPTIBLE ); -schedule_timeout (sec *HZ ); -} -/* Calculate 16-bit CRC using CCITT polynomial. */ static u16 checksum (u8 *buf,u32 len) {
_______________________________________________
Kernel-janitors mailing list
[email protected]
http://lists.osdl.org/mailman/listinfo/kernel-janitors