提交 aa5e90af 编写于 作者: H Hans Verkuil 提交者: Mauro Carvalho Chehab

V4L/DVB (8783): v4l: add all missing video_device release callbacks

All drivers that call video_device_register where checked to see if they
set the release callback of struct video_device. Where that callback was
missing it was added.
Signed-off-by: NHans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
上级 f9e86b5e
......@@ -420,6 +420,7 @@ static struct video_device rtrack_radio = {
.name = "RadioTrack radio",
.fops = &rtrack_fops,
.ioctl_ops = &rtrack_ioctl_ops,
.release = video_device_release_empty,
};
static int __init rtrack_init(void)
......
......@@ -381,9 +381,10 @@ static const struct v4l2_ioctl_ops aztech_ioctl_ops = {
};
static struct video_device aztech_radio = {
.name = "Aztech radio",
.fops = &aztech_fops,
.ioctl_ops = &aztech_ioctl_ops,
.name = "Aztech radio",
.fops = &aztech_fops,
.ioctl_ops = &aztech_ioctl_ops,
.release = video_device_release_empty,
};
module_param_named(debug,aztech_radio.debug, int, 0644);
......
......@@ -589,6 +589,7 @@ static struct video_device cadet_radio = {
.name = "Cadet radio",
.fops = &cadet_fops,
.ioctl_ops = &cadet_ioctl_ops,
.release = video_device_release_empty,
};
#ifdef CONFIG_PNP
......
......@@ -401,9 +401,10 @@ static const struct v4l2_ioctl_ops gemtek_pci_ioctl_ops = {
};
static struct video_device vdev_template = {
.name = "Gemtek PCI Radio",
.fops = &gemtek_pci_fops,
.ioctl_ops = &gemtek_pci_ioctl_ops,
.name = "Gemtek PCI Radio",
.fops = &gemtek_pci_fops,
.ioctl_ops = &gemtek_pci_ioctl_ops,
.release = video_device_release_empty,
};
static int __devinit gemtek_pci_probe( struct pci_dev *pci_dev, const struct pci_device_id *pci_id )
......
......@@ -581,9 +581,10 @@ static const struct v4l2_ioctl_ops gemtek_ioctl_ops = {
};
static struct video_device gemtek_radio = {
.name = "GemTek Radio card",
.fops = &gemtek_fops,
.ioctl_ops = &gemtek_ioctl_ops,
.name = "GemTek Radio card",
.fops = &gemtek_fops,
.ioctl_ops = &gemtek_ioctl_ops,
.release = video_device_release_empty,
};
/*
......
......@@ -388,6 +388,7 @@ static struct video_device maestro_radio = {
.name = "Maestro radio",
.fops = &maestro_fops,
.ioctl_ops = &maestro_ioctl_ops,
.release = video_device_release,
};
static int __devinit maestro_probe(struct pci_dev *pdev,
......
......@@ -402,9 +402,10 @@ static const struct v4l2_ioctl_ops maxiradio_ioctl_ops = {
};
static struct video_device maxiradio_radio = {
.name = "Maxi Radio FM2000 radio",
.fops = &maxiradio_fops,
.ioctl_ops = &maxiradio_ioctl_ops,
.name = "Maxi Radio FM2000 radio",
.fops = &maxiradio_fops,
.ioctl_ops = &maxiradio_ioctl_ops,
.release = video_device_release_empty,
};
static int __devinit maxiradio_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
......
......@@ -326,6 +326,7 @@ static struct video_device rtrack2_radio = {
.name = "RadioTrack II radio",
.fops = &rtrack2_fops,
.ioctl_ops = &rtrack2_ioctl_ops,
.release = video_device_release_empty,
};
static int __init rtrack2_init(void)
......
......@@ -326,6 +326,7 @@ static struct video_device fmi_radio = {
.name = "SF16FMx radio",
.fops = &fmi_fops,
.ioctl_ops = &fmi_ioctl_ops,
.release = video_device_release_empty,
};
/* ladis: this is my card. does any other types exist? */
......
......@@ -442,6 +442,7 @@ static struct video_device fmr2_radio = {
.name = "SF16FMR2 radio",
.fops = &fmr2_fops,
.ioctl_ops = &fmr2_ioctl_ops,
.release = video_device_release_empty,
};
static int __init fmr2_init(void)
......
......@@ -398,6 +398,7 @@ static struct video_device terratec_radio = {
.name = "TerraTec ActiveRadio",
.fops = &terratec_fops,
.ioctl_ops = &terratec_ioctl_ops,
.release = video_device_release_empty,
};
static int __init terratec_init(void)
......
......@@ -378,6 +378,7 @@ static struct video_device trust_radio = {
.name = "Trust FM Radio",
.fops = &trust_fops,
.ioctl_ops = &trust_ioctl_ops,
.release = video_device_release_empty,
};
static int __init trust_init(void)
......
......@@ -375,6 +375,7 @@ static struct video_device typhoon_radio = {
.name = "Typhoon Radio",
.fops = &typhoon_fops,
.ioctl_ops = &typhoon_ioctl_ops,
.release = video_device_release_empty,
};
#ifdef CONFIG_RADIO_TYPHOON_PROC_FS
......
......@@ -439,6 +439,7 @@ static struct video_device zoltrix_radio = {
.name = "Zoltrix Radio Plus",
.fops = &zoltrix_fops,
.ioctl_ops = &zoltrix_ioctl_ops,
.release = video_device_release_empty,
};
static int __init zoltrix_init(void)
......
......@@ -926,6 +926,7 @@ static struct video_device qcam_template=
{
.name = "Connectix Quickcam",
.fops = &qcam_fops,
.release = video_device_release_empty,
};
#define MAX_CAMS 4
......
......@@ -722,6 +722,7 @@ static struct video_device qcam_template=
{
.name = "Colour QuickCam",
.fops = &qcam_fops,
.release = video_device_release_empty,
};
/* Initialize the QuickCam driver control structure. */
......
......@@ -3801,6 +3801,7 @@ static const struct file_operations cpia_fops = {
static struct video_device cpia_template = {
.name = "CPiA Camera",
.fops = &cpia_fops,
.release = video_device_release_empty,
};
/* initialise cam_data structure */
......
......@@ -915,6 +915,7 @@ static struct video_device pms_template=
{
.name = "Mediavision PMS",
.fops = &pms_fops,
.release = video_device_release_empty,
};
static struct pms_device pms_device;
......
......@@ -708,6 +708,7 @@ static struct video_device saa_template =
{
.name = IF_NAME,
.fops = &saa_fops,
.release = video_device_release,
};
MODULE_LICENSE("GPL");
......@@ -1236,6 +1236,7 @@ static const struct file_operations se401_fops = {
static struct video_device se401_template = {
.name = "se401 USB camera",
.fops = &se401_fops,
.release = video_device_release_empty,
};
......
......@@ -1925,6 +1925,7 @@ static struct video_device saa_template = {
.name = "SAA7146A",
.fops = &saa_fops,
.minor = -1,
.release = video_device_release_empty,
};
static int __devinit configure_saa7146(struct pci_dev *pdev, int num)
......
......@@ -1006,10 +1006,6 @@ struct uvd *usbvideo_AllocateDevice(struct usbvideo *cams)
EXPORT_SYMBOL(usbvideo_AllocateDevice);
static void usbvideo_dummy_release(struct video_device *vfd)
{
}
int usbvideo_RegisterVideoDevice(struct uvd *uvd)
{
char tmp1[20], tmp2[20]; /* Buffers for printing */
......@@ -1043,7 +1039,7 @@ int usbvideo_RegisterVideoDevice(struct uvd *uvd)
return -EINVAL;
}
uvd->vdev.parent = &uvd->dev->dev;
uvd->vdev.release = usbvideo_dummy_release;
uvd->vdev.release = video_device_release_empty;
if (video_register_device(&uvd->vdev, VFL_TYPE_GRABBER, video_nr) < 0) {
err("%s: video_register_device failed", __func__);
return -EPIPE;
......
......@@ -801,6 +801,7 @@ static struct video_device vicam_template = {
.name = "ViCam-based USB Camera",
.fops = &vicam_fops,
.minor = -1,
.release = video_device_release_empty,
};
/* table of devices that work with this driver */
......
......@@ -216,6 +216,7 @@ static const struct file_operations w9966_fops = {
static struct video_device w9966_template = {
.name = W9966_DRIVERNAME,
.fops = &w9966_fops,
.release = video_device_release_empty,
};
/*
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册