aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/msp3400-driver.c
diff options
context:
space:
mode:
authorHans Verkuil <hverkuil@xs4all.nl>2006-12-18 13:18:28 -0300
committerMauro Carvalho Chehab <mchehab@infradead.org>2006-12-27 14:19:32 -0200
commitb331def2d382d7a51c379f336fe80ef87d6674e3 (patch)
tree5d0a5755688cdb1d73a1ce8fc657b9761303dd68 /drivers/media/video/msp3400-driver.c
parent315eb962d2e9438bc10da2488b604f04a1c0006f (diff)
downloadkernel_samsung_aries-b331def2d382d7a51c379f336fe80ef87d6674e3.zip
kernel_samsung_aries-b331def2d382d7a51c379f336fe80ef87d6674e3.tar.gz
kernel_samsung_aries-b331def2d382d7a51c379f336fe80ef87d6674e3.tar.bz2
V4L/DVB (4982): Fix broken audio mode handling for line-in in msp3400.
The wrong matrix was used when an external input was selected instead of the tuner input. The rxsubchans field was also not initialized to STEREO for an external input. And finally the msp34xxg_detect_stereo() should not try to detect stereo for an external input, that code is for the tuner input only. Together these bugs made it hit 'n miss whether you ever got stereo out of the msp3400 for an external input. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video/msp3400-driver.c')
-rw-r--r--drivers/media/video/msp3400-driver.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/media/video/msp3400-driver.c b/drivers/media/video/msp3400-driver.c
index e1b56dc..295cb99 100644
--- a/drivers/media/video/msp3400-driver.c
+++ b/drivers/media/video/msp3400-driver.c
@@ -633,10 +633,8 @@ static int msp_command(struct i2c_client *client, unsigned int cmd, void *arg)
if (((rt->input >> (4 + i * 4)) & 0xf) == 0)
extern_input = 0;
}
- if (extern_input)
- state->mode = MSP_MODE_EXTERN;
- else
- state->mode = MSP_MODE_AM_DETECT;
+ state->mode = extern_input ? MSP_MODE_EXTERN : MSP_MODE_AM_DETECT;
+ state->rxsubchans = V4L2_TUNER_SUB_STEREO;
msp_set_scart(client, sc_in, 0);
msp_set_scart(client, sc1_out, 1);
msp_set_scart(client, sc2_out, 2);