From: <janitor@sternwelten.at>

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Maximilian Attems <janitor@sternwelten.at>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/drivers/media/video/bttv-i2c.c                 |    4 +---
 25-akpm/drivers/media/video/bw-qcam.c                  |   12 ++++--------
 25-akpm/drivers/media/video/c-qcam.c                   |    6 ++----
 25-akpm/drivers/media/video/cpia.c                     |   17 ++++++-----------
 25-akpm/drivers/media/video/ovcamchip/ovcamchip_core.c |    7 +++----
 25-akpm/drivers/media/video/planb.c                    |    3 +--
 25-akpm/drivers/media/video/saa5249.c                  |    3 +--
 25-akpm/drivers/media/video/saa7134/saa6752hs.c        |    6 ++----
 25-akpm/drivers/media/video/saa7134/saa7134-core.c     |    4 ++--
 25-akpm/drivers/media/video/saa7134/saa7134-ts.c       |    3 +--
 25-akpm/drivers/media/video/saa7134/saa7134-tvaudio.c  |    7 ++++---
 25-akpm/drivers/media/video/tda9887.c                  |    4 ++--
 25-akpm/drivers/media/video/zoran_driver.c             |    6 ++----
 25-akpm/drivers/media/video/zr36120.c                  |    6 ++----
 14 files changed, 33 insertions(+), 55 deletions(-)

diff -puN drivers/media/video/ovcamchip/ovcamchip_core.c~drivers-media-replace-schedule_timeout-with-msleep drivers/media/video/ovcamchip/ovcamchip_core.c
--- 25/drivers/media/video/ovcamchip/ovcamchip_core.c~drivers-media-replace-schedule_timeout-with-msleep	Thu Sep 23 15:59:11 2004
+++ 25-akpm/drivers/media/video/ovcamchip/ovcamchip_core.c	Thu Sep 23 15:59:11 2004
@@ -15,6 +15,7 @@
 #include <linux/module.h>
 #include <linux/moduleparam.h>
 #include <linux/slab.h>
+#include <linux/delay.h>
 #include "ovcamchip_priv.h"
 
 #define DRIVER_VERSION "v2.27 for Linux 2.6"
