From: Gerd Knorr Directly use wait-queues instead of the deprecated sleep_on_timeout(). Since the sleep in this function is unconditional, wait_event_timeout() does not appear to be appropriate. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Domen Puncer Signed-off-by: Gerd Knorr Signed-off-by: Andrew Morton --- 25-akpm/drivers/media/video/saa7110.c | 10 ++++++++-- 1 files changed, 8 insertions(+), 2 deletions(-) diff -puN drivers/media/video/saa7110.c~media-saa7110-remove-sleep_on-usage drivers/media/video/saa7110.c --- 25/drivers/media/video/saa7110.c~media-saa7110-remove-sleep_on-usage 2005-03-11 12:32:20.000000000 -0800 +++ 25-akpm/drivers/media/video/saa7110.c 2005-03-11 12:32:20.000000000 -0800 @@ -30,6 +30,7 @@ #include #include #include +#include #include #include @@ -205,13 +206,16 @@ static const unsigned char initseq[] = { static int determine_norm (struct i2c_client *client) { + DEFINE_WAIT(wait); struct saa7110 *decoder = i2c_get_clientdata(client); int status; /* mode changed, start automatic detection */ saa7110_write_block(client, initseq, sizeof(initseq)); saa7110_selmux(client, decoder->input); - sleep_on_timeout(&decoder->wq, HZ / 4); + prepare_to_wait(&decoder->wq, &wait, TASK_UNINTERRUPTIBLE); + schedule_timeout(HZ/4); + finish_wait(&decoder->wq, &wait); status = saa7110_read(client); if (status & 0x40) { dprintk(1, KERN_INFO "%s: status=0x%02x (no signal)\n", @@ -250,7 +254,9 @@ determine_norm (struct i2c_client *clien saa7110_write(client, 0x11, 0x59); //saa7110_write(client,0x2E,0x9A); - sleep_on_timeout(&decoder->wq, HZ / 4); + prepare_to_wait(&decoder->wq, &wait, TASK_UNINTERRUPTIBLE); + schedule_timeout(HZ/4); + finish_wait(&decoder->wq, &wait); status = saa7110_read(client); if ((status & 0x03) == 0x01) { _