[media] cx231xx-417: use one querycap for all device nodes
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
3f926e326d
commit
bc08734c82
|
@ -1626,24 +1626,6 @@ static int vidioc_s_ctrl(struct file *file, void *priv,
|
||||||
dprintk(3, "exit vidioc_s_ctrl()\n");
|
dprintk(3, "exit vidioc_s_ctrl()\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
static struct v4l2_capability pvr_capability = {
|
|
||||||
.driver = "cx231xx",
|
|
||||||
.card = "VideoGrabber",
|
|
||||||
.bus_info = "usb",
|
|
||||||
.version = 1,
|
|
||||||
.capabilities = (V4L2_CAP_VIDEO_CAPTURE |
|
|
||||||
V4L2_CAP_TUNER | V4L2_CAP_AUDIO | V4L2_CAP_RADIO |
|
|
||||||
V4L2_CAP_STREAMING | V4L2_CAP_READWRITE),
|
|
||||||
};
|
|
||||||
static int vidioc_querycap(struct file *file, void *priv,
|
|
||||||
struct v4l2_capability *cap)
|
|
||||||
{
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
memcpy(cap, &pvr_capability, sizeof(struct v4l2_capability));
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv,
|
static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv,
|
||||||
struct v4l2_fmtdesc *f)
|
struct v4l2_fmtdesc *f)
|
||||||
|
@ -2016,7 +1998,7 @@ static const struct v4l2_ioctl_ops mpeg_ioctl_ops = {
|
||||||
.vidioc_g_input = vidioc_g_input,
|
.vidioc_g_input = vidioc_g_input,
|
||||||
.vidioc_s_input = vidioc_s_input,
|
.vidioc_s_input = vidioc_s_input,
|
||||||
.vidioc_s_ctrl = vidioc_s_ctrl,
|
.vidioc_s_ctrl = vidioc_s_ctrl,
|
||||||
.vidioc_querycap = vidioc_querycap,
|
.vidioc_querycap = cx231xx_querycap,
|
||||||
.vidioc_enum_fmt_vid_cap = vidioc_enum_fmt_vid_cap,
|
.vidioc_enum_fmt_vid_cap = vidioc_enum_fmt_vid_cap,
|
||||||
.vidioc_g_fmt_vid_cap = vidioc_g_fmt_vid_cap,
|
.vidioc_g_fmt_vid_cap = vidioc_g_fmt_vid_cap,
|
||||||
.vidioc_try_fmt_vid_cap = vidioc_try_fmt_vid_cap,
|
.vidioc_try_fmt_vid_cap = vidioc_try_fmt_vid_cap,
|
||||||
|
|
|
@ -1632,7 +1632,7 @@ static int vidioc_streamoff(struct file *file, void *priv,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int vidioc_querycap(struct file *file, void *priv,
|
int cx231xx_querycap(struct file *file, void *priv,
|
||||||
struct v4l2_capability *cap)
|
struct v4l2_capability *cap)
|
||||||
{
|
{
|
||||||
struct video_device *vdev = video_devdata(file);
|
struct video_device *vdev = video_devdata(file);
|
||||||
|
@ -2186,7 +2186,7 @@ static const struct v4l2_file_operations cx231xx_v4l_fops = {
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct v4l2_ioctl_ops video_ioctl_ops = {
|
static const struct v4l2_ioctl_ops video_ioctl_ops = {
|
||||||
.vidioc_querycap = vidioc_querycap,
|
.vidioc_querycap = cx231xx_querycap,
|
||||||
.vidioc_enum_fmt_vid_cap = vidioc_enum_fmt_vid_cap,
|
.vidioc_enum_fmt_vid_cap = vidioc_enum_fmt_vid_cap,
|
||||||
.vidioc_g_fmt_vid_cap = vidioc_g_fmt_vid_cap,
|
.vidioc_g_fmt_vid_cap = vidioc_g_fmt_vid_cap,
|
||||||
.vidioc_try_fmt_vid_cap = vidioc_try_fmt_vid_cap,
|
.vidioc_try_fmt_vid_cap = vidioc_try_fmt_vid_cap,
|
||||||
|
@ -2237,7 +2237,7 @@ static const struct v4l2_file_operations radio_fops = {
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct v4l2_ioctl_ops radio_ioctl_ops = {
|
static const struct v4l2_ioctl_ops radio_ioctl_ops = {
|
||||||
.vidioc_querycap = vidioc_querycap,
|
.vidioc_querycap = cx231xx_querycap,
|
||||||
.vidioc_g_tuner = radio_g_tuner,
|
.vidioc_g_tuner = radio_g_tuner,
|
||||||
.vidioc_s_tuner = radio_s_tuner,
|
.vidioc_s_tuner = radio_s_tuner,
|
||||||
.vidioc_g_frequency = vidioc_g_frequency,
|
.vidioc_g_frequency = vidioc_g_frequency,
|
||||||
|
|
|
@ -934,6 +934,8 @@ int cx231xx_register_extension(struct cx231xx_ops *dev);
|
||||||
void cx231xx_unregister_extension(struct cx231xx_ops *dev);
|
void cx231xx_unregister_extension(struct cx231xx_ops *dev);
|
||||||
void cx231xx_init_extension(struct cx231xx *dev);
|
void cx231xx_init_extension(struct cx231xx *dev);
|
||||||
void cx231xx_close_extension(struct cx231xx *dev);
|
void cx231xx_close_extension(struct cx231xx *dev);
|
||||||
|
int cx231xx_querycap(struct file *file, void *priv,
|
||||||
|
struct v4l2_capability *cap);
|
||||||
|
|
||||||
/* Provided by cx231xx-cards.c */
|
/* Provided by cx231xx-cards.c */
|
||||||
extern void cx231xx_pre_card_setup(struct cx231xx *dev);
|
extern void cx231xx_pre_card_setup(struct cx231xx *dev);
|
||||||
|
|
Loading…
Reference in a new issue