[media] media: au0828 enable the right media source when input changes

Change vidioc_s_input() to enable the media source for the newly
selected input.

v4l2-core enables source before calling au0828's vidioc_s_input()
handler. Hence, when input selection changes, media source for the
newly selected input needs to be enabled.

Signed-off-by: Shuah Khan <shuahkh@osg.samsung.com>
This commit is contained in:
Shuah Khan 2016-02-18 22:28:48 -02:00 committed by Mauro Carvalho Chehab
parent 37a35ced62
commit 050b6c98b4

View File

@ -1453,6 +1453,7 @@ static void au0828_s_input(struct au0828_dev *dev, int index)
static int vidioc_s_input(struct file *file, void *priv, unsigned int index)
{
struct au0828_dev *dev = video_drvdata(file);
struct video_device *vfd = video_devdata(file);
dprintk(1, "VIDIOC_S_INPUT in function %s, input=%d\n", __func__,
index);
@ -1465,7 +1466,14 @@ static int vidioc_s_input(struct file *file, void *priv, unsigned int index)
return 0;
au0828_s_input(dev, index);
return 0;
/*
* Input has been changed. Disable the media source
* associated with the old input and enable source
* for the newly set input
*/
v4l_disable_media_source(vfd);
return v4l_enable_media_source(vfd);
}
static int vidioc_enumaudio(struct file *file, void *priv, struct v4l2_audio *a)