于 2013年01月31日 05:25, Hans Verkuil 写道: > From: Hans Verkuil <hans.verkuil@xxxxxxxxx> > > Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> > --- > drivers/media/usb/tlg2300/pd-video.c | 14 ++++++++++---- > 1 file changed, 10 insertions(+), 4 deletions(-) > > diff --git a/drivers/media/usb/tlg2300/pd-video.c b/drivers/media/usb/tlg2300/pd-video.c > index 312809a..8ab2894 100644 > --- a/drivers/media/usb/tlg2300/pd-video.c > +++ b/drivers/media/usb/tlg2300/pd-video.c > @@ -142,17 +142,23 @@ static int get_audio_std(v4l2_std_id v4l2_std) > static int vidioc_querycap(struct file *file, void *fh, > struct v4l2_capability *cap) > { > + struct video_device *vdev = video_devdata(file); > + struct poseidon *p = video_get_drvdata(vdev); > struct front_face *front = fh; > - struct poseidon *p = front->pd; > > logs(front); > > strcpy(cap->driver, "tele-video"); > strcpy(cap->card, "Telegent Poseidon"); > usb_make_path(p->udev, cap->bus_info, sizeof(cap->bus_info)); > - cap->capabilities = V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_TUNER | > - V4L2_CAP_AUDIO | V4L2_CAP_STREAMING | > - V4L2_CAP_READWRITE | V4L2_CAP_VBI_CAPTURE; > + cap->device_caps = V4L2_CAP_TUNER | V4L2_CAP_AUDIO | > + V4L2_CAP_STREAMING | V4L2_CAP_READWRITE; > + if (vdev->vfl_type == VFL_TYPE_VBI) > + cap->device_caps |= V4L2_CAP_VBI_CAPTURE; > + else > + cap->device_caps |= V4L2_CAP_VIDEO_CAPTURE; > + cap->capabilities = cap->device_caps | V4L2_CAP_DEVICE_CAPS | > + V4L2_CAP_RADIO | V4L2_CAP_VBI_CAPTURE | V4L2_CAP_VIDEO_CAPTURE; > return 0; > } > Acked-by: Huang Shijie <shijie8@xxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html