diff options
author | Maxim Levitsky <maximlevitsky@gmail.com> | 2007-10-11 23:57:15 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-10-22 10:01:41 -0400 |
commit | c458473ebf31755373ca2f8063c9ec9744205924 (patch) | |
tree | 3852d3810dcaa4a1dddc684b7f735b493861e9df /drivers/media/video/saa7134/saa7134.h | |
parent | 7e7f05ca156d34b80e53105e4ef9bc1497a68439 (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.h')
-rw-r--r-- | drivers/media/video/saa7134/saa7134.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/media/video/saa7134/saa7134.h b/drivers/media/video/saa7134/saa7134.h index 28ec6804bd5d..fe0a8439b878 100644 --- a/drivers/media/video/saa7134/saa7134.h +++ b/drivers/media/video/saa7134/saa7134.h | |||
@@ -524,7 +524,7 @@ struct saa7134_dev { | |||
524 | unsigned int hw_mute; | 524 | unsigned int hw_mute; |
525 | int last_carrier; | 525 | int last_carrier; |
526 | int nosignal; | 526 | int nosignal; |
527 | unsigned int inresume; | 527 | unsigned int insuspend; |
528 | 528 | ||
529 | /* SAA7134_MPEG_* */ | 529 | /* SAA7134_MPEG_* */ |
530 | struct saa7134_ts ts; | 530 | struct saa7134_ts ts; |
@@ -632,7 +632,7 @@ extern struct video_device saa7134_radio_template; | |||
632 | 632 | ||
633 | void set_tvnorm(struct saa7134_dev *dev, struct saa7134_tvnorm *norm); | 633 | void set_tvnorm(struct saa7134_dev *dev, struct saa7134_tvnorm *norm); |
634 | int saa7134_videoport_init(struct saa7134_dev *dev); | 634 | int saa7134_videoport_init(struct saa7134_dev *dev); |
635 | void saa7134_set_decoder(struct saa7134_dev *dev); | 635 | void saa7134_set_tvnorm_hw(struct saa7134_dev *dev); |
636 | 636 | ||
637 | int saa7134_common_ioctl(struct saa7134_dev *dev, | 637 | int saa7134_common_ioctl(struct saa7134_dev *dev, |
638 | unsigned int cmd, void *arg); | 638 | unsigned int cmd, void *arg); |
@@ -706,6 +706,8 @@ int saa7134_input_init1(struct saa7134_dev *dev); | |||
706 | void saa7134_input_fini(struct saa7134_dev *dev); | 706 | void saa7134_input_fini(struct saa7134_dev *dev); |
707 | void saa7134_input_irq(struct saa7134_dev *dev); | 707 | void saa7134_input_irq(struct saa7134_dev *dev); |
708 | void saa7134_set_i2c_ir(struct saa7134_dev *dev, struct IR_i2c *ir); | 708 | void saa7134_set_i2c_ir(struct saa7134_dev *dev, struct IR_i2c *ir); |
709 | void saa7134_ir_start(struct saa7134_dev *dev, struct card_ir *ir); | ||
710 | void saa7134_ir_stop(struct saa7134_dev *dev); | ||
709 | 711 | ||
710 | 712 | ||
711 | /* | 713 | /* |