diff options
author | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-04-24 01:33:08 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-04-24 01:33:08 -0300 |
commit | 005392231f73c7f7781c04eebf5869c0174f503e (patch) | |
tree | a261d186361d85d130fe033cc63d575421800727 /linux/drivers/media/radio | |
parent | 59964b28e0205cdf0a4465194f40867b7c7f5aa6 (diff) | |
parent | 2da45c822154d03cd7db86ac11b52385f1fac384 (diff) | |
download | mediapointer-dvb-s2-005392231f73c7f7781c04eebf5869c0174f503e.tar.gz mediapointer-dvb-s2-005392231f73c7f7781c04eebf5869c0174f503e.tar.bz2 |
merge: http://jusst.de/hg/v4l-dvb/
From: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'linux/drivers/media/radio')
-rw-r--r-- | linux/drivers/media/radio/dsbr100.c | 88 | ||||
-rw-r--r-- | linux/drivers/media/radio/radio-aimslab.c | 12 | ||||
-rw-r--r-- | linux/drivers/media/radio/radio-aztech.c | 12 | ||||
-rw-r--r-- | linux/drivers/media/radio/radio-gemtek-pci.c | 12 | ||||
-rw-r--r-- | linux/drivers/media/radio/radio-gemtek.c | 11 | ||||
-rw-r--r-- | linux/drivers/media/radio/radio-maestro.c | 12 | ||||
-rw-r--r-- | linux/drivers/media/radio/radio-maxiradio.c | 12 | ||||
-rw-r--r-- | linux/drivers/media/radio/radio-mr800.c | 85 | ||||
-rw-r--r-- | linux/drivers/media/radio/radio-rtrack2.c | 12 | ||||
-rw-r--r-- | linux/drivers/media/radio/radio-sf16fmi.c | 12 | ||||
-rw-r--r-- | linux/drivers/media/radio/radio-sf16fmr2.c | 12 | ||||
-rw-r--r-- | linux/drivers/media/radio/radio-si470x.c | 9 | ||||
-rw-r--r-- | linux/drivers/media/radio/radio-terratec.c | 12 | ||||
-rw-r--r-- | linux/drivers/media/radio/radio-trust.c | 12 | ||||
-rw-r--r-- | linux/drivers/media/radio/radio-typhoon.c | 12 | ||||
-rw-r--r-- | linux/drivers/media/radio/radio-zoltrix.c | 12 |
16 files changed, 72 insertions, 265 deletions
diff --git a/linux/drivers/media/radio/dsbr100.c b/linux/drivers/media/radio/dsbr100.c index 155a75341..bd13bef85 100644 --- a/linux/drivers/media/radio/dsbr100.c +++ b/linux/drivers/media/radio/dsbr100.c @@ -33,6 +33,9 @@ History: + Version 0.45: + Converted to v4l2_device. + Version 0.44: Add suspend/resume functions, fix unplug of device, a lot of cleanups and fixes by Alexey Klimov <klimov.linux@gmail.com> @@ -88,7 +91,7 @@ #include <linux/slab.h> #include <linux/input.h> #include <linux/videodev2.h> -#include <media/v4l2-common.h> +#include <media/v4l2-device.h> #include <media/v4l2-ioctl.h> #include <linux/usb.h> #include "compat.h" @@ -98,39 +101,8 @@ */ #include <linux/version.h> /* for KERNEL_VERSION MACRO */ -#define DRIVER_VERSION "v0.44" -#define RADIO_VERSION KERNEL_VERSION(0, 4, 4) - -static struct v4l2_queryctrl radio_qctrl[] = { - { - .id = V4L2_CID_AUDIO_MUTE, - .name = "Mute", - .minimum = 0, - .maximum = 1, - .default_value = 1, - .type = V4L2_CTRL_TYPE_BOOLEAN, - }, -/* HINT: the disabled controls are only here to satify kradio and such apps */ - { .id = V4L2_CID_AUDIO_VOLUME, - .flags = V4L2_CTRL_FLAG_DISABLED, - }, - { - .id = V4L2_CID_AUDIO_BALANCE, - .flags = V4L2_CTRL_FLAG_DISABLED, - }, - { - .id = V4L2_CID_AUDIO_BASS, - .flags = V4L2_CTRL_FLAG_DISABLED, - }, - { - .id = V4L2_CID_AUDIO_TREBLE, - .flags = V4L2_CTRL_FLAG_DISABLED, - }, - { - .id = V4L2_CID_AUDIO_LOUDNESS, - .flags = V4L2_CTRL_FLAG_DISABLED, - }, -}; +#define DRIVER_VERSION "v0.45" +#define RADIO_VERSION KERNEL_VERSION(0, 4, 5) #define DRIVER_AUTHOR "Markus Demleitner <msdemlei@tucana.harvard.edu>" #define DRIVER_DESC "D-Link DSB-R100 USB FM radio driver" @@ -168,6 +140,8 @@ module_param(radio_nr, int, 0); struct dsbr100_device { struct usb_device *usbdev; struct video_device videodev; + struct v4l2_device v4l2_dev; + u8 *transfer_buffer; struct mutex lock; /* buffer locking */ int curfreq; @@ -387,6 +361,7 @@ static void usb_dsbr100_disconnect(struct usb_interface *intf) mutex_unlock(&radio->lock); video_unregister_device(&radio->videodev); + v4l2_device_disconnect(&radio->v4l2_dev); } @@ -482,14 +457,11 @@ static int vidioc_g_frequency(struct file *file, void *priv, static int vidioc_queryctrl(struct file *file, void *priv, struct v4l2_queryctrl *qc) { - int i; - - for (i = 0; i < ARRAY_SIZE(radio_qctrl); i++) { - if (qc->id && qc->id == radio_qctrl[i].id) { - memcpy(qc, &(radio_qctrl[i]), sizeof(*qc)); - return 0; - } + switch (qc->id) { + case V4L2_CID_AUDIO_MUTE: + return v4l2_ctrl_query_fill(qc, 0, 1, 1, 1); } + return -EINVAL; } @@ -659,6 +631,7 @@ static void usb_dsbr100_video_device_release(struct video_device *videodev) { struct dsbr100_device *radio = videodev_to_radio(videodev); + v4l2_device_unregister(&radio->v4l2_dev); kfree(radio->transfer_buffer); kfree(radio); } @@ -686,22 +659,15 @@ static const struct v4l2_ioctl_ops usb_dsbr100_ioctl_ops = { .vidioc_s_input = vidioc_s_input, }; -/* V4L2 interface */ -static struct video_device dsbr100_videodev_data = { - .name = "D-Link DSB-R 100", - .fops = &usb_dsbr100_fops, - .ioctl_ops = &usb_dsbr100_ioctl_ops, - .release = usb_dsbr100_video_device_release, -}; - /* check if the device is present and register with v4l and usb if it is */ static int usb_dsbr100_probe(struct usb_interface *intf, const struct usb_device_id *id) { struct dsbr100_device *radio; + struct v4l2_device *v4l2_dev; int retval; - radio = kmalloc(sizeof(struct dsbr100_device), GFP_KERNEL); + radio = kzalloc(sizeof(struct dsbr100_device), GFP_KERNEL); if (!radio) return -ENOMEM; @@ -713,17 +679,35 @@ static int usb_dsbr100_probe(struct usb_interface *intf, return -ENOMEM; } + v4l2_dev = &radio->v4l2_dev; + + retval = v4l2_device_register(&intf->dev, v4l2_dev); + if (retval < 0) { + v4l2_err(v4l2_dev, "couldn't register v4l2_device\n"); + kfree(radio->transfer_buffer); + kfree(radio); + return retval; + } + + strlcpy(radio->videodev.name, v4l2_dev->name, sizeof(radio->videodev.name)); + radio->videodev.v4l2_dev = v4l2_dev; + radio->videodev.fops = &usb_dsbr100_fops; + radio->videodev.ioctl_ops = &usb_dsbr100_ioctl_ops; + radio->videodev.release = usb_dsbr100_video_device_release; + mutex_init(&radio->lock); - radio->videodev = dsbr100_videodev_data; radio->removed = 0; radio->users = 0; radio->usbdev = interface_to_usbdev(intf); radio->curfreq = FREQ_MIN * FREQ_MUL; + video_set_drvdata(&radio->videodev, radio); + retval = video_register_device(&radio->videodev, VFL_TYPE_RADIO, radio_nr); if (retval < 0) { - dev_err(&intf->dev, "couldn't register video device\n"); + v4l2_err(v4l2_dev, "couldn't register video device\n"); + v4l2_device_unregister(v4l2_dev); kfree(radio->transfer_buffer); kfree(radio); return -EIO; diff --git a/linux/drivers/media/radio/radio-aimslab.c b/linux/drivers/media/radio/radio-aimslab.c index 29834df05..0089e38b1 100644 --- a/linux/drivers/media/radio/radio-aimslab.c +++ b/linux/drivers/media/radio/radio-aimslab.c @@ -356,20 +356,8 @@ static int vidioc_s_audio(struct file *file, void *priv, return a->index ? -EINVAL : 0; } -static int rtrack_open(struct file *file) -{ - return 0; -} - -static int rtrack_release(struct file *file) -{ - return 0; -} - static const struct v4l2_file_operations rtrack_fops = { .owner = THIS_MODULE, - .open = rtrack_open, - .release = rtrack_release, .ioctl = video_ioctl2, }; diff --git a/linux/drivers/media/radio/radio-aztech.c b/linux/drivers/media/radio/radio-aztech.c index 6b4081a51..1ca64a92f 100644 --- a/linux/drivers/media/radio/radio-aztech.c +++ b/linux/drivers/media/radio/radio-aztech.c @@ -319,20 +319,8 @@ static int vidioc_s_ctrl(struct file *file, void *priv, return -EINVAL; } -static int aztech_open(struct file *file) -{ - return 0; -} - -static int aztech_release(struct file *file) -{ - return 0; -} - static const struct v4l2_file_operations aztech_fops = { .owner = THIS_MODULE, - .open = aztech_open, - .release = aztech_release, .ioctl = video_ioctl2, }; diff --git a/linux/drivers/media/radio/radio-gemtek-pci.c b/linux/drivers/media/radio/radio-gemtek-pci.c index 13972c431..64859e9b2 100644 --- a/linux/drivers/media/radio/radio-gemtek-pci.c +++ b/linux/drivers/media/radio/radio-gemtek-pci.c @@ -357,20 +357,8 @@ static struct pci_device_id gemtek_pci_id[] = MODULE_DEVICE_TABLE(pci, gemtek_pci_id); -static int gemtek_pci_open(struct file *file) -{ - return 0; -} - -static int gemtek_pci_release(struct file *file) -{ - return 0; -} - static const struct v4l2_file_operations gemtek_pci_fops = { .owner = THIS_MODULE, - .open = gemtek_pci_open, - .release = gemtek_pci_release, .ioctl = video_ioctl2, }; diff --git a/linux/drivers/media/radio/radio-gemtek.c b/linux/drivers/media/radio/radio-gemtek.c index d991476e8..bc58ce7e2 100644 --- a/linux/drivers/media/radio/radio-gemtek.c +++ b/linux/drivers/media/radio/radio-gemtek.c @@ -376,20 +376,9 @@ static int gemtek_probe(struct gemtek *gt) /* * Video 4 Linux stuff. */ -static int gemtek_open(struct file *file) -{ - return 0; -} - -static int gemtek_release(struct file *file) -{ - return 0; -} static const struct v4l2_file_operations gemtek_fops = { .owner = THIS_MODULE, - .open = gemtek_open, - .release = gemtek_release, .ioctl = video_ioctl2, }; diff --git a/linux/drivers/media/radio/radio-maestro.c b/linux/drivers/media/radio/radio-maestro.c index 387bf416b..603e629e1 100644 --- a/linux/drivers/media/radio/radio-maestro.c +++ b/linux/drivers/media/radio/radio-maestro.c @@ -293,20 +293,8 @@ static int vidioc_s_audio(struct file *file, void *priv, return a->index ? -EINVAL : 0; } -static int maestro_open(struct file *file) -{ - return 0; -} - -static int maestro_release(struct file *file) -{ - return 0; -} - static const struct v4l2_file_operations maestro_fops = { .owner = THIS_MODULE, - .open = maestro_open, - .release = maestro_release, .ioctl = video_ioctl2, }; diff --git a/linux/drivers/media/radio/radio-maxiradio.c b/linux/drivers/media/radio/radio-maxiradio.c index a31ea2f5e..da86c058c 100644 --- a/linux/drivers/media/radio/radio-maxiradio.c +++ b/linux/drivers/media/radio/radio-maxiradio.c @@ -340,20 +340,8 @@ static int vidioc_s_ctrl(struct file *file, void *priv, return -EINVAL; } -static int maxiradio_open(struct file *file) -{ - return 0; -} - -static int maxiradio_release(struct file *file) -{ - return 0; -} - static const struct v4l2_file_operations maxiradio_fops = { .owner = THIS_MODULE, - .open = maxiradio_open, - .release = maxiradio_release, .ioctl = video_ioctl2, }; diff --git a/linux/drivers/media/radio/radio-mr800.c b/linux/drivers/media/radio/radio-mr800.c index c04c8887e..93d5a7aa6 100644 --- a/linux/drivers/media/radio/radio-mr800.c +++ b/linux/drivers/media/radio/radio-mr800.c @@ -43,6 +43,7 @@ * Douglas Schilling Landgraf <dougsland@gmail.com> and * David Ellingsworth <david@identd.dyndns.org> * for discussion, help and support. + * Version 0.11: Converted to v4l2_device. * * Many things to do: * - Correct power managment of device (suspend & resume) @@ -59,7 +60,7 @@ #include <linux/slab.h> #include <linux/input.h> #include <linux/videodev2.h> -#include <media/v4l2-common.h> +#include <media/v4l2-device.h> #include <media/v4l2-ioctl.h> #include <linux/usb.h> #include <linux/version.h> /* for KERNEL_VERSION MACRO */ @@ -68,8 +69,8 @@ /* driver and module definitions */ #define DRIVER_AUTHOR "Alexey Klimov <klimov.linux@gmail.com>" #define DRIVER_DESC "AverMedia MR 800 USB FM radio driver" -#define DRIVER_VERSION "0.10" -#define RADIO_VERSION KERNEL_VERSION(0, 1, 0) +#define DRIVER_VERSION "0.11" +#define RADIO_VERSION KERNEL_VERSION(0, 1, 1) MODULE_AUTHOR(DRIVER_AUTHOR); MODULE_DESCRIPTION(DRIVER_DESC); @@ -114,38 +115,6 @@ static int radio_nr = -1; module_param(radio_nr, int, 0); MODULE_PARM_DESC(radio_nr, "Radio Nr"); -static struct v4l2_queryctrl radio_qctrl[] = { - { - .id = V4L2_CID_AUDIO_MUTE, - .name = "Mute", - .minimum = 0, - .maximum = 1, - .step = 1, - .default_value = 1, - .type = V4L2_CTRL_TYPE_BOOLEAN, - }, -/* HINT: the disabled controls are only here to satify kradio and such apps */ - { .id = V4L2_CID_AUDIO_VOLUME, - .flags = V4L2_CTRL_FLAG_DISABLED, - }, - { - .id = V4L2_CID_AUDIO_BALANCE, - .flags = V4L2_CTRL_FLAG_DISABLED, - }, - { - .id = V4L2_CID_AUDIO_BASS, - .flags = V4L2_CTRL_FLAG_DISABLED, - }, - { - .id = V4L2_CID_AUDIO_TREBLE, - .flags = V4L2_CTRL_FLAG_DISABLED, - }, - { - .id = V4L2_CID_AUDIO_LOUDNESS, - .flags = V4L2_CTRL_FLAG_DISABLED, - }, -}; - static int usb_amradio_probe(struct usb_interface *intf, const struct usb_device_id *id); static void usb_amradio_disconnect(struct usb_interface *intf); @@ -160,6 +129,7 @@ struct amradio_device { /* reference to USB and video device */ struct usb_device *usbdev; struct video_device *videodev; + struct v4l2_device v4l2_dev; unsigned char *buffer; struct mutex lock; /* buffer locking */ @@ -332,6 +302,7 @@ static void usb_amradio_disconnect(struct usb_interface *intf) usb_set_intfdata(intf, NULL); video_unregister_device(radio->videodev); + v4l2_device_disconnect(&radio->v4l2_dev); } /* vidioc_querycap - query device capabilities */ @@ -466,14 +437,11 @@ static int vidioc_g_frequency(struct file *file, void *priv, static int vidioc_queryctrl(struct file *file, void *priv, struct v4l2_queryctrl *qc) { - int i; - - for (i = 0; i < ARRAY_SIZE(radio_qctrl); i++) { - if (qc->id && qc->id == radio_qctrl[i].id) { - memcpy(qc, &(radio_qctrl[i]), sizeof(*qc)); - return 0; - } + switch (qc->id) { + case V4L2_CID_AUDIO_MUTE: + return v4l2_ctrl_query_fill(qc, 0, 1, 1, 1); } + return -EINVAL; } @@ -674,34 +642,29 @@ static const struct v4l2_ioctl_ops usb_amradio_ioctl_ops = { .vidioc_s_input = vidioc_s_input, }; -static void usb_amradio_device_release(struct video_device *videodev) +static void usb_amradio_video_device_release(struct video_device *videodev) { struct amradio_device *radio = video_get_drvdata(videodev); /* we call v4l to free radio->videodev */ video_device_release(videodev); + v4l2_device_unregister(&radio->v4l2_dev); + /* free rest memory */ kfree(radio->buffer); kfree(radio); } -/* V4L2 interface */ -static struct video_device amradio_videodev_template = { - .name = "AverMedia MR 800 USB FM Radio", - .fops = &usb_amradio_fops, - .ioctl_ops = &usb_amradio_ioctl_ops, - .release = usb_amradio_device_release, -}; - /* check if the device is present and register with v4l and usb if it is */ static int usb_amradio_probe(struct usb_interface *intf, const struct usb_device_id *id) { struct amradio_device *radio; + struct v4l2_device *v4l2_dev; int retval; - radio = kmalloc(sizeof(struct amradio_device), GFP_KERNEL); + radio = kzalloc(sizeof(struct amradio_device), GFP_KERNEL); if (!radio) { dev_err(&intf->dev, "kmalloc for amradio_device failed\n"); @@ -716,6 +679,15 @@ static int usb_amradio_probe(struct usb_interface *intf, return -ENOMEM; } + v4l2_dev = &radio->v4l2_dev; + retval = v4l2_device_register(&intf->dev, v4l2_dev); + if (retval < 0) { + dev_err(&intf->dev, "couldn't register v4l2_device\n"); + kfree(radio->buffer); + kfree(radio); + return retval; + } + radio->videodev = video_device_alloc(); if (!radio->videodev) { @@ -725,8 +697,11 @@ static int usb_amradio_probe(struct usb_interface *intf, return -ENOMEM; } - memcpy(radio->videodev, &amradio_videodev_template, - sizeof(amradio_videodev_template)); + strlcpy(radio->videodev->name, v4l2_dev->name, sizeof(radio->videodev->name)); + radio->videodev->v4l2_dev = v4l2_dev; + radio->videodev->fops = &usb_amradio_fops; + radio->videodev->ioctl_ops = &usb_amradio_ioctl_ops; + radio->videodev->release = usb_amradio_video_device_release; radio->removed = 0; radio->users = 0; @@ -737,10 +712,12 @@ static int usb_amradio_probe(struct usb_interface *intf, mutex_init(&radio->lock); video_set_drvdata(radio->videodev, radio); + retval = video_register_device(radio->videodev, VFL_TYPE_RADIO, radio_nr); if (retval < 0) { dev_err(&intf->dev, "could not register video device\n"); video_device_release(radio->videodev); + v4l2_device_unregister(v4l2_dev); kfree(radio->buffer); kfree(radio); return -EIO; diff --git a/linux/drivers/media/radio/radio-rtrack2.c b/linux/drivers/media/radio/radio-rtrack2.c index 20153db92..6b02c69f2 100644 --- a/linux/drivers/media/radio/radio-rtrack2.c +++ b/linux/drivers/media/radio/radio-rtrack2.c @@ -261,20 +261,8 @@ static int vidioc_s_audio(struct file *file, void *priv, return a->index ? -EINVAL : 0; } -static int rtrack2_open(struct file *file) -{ - return 0; -} - -static int rtrack2_release(struct file *file) -{ - return 0; -} - static const struct v4l2_file_operations rtrack2_fops = { .owner = THIS_MODULE, - .open = rtrack2_open, - .release = rtrack2_release, .ioctl = video_ioctl2, }; diff --git a/linux/drivers/media/radio/radio-sf16fmi.c b/linux/drivers/media/radio/radio-sf16fmi.c index b517b3671..ae2b3e6a1 100644 --- a/linux/drivers/media/radio/radio-sf16fmi.c +++ b/linux/drivers/media/radio/radio-sf16fmi.c @@ -261,20 +261,8 @@ static int vidioc_s_audio(struct file *file, void *priv, return a->index ? -EINVAL : 0; } -static int fmi_open(struct file *file) -{ - return 0; -} - -static int fmi_release(struct file *file) -{ - return 0; -} - static const struct v4l2_file_operations fmi_fops = { .owner = THIS_MODULE, - .open = fmi_open, - .release = fmi_release, .ioctl = video_ioctl2, }; diff --git a/linux/drivers/media/radio/radio-sf16fmr2.c b/linux/drivers/media/radio/radio-sf16fmr2.c index 65e303dba..bb92b329c 100644 --- a/linux/drivers/media/radio/radio-sf16fmr2.c +++ b/linux/drivers/media/radio/radio-sf16fmr2.c @@ -378,20 +378,8 @@ static int vidioc_s_audio(struct file *file, void *priv, return a->index ? -EINVAL : 0; } -static int fmr2_open(struct file *file) -{ - return 0; -} - -static int fmr2_release(struct file *file) -{ - return 0; -} - static const struct v4l2_file_operations fmr2_fops = { .owner = THIS_MODULE, - .open = fmr2_open, - .release = fmr2_release, .ioctl = video_ioctl2, }; diff --git a/linux/drivers/media/radio/radio-si470x.c b/linux/drivers/media/radio/radio-si470x.c index 599fc0dcf..b4d6641b4 100644 --- a/linux/drivers/media/radio/radio-si470x.c +++ b/linux/drivers/media/radio/radio-si470x.c @@ -1687,7 +1687,7 @@ static int si470x_usb_driver_probe(struct usb_interface *intf, /* show some infos about the specific si470x device */ if (si470x_get_all_registers(radio) < 0) { retval = -EIO; - goto err_all; + goto err_video; } printk(KERN_INFO DRIVER_NAME ": DeviceID=0x%4.4hx ChipID=0x%4.4hx\n", radio->registers[DEVICEID], radio->registers[CHIPID]); @@ -1695,7 +1695,7 @@ static int si470x_usb_driver_probe(struct usb_interface *intf, /* get software and hardware versions */ if (si470x_get_scratch_page_versions(radio) < 0) { retval = -EIO; - goto err_all; + goto err_video; } printk(KERN_INFO DRIVER_NAME ": software version %d, hardware version %d\n", @@ -1728,7 +1728,7 @@ static int si470x_usb_driver_probe(struct usb_interface *intf, radio->buffer = kmalloc(radio->buf_size, GFP_KERNEL); if (!radio->buffer) { retval = -EIO; - goto err_all; + goto err_video; } /* rds buffer configuration */ @@ -1750,8 +1750,9 @@ static int si470x_usb_driver_probe(struct usb_interface *intf, return 0; err_all: - video_device_release(radio->videodev); kfree(radio->buffer); +err_video: + video_device_release(radio->videodev); err_radio: kfree(radio); err_initial: diff --git a/linux/drivers/media/radio/radio-terratec.c b/linux/drivers/media/radio/radio-terratec.c index 0bec5f7e2..3e5436faf 100644 --- a/linux/drivers/media/radio/radio-terratec.c +++ b/linux/drivers/media/radio/radio-terratec.c @@ -333,20 +333,8 @@ static int vidioc_s_audio(struct file *file, void *priv, return a->index ? -EINVAL : 0; } -static int terratec_open(struct file *file) -{ - return 0; -} - -static int terratec_release(struct file *file) -{ - return 0; -} - static const struct v4l2_file_operations terratec_fops = { .owner = THIS_MODULE, - .open = terratec_open, - .release = terratec_release, .ioctl = video_ioctl2, }; diff --git a/linux/drivers/media/radio/radio-trust.c b/linux/drivers/media/radio/radio-trust.c index 8b925adb5..67a462d66 100644 --- a/linux/drivers/media/radio/radio-trust.c +++ b/linux/drivers/media/radio/radio-trust.c @@ -339,20 +339,8 @@ static int vidioc_s_audio(struct file *file, void *priv, return a->index ? -EINVAL : 0; } -static int trust_open(struct file *file) -{ - return 0; -} - -static int trust_release(struct file *file) -{ - return 0; -} - static const struct v4l2_file_operations trust_fops = { .owner = THIS_MODULE, - .open = trust_open, - .release = trust_release, .ioctl = video_ioctl2, }; diff --git a/linux/drivers/media/radio/radio-typhoon.c b/linux/drivers/media/radio/radio-typhoon.c index 98e4ce142..23dece5e4 100644 --- a/linux/drivers/media/radio/radio-typhoon.c +++ b/linux/drivers/media/radio/radio-typhoon.c @@ -315,20 +315,8 @@ static int vidioc_log_status(struct file *file, void *priv) return 0; } -static int typhoon_open(struct file *file) -{ - return 0; -} - -static int typhoon_release(struct file *file) -{ - return 0; -} - static const struct v4l2_file_operations typhoon_fops = { .owner = THIS_MODULE, - .open = typhoon_open, - .release = typhoon_release, .ioctl = video_ioctl2, }; diff --git a/linux/drivers/media/radio/radio-zoltrix.c b/linux/drivers/media/radio/radio-zoltrix.c index 0ae5f0d19..c06fbb4fc 100644 --- a/linux/drivers/media/radio/radio-zoltrix.c +++ b/linux/drivers/media/radio/radio-zoltrix.c @@ -371,21 +371,9 @@ static int vidioc_s_audio(struct file *file, void *priv, return a->index ? -EINVAL : 0; } -static int zoltrix_open(struct file *file) -{ - return 0; -} - -static int zoltrix_release(struct file *file) -{ - return 0; -} - static const struct v4l2_file_operations zoltrix_fops = { .owner = THIS_MODULE, - .open = zoltrix_open, - .release = zoltrix_release, .ioctl = video_ioctl2, }; |