From: Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton --- 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 #include #include +#include #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 #include #include +#include #include #include @@ -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(¤t->blocked); recalc_sigpending(); spin_unlock_irq(¤t->sighand->siglock); - current->state = TASK_INTERRUPTIBLE; - schedule_timeout(delay); + msleep_interruptible(jiffies_to_msecs(delay)); spin_lock_irq(¤t->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 #include #include +#include #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 #include #include +#include #include #include @@ -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); _