aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/saa7134/saa7134-input.c
diff options
context:
space:
mode:
authorMaxim Levitsky <maximlevitsky@gmail.com>2007-10-11 23:57:15 -0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2007-10-22 10:01:41 -0400
commitc458473ebf31755373ca2f8063c9ec9744205924 (patch)
tree3852d3810dcaa4a1dddc684b7f735b493861e9df /drivers/media/video/saa7134/saa7134-input.c
parent7e7f05ca156d34b80e53105e4ef9bc1497a68439 (diff)
V4L/DVB (6329): Additional Fixes for saa7134 suspend/resume
Fixes few more problems I found in my saa7134 resume code: * Race between IRQ handler and .suspend()/.resume() functions * Removes timeout timers on active buffers - those buffers will be recaptured after resume * Adds suspend/resume for IR code - probably necessary if using polling mode * Adds #ifdef CONFIG_PM overs suspend code * Runs a quirk in set_tvnorm in suspend/resume too * Rearranges the order of calls in saa7134_resume to be exactly as in saa7134_initdev thus the card is initialized in exactly the same way * Since DMA audio capture suspend/resume isn't yet supported, avoid re-enabling it on resume for now Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video/saa7134/saa7134-input.c')
-rw-r--r--drivers/media/video/saa7134/saa7134-input.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/media/video/saa7134/saa7134-input.c b/drivers/media/video/saa7134/saa7134-input.c
index 80d2644f765a..d4907ce4e51f 100644
--- a/drivers/media/video/saa7134/saa7134-input.c
+++ b/drivers/media/video/saa7134/saa7134-input.c
@@ -159,7 +159,7 @@ static void saa7134_input_timer(unsigned long data)
159 mod_timer(&ir->timer, jiffies + msecs_to_jiffies(ir->polling)); 159 mod_timer(&ir->timer, jiffies + msecs_to_jiffies(ir->polling));
160} 160}
161 161
162static void saa7134_ir_start(struct saa7134_dev *dev, struct card_ir *ir) 162void saa7134_ir_start(struct saa7134_dev *dev, struct card_ir *ir)
163{ 163{
164 if (ir->polling) { 164 if (ir->polling) {
165 setup_timer(&ir->timer, saa7134_input_timer, 165 setup_timer(&ir->timer, saa7134_input_timer,
@@ -182,7 +182,7 @@ static void saa7134_ir_start(struct saa7134_dev *dev, struct card_ir *ir)
182 } 182 }
183} 183}
184 184
185static void saa7134_ir_stop(struct saa7134_dev *dev) 185void saa7134_ir_stop(struct saa7134_dev *dev)
186{ 186{
187 if (dev->remote->polling) 187 if (dev->remote->polling)
188 del_timer_sync(&dev->remote->timer); 188 del_timer_sync(&dev->remote->timer);