diff options
author | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-02-05 22:29:26 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-02-18 11:15:14 -0300 |
commit | 7463dda2ae868d3e0a6c98f65d6331481fc73ca3 (patch) | |
tree | af31fbb1dfddf4edc74d7629d24ecf682d31429d | |
parent | 1685a6fed210b110ac8abeff24e2ffd1713cb3fb (diff) | |
download | linux-7463dda2ae868d3e0a6c98f65d6331481fc73ca3.tar.bz2 |
V4L/DVB (7158): Fix em28xx audio initialization
AC97 register initialization seem to always be needed. This patch fixes audio
for Prolink/Pixelview USB2 board.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r-- | drivers/media/video/em28xx/em28xx-cards.c | 6 | ||||
-rw-r--r-- | drivers/media/video/em28xx/em28xx-core.c | 11 |
2 files changed, 6 insertions, 11 deletions
diff --git a/drivers/media/video/em28xx/em28xx-cards.c b/drivers/media/video/em28xx/em28xx-cards.c index fc160772930c..aae7753fef11 100644 --- a/drivers/media/video/em28xx/em28xx-cards.c +++ b/drivers/media/video/em28xx/em28xx-cards.c @@ -393,15 +393,15 @@ struct em28xx_board em28xx_boards[] = { .input = { { .type = EM28XX_VMUX_TELEVISION, .vmux = SAA7115_COMPOSITE2, - .amux = 1, + .amux = EM28XX_AMUX_LINE_IN, }, { .type = EM28XX_VMUX_COMPOSITE1, .vmux = SAA7115_COMPOSITE0, - .amux = 1, + .amux = EM28XX_AMUX_LINE_IN, }, { .type = EM28XX_VMUX_SVIDEO, .vmux = SAA7115_SVIDEO3, - .amux = 1, + .amux = EM28XX_AMUX_LINE_IN, } }, }, }; diff --git a/drivers/media/video/em28xx/em28xx-core.c b/drivers/media/video/em28xx/em28xx-core.c index 33d323cbce7a..4ffb8d0bc52a 100644 --- a/drivers/media/video/em28xx/em28xx-core.c +++ b/drivers/media/video/em28xx/em28xx-core.c @@ -274,7 +274,6 @@ int em28xx_set_audio_source(struct em28xx *dev) static char *disable = "\x08\x88"; char *video = enable, *line = disable; int ret; - int no_ac97 = 0; u8 input; if (dev->is_em2800) { @@ -294,11 +293,9 @@ int em28xx_set_audio_source(struct em28xx *dev) switch (dev->ctl_ainput) { case EM28XX_AMUX_VIDEO: input = EM28XX_AUDIO_SRC_TUNER; - no_ac97 = 1; break; case EM28XX_AMUX_LINE_IN: input = EM28XX_AUDIO_SRC_LINE; - no_ac97 = 1; break; case EM28XX_AMUX_AC97_VIDEO: input = EM28XX_AUDIO_SRC_LINE; @@ -315,11 +312,9 @@ int em28xx_set_audio_source(struct em28xx *dev) if (ret < 0) return ret; - if (no_ac97) - return 0; - - /* Sets AC97 mixer registers */ - + /* Sets AC97 mixer registers + This is seems to be needed, even for non-ac97 configs + */ ret = em28xx_write_ac97(dev, VIDEO_AC97, video); if (ret < 0) return ret; |