@@ -128,8 +129,7 @@ static int init_camchip(struct i2c_clien
 	ov_write(c, 0x12, 0x80);
 
 	/* Wait for it to initialize */
-	set_current_state(TASK_UNINTERRUPTIBLE);
-	schedule_timeout(1 + 150 * HZ / 1000);
+	msleep(150);
 
 	for (i = 0, success = 0; i < I2C_DETECT_RETRIES && !success; i++) {
 		if (ov_read(c, GENERIC_REG_ID_HIGH, &high) >= 0) {
@@ -145,8 +145,7 @@ static int init_camchip(struct i2c_clien
 		ov_write(c, 0x12, 0x80);
 
 		/* Wait for it to initialize */
-		set_current_state(TASK_UNINTERRUPTIBLE);
-		schedule_timeout(1 + 150 * HZ / 1000);
+		msleep(150);
 
 		/* Dummy read to sync I2C */
 		ov_read(c, 0x00, &low);
diff -puN drivers/media/video/zr36120.c~drivers-media-replace-schedule_timeout-with-msleep drivers/media/video/zr36120.c
--- 25/drivers/media/video/zr36120.c~drivers-media-replace-schedule_timeout-with-msleep	Thu Sep 23 15:59:11 2004
+++ 25-akpm/drivers/media/video/zr36120.c	Thu Sep 23 15:59:11 2004
@@ -819,8 +819,7 @@ void zoran_close(struct video_device* de
          *      be sure its safe to free the buffer. We wait 5-6 fields
          *      which is more than sufficient to be sure.
          */
-        current->state = TASK_UNINTERRUPTIBLE;
-        schedule_timeout(HZ/10);        /* Wait 1/10th of a second */
+        msleep(100);			/* Wait 1/10th of a second */
 
 	/* free the allocated framebuffer */
 	if (ztv->fbuffer)
@@ -1568,8 +1567,7 @@ void vbi_close(struct video_device *dev)
          *      be sure its safe to free the buffer. We wait 5-6 fields
          *      which is more than sufficient to be sure.
          */
-        current->state = TASK_UNINTERRUPTIBLE;
-        schedule_timeout(HZ/10);        /* Wait 1/10th of a second */
+        msleep(100);			/* Wait 1/10th of a second */
 
 	for (item=ztv->readinfo; item!=ztv->readinfo+ZORAN_VBI_BUFFERS; item++)
 	{
diff -puN drivers/media/video/bttv-i2c.c~drivers-media-replace-schedule_timeout-with-msleep drivers/media/video/bttv-i2c.c
--- 25/drivers/media/video/bttv-i2c.c~drivers-media-replace-schedule_timeout-with-msleep	Thu Sep 23 15:59:11 2004
+++ 25-akpm/drivers/media/video/bttv-i2c.c	Thu Sep 23 15:59:11 2004
@@ -139,10 +139,8 @@ bttv_i2c_wait_done(struct bttv *btv)
 	int rc = 0;
 	
 	add_wait_queue(&btv->i2c_queue, &wait);
-	set_current_state(TASK_INTERRUPTIBLE);
 	if (0 == btv->i2c_done)
-		schedule_timeout(HZ/50+1);
-	set_current_state(TASK_RUNNING);
+		msleep_interruptible(20);
 	remove_wait_queue(&btv->i2c_queue, &wait);
 
 	if (0 == btv->i2c_done)
diff -puN drivers/media/video/bw-qcam.c~drivers-media-replace-schedule_timeout-with-msleep drivers/media/video/bw-qcam.c
--- 25/drivers/media/video/bw-qcam.c~drivers-media-replace-schedule_timeout-with-msleep	Thu Sep 23 15:59:11 2004
+++ 25-akpm/drivers/media/video/bw-qcam.c	Thu Sep 23 15:59:11 2004
@@ -249,8 +249,7 @@ static int qc_waithand(struct qcam_devic
 			   
 			if(runs++>maxpoll)
 			{
-				current->state=TASK_INTERRUPTIBLE;
-				schedule_timeout(HZ/200);
+				msleep_interruptible(5);
 			}
 			if(runs>(maxpoll+1000)) /* 5 seconds */
 				return -1;
@@ -269,8 +268,7 @@ static int qc_waithand(struct qcam_devic
 			   
 			if(runs++>maxpoll)
 			{
-				current->state=TASK_INTERRUPTIBLE;
-				schedule_timeout(HZ/200);
+				msleep_interruptible(5);
 			}
 			if(runs++>(maxpoll+1000)) /* 5 seconds */
 				return -1;
@@ -302,8 +300,7 @@ static unsigned int qc_waithand2(struct 
 		   
 		if(runs++>maxpoll)
 		{
-			current->state=TASK_INTERRUPTIBLE;
-			schedule_timeout(HZ/200);
+			msleep_interruptible(5);
 		}
 		if(runs++>(maxpoll+1000)) /* 5 seconds */
 			return 0;
@@ -669,8 +666,7 @@ long qc_capture(struct qcam_device * q, 
 		   time will be 240 / 200 = 1.2 seconds. The compile-time
 		   default is to yield every 4 lines. */
 		if (i >= yield) {
-			current->state=TASK_INTERRUPTIBLE;
-			schedule_timeout(HZ/200);
+			msleep_interruptible(5);
 			yield = i + yieldlines;
 		}
 	}
diff -puN drivers/media/video/c-qcam.c~drivers-media-replace-schedule_timeout-with-msleep drivers/media/video/c-qcam.c
--- 25/drivers/media/video/c-qcam.c~drivers-media-replace-schedule_timeout-with-msleep	Thu Sep 23 15:59:11 2004
+++ 25-akpm/drivers/media/video/c-qcam.c	Thu Sep 23 15:59:11 2004
@@ -103,8 +103,7 @@ static unsigned int qcam_await_ready1(st
 	{
 		if (qcam_ready1(qcam) == value)
 			return 0;
-		current->state=TASK_INTERRUPTIBLE;
-		schedule_timeout(HZ/10);
+		msleep_interruptible(100);
 	}
 
 	/* Probably somebody pulled the plug out.  Not much we can do. */
@@ -129,8 +128,7 @@ static unsigned int qcam_await_ready2(st
 	{
 		if (qcam_ready2(qcam) == value)
 			return 0;
-		current->state=TASK_INTERRUPTIBLE;
-		schedule_timeout(HZ/10);
+		msleep_interruptible(100);
 	}
 
 	/* Probably somebody pulled the plug out.  Not much we can do. */
diff -puN drivers/media/video/cpia.c~drivers-media-replace-schedule_timeout-with-msleep drivers/media/video/cpia.c
--- 25/drivers/media/video/cpia.c~drivers-media-replace-schedule_timeout-with-msleep	Thu Sep 23 15:59:11 2004
+++ 25-akpm/drivers/media/video/cpia.c	Thu Sep 23 15:59:11 2004
@@ -37,6 +37,7 @@
 #include <linux/proc_fs.h>
 #include <linux/ctype.h>
 #include <linux/pagemap.h>
+#include <linux/delay.h>
 #include <asm/io.h>
 #include <asm/semaphore.h>
 
@@ -2886,9 +2887,7 @@ static int fetch_frame(void *data)
 				cond_resched();
 
 				/* sleep for 10 ms, hopefully ;) */
-				current->state = TASK_INTERRUPTIBLE;
-
-				schedule_timeout(10*HZ/1000);
+				msleep_interruptible(10);
 				if (signal_pending(current))
 					return -EINTR;
 
@@ -2951,8 +2950,7 @@ static int fetch_frame(void *data)
 		        		   CPIA_GRAB_SINGLE, 0, 0, 0);
 				/* FIXME: Trial & error - need up to 70ms for
 				   the grab mode change to complete ? */
-				current->state = TASK_INTERRUPTIBLE;
-				schedule_timeout(70*HZ / 1000);
+				msleep_interruptible(70);
 				if (signal_pending(current))
 					return -EINTR;
 			}
@@ -3003,8 +3001,7 @@ static int goto_high_power(struct cam_da
 {
 	if (do_command(cam, CPIA_COMMAND_GotoHiPower, 0, 0, 0, 0))
 		return -EIO;
-	current->state = TASK_INTERRUPTIBLE;
-	schedule_timeout(40*HZ/1000);	/* windows driver does it too */
+	msleep_interruptible(40);	/* windows driver does it too */
 	if(signal_pending(current))
 		return -EINTR;
 	if (do_command(cam, CPIA_COMMAND_GetCameraStatus, 0, 0, 0, 0))
@@ -3074,10 +3071,8 @@ static int set_camera_state(struct cam_d
 	
 	/* Wait 6 frames for the sensor to get all settings and
 	   AEC/ACB to settle */
-	current->state = TASK_INTERRUPTIBLE;
-	schedule_timeout((6*(cam->params.sensorFps.baserate ? 33 : 40) *
-	                    (1 << cam->params.sensorFps.divisor) + 10) *
-			 HZ / 1000);
+	msleep_interruptible(6*(cam->params.sensorFps.baserate ? 33 : 40) *
+			       (1 << cam->params.sensorFps.divisor) + 10);
 
 	if(signal_pending(current))
 		return -EINTR;
diff -puN drivers/media/video/planb.c~drivers-media-replace-schedule_timeout-with-msleep drivers/media/video/planb.c
--- 25/drivers/media/video/planb.c~drivers-media-replace-schedule_timeout-with-msleep	Thu Sep 23 15:59:11 2004
+++ 25-akpm/drivers/media/video/planb.c	Thu Sep 23 15:59:11 2004
@@ -178,8 +178,7 @@ static unsigned char saa_status(int byte
 	saa_write_reg (SAA7196_STDC, saa_regs[pb->win.norm][SAA7196_STDC]);
 
 	/* Let's wait 30msec for this one */
-	current->state = TASK_INTERRUPTIBLE;
-	schedule_timeout(30 * HZ / 1000);
+	msleep_interruptible(30);
 
 	return (unsigned char)in_8 (&planb_regs->saa_status);
 }
diff -puN drivers/media/video/saa5249.c~drivers-media-replace-schedule_timeout-with-msleep drivers/media/video/saa5249.c
--- 25/drivers/media/video/saa5249.c~drivers-media-replace-schedule_timeout-with-msleep	Thu Sep 23 15:59:11 2004
+++ 25-akpm/drivers/media/video/saa5249.c	Thu Sep 23 15:59:11 2004
@@ -273,8 +273,7 @@ static void jdelay(unsigned long delay) 
 	sigfillset(&current->blocked);
 	recalc_sigpending();
 	spin_unlock_irq(&current->sighand->siglock);
-	current->state = TASK_INTERRUPTIBLE;
-	schedule_timeout(delay);
+	msleep_interruptible(jiffies_to_msecs(delay));
 
 	spin_lock_irq(&current->sighand->siglock);
 	current->blocked = oldblocked;
diff -puN drivers/media/video/saa7134/saa6752hs.c~drivers-media-replace-schedule_timeout-with-msleep drivers/media/video/saa7134/saa6752hs.c
--- 25/drivers/media/video/saa7134/saa6752hs.c~drivers-media-replace-schedule_timeout-with-msleep	Thu Sep 23 15:59:11 2004
+++ 25-akpm/drivers/media/video/saa7134/saa6752hs.c	Thu Sep 23 15:59:11 2004
@@ -168,13 +168,11 @@ static int saa6752hs_chip_command(struct
 		}
 	
 		// wait a bit
-		set_current_state(TASK_INTERRUPTIBLE);
-		schedule_timeout(HZ/100);
+		msleep_interruptible(10);
 	}
 
 	// delay a bit to let encoder settle
-	set_current_state(TASK_INTERRUPTIBLE);
-	schedule_timeout(HZ/20);
+	msleep_interruptible(50);
 	
 	// done
   	return status;
diff -puN drivers/media/video/saa7134/saa7134-core.c~drivers-media-replace-schedule_timeout-with-msleep drivers/media/video/saa7134/saa7134-core.c
--- 25/drivers/media/video/saa7134/saa7134-core.c~drivers-media-replace-schedule_timeout-with-msleep	Thu Sep 23 15:59:11 2004
+++ 25-akpm/drivers/media/video/saa7134/saa7134-core.c	Thu Sep 23 15:59:11 2004
@@ -27,6 +27,7 @@
 #include <linux/kmod.h>
 #include <linux/sound.h>
 #include <linux/interrupt.h>
+#include <linux/delay.h>
 
 #include "saa7134-reg.h"
 #include "saa7134.h"
@@ -910,8 +911,7 @@ static int __devinit saa7134_initdev(str
 	}
 
 	/* wait a bit, register i2c bus */
-	set_current_state(TASK_INTERRUPTIBLE);
-	schedule_timeout(HZ/10);
+	msleep_interruptible(100);
 	saa7134_i2c_register(dev);
 
 	/* initialize hardware #2 */
diff -puN drivers/media/video/saa7134/saa7134-ts.c~drivers-media-replace-schedule_timeout-with-msleep drivers/media/video/saa7134/saa7134-ts.c
--- 25/drivers/media/video/saa7134/saa7134-ts.c~drivers-media-replace-schedule_timeout-with-msleep	Thu Sep 23 15:59:11 2004
+++ 25-akpm/drivers/media/video/saa7134/saa7134-ts.c	Thu Sep 23 15:59:11 2004
@@ -176,8 +176,7 @@ static void ts_reset_encoder(struct saa7
 	saa_writeb(SAA7134_SPECIAL_MODE, 0x00);
 	mdelay(10);
    	saa_writeb(SAA7134_SPECIAL_MODE, 0x01);
-   	set_current_state(TASK_INTERRUPTIBLE);
-	schedule_timeout(HZ/10);
+   	msleep_interruptible(100);
 }
 
 static int ts_init_encoder(struct saa7134_dev* dev, void* arg) 
diff -puN drivers/media/video/saa7134/saa7134-tvaudio.c~drivers-media-replace-schedule_timeout-with-msleep drivers/media/video/saa7134/saa7134-tvaudio.c
--- 25/drivers/media/video/saa7134/saa7134-tvaudio.c~drivers-media-replace-schedule_timeout-with-msleep	Thu Sep 23 15:59:11 2004
+++ 25-akpm/drivers/media/video/saa7134/saa7134-tvaudio.c	Thu Sep 23 15:59:11 2004
@@ -324,11 +324,12 @@ static int tvaudio_sleep(struct saa7134_
 	
 	add_wait_queue(&dev->thread.wq, &wait);
 	if (dev->thread.scan1 == dev->thread.scan2 && !dev->thread.shutdown) {
-		set_current_state(TASK_INTERRUPTIBLE);
-		if (timeout < 0)
+		if (timeout < 0) {
+			set_current_state(TASK_INTERRUPTIBLE);
 			schedule();
+		}
 		else
-			schedule_timeout(timeout);
+			msleep_interruptible(jiffies_to_msecs(timeout));
 	}
 	remove_wait_queue(&dev->thread.wq, &wait);
 	return dev->thread.scan1 != dev->thread.scan2;
diff -puN drivers/media/video/tda9887.c~drivers-media-replace-schedule_timeout-with-msleep drivers/media/video/tda9887.c
--- 25/drivers/media/video/tda9887.c~drivers-media-replace-schedule_timeout-with-msleep	Thu Sep 23 15:59:11 2004
+++ 25-akpm/drivers/media/video/tda9887.c	Thu Sep 23 15:59:11 2004
@@ -6,6 +6,7 @@
 #include <linux/init.h>
 #include <linux/errno.h>
 #include <linux/slab.h>
+#include <linux/delay.h>
 
 #include <media/audiochip.h>
 #include <media/tuner.h>
@@ -543,8 +544,7 @@ static int tda9887_configure(struct tda9
                 printk(PREFIX "i2c i/o error: rc == %d (should be 4)\n",rc);
 
 	if (debug > 2) {
-		set_current_state(TASK_INTERRUPTIBLE);
-		schedule_timeout(HZ);
+		msleep_interruptible(1000);
 		tda9887_status(t);
 	}
 	return 0;
diff -puN drivers/media/video/zoran_driver.c~drivers-media-replace-schedule_timeout-with-msleep drivers/media/video/zoran_driver.c
--- 25/drivers/media/video/zoran_driver.c~drivers-media-replace-schedule_timeout-with-msleep	Thu Sep 23 15:59:11 2004
+++ 25-akpm/drivers/media/video/zoran_driver.c	Thu Sep 23 15:59:11 2004
@@ -1917,8 +1917,7 @@ zoran_set_norm (struct zoran *zr,
 		decoder_command(zr, DECODER_SET_NORM, &norm);
 
 		/* let changes come into effect */
-		current->state = TASK_UNINTERRUPTIBLE;
-		schedule_timeout(2 * HZ);
+		ssleep(2);
 
 		decoder_command(zr, DECODER_GET_STATUS, &status);
 		if (!(status & DECODER_STATUS_GOOD)) {
@@ -2639,8 +2638,7 @@ zoran_do_ioctl (struct inode *inode,
 		decoder_command(zr, DECODER_SET_NORM, &norm);
 
 		/* sleep 1 second */
-		current->state = TASK_UNINTERRUPTIBLE;
-		schedule_timeout(1 * HZ);
+		ssleep(1);
 
 		/* Get status of video decoder */
 		decoder_command(zr, DECODER_GET_STATUS, &status);
_