mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 08:43:31 +00:00
media: common/saa7146: fix VFL direction for vbi output
The VBI output device didn't have VFL_DIR_TX set, so this didn't work anymore since the V4L2 core thought that it was a capture device instead. Fix this. Also drop invalid capabilities for the VBI output device. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
This commit is contained in:
parent
c07deaa1f2
commit
727c070cd0
1 changed files with 8 additions and 4 deletions
|
@ -589,12 +589,16 @@ int saa7146_register_device(struct video_device *vfd, struct saa7146_dev *dev,
|
|||
vfd->device_caps = V4L2_CAP_VIDEO_CAPTURE |
|
||||
V4L2_CAP_READWRITE | V4L2_CAP_STREAMING;
|
||||
vfd->device_caps |= dev->ext_vv_data->capabilities;
|
||||
if (type == VFL_TYPE_VIDEO)
|
||||
if (type == VFL_TYPE_VIDEO) {
|
||||
vfd->device_caps &=
|
||||
~(V4L2_CAP_VBI_CAPTURE | V4L2_CAP_SLICED_VBI_OUTPUT);
|
||||
else
|
||||
vfd->device_caps &=
|
||||
~(V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_AUDIO);
|
||||
} else if (vfd->device_caps & V4L2_CAP_SLICED_VBI_OUTPUT) {
|
||||
vfd->vfl_dir = VFL_DIR_TX;
|
||||
vfd->device_caps &= ~(V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_STREAMING |
|
||||
V4L2_CAP_AUDIO | V4L2_CAP_TUNER);
|
||||
} else {
|
||||
vfd->device_caps &= ~V4L2_CAP_VIDEO_CAPTURE;
|
||||
}
|
||||
video_set_drvdata(vfd, dev);
|
||||
|
||||
err = video_register_device(vfd, type, -1);
|
||||
|
|
Loading…
Add table
Reference in a new issue