diff options
author | Hans Verkuil <hverkuil@xs4all.nl> | 2008-08-23 05:23:55 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2008-10-12 07:36:54 -0400 |
commit | aa5e90af7d78d1711f8f4275ce3638817c0023dc (patch) | |
tree | 5faee2ec9fe16d72fba3c729c7a81354dace8fd8 /drivers/media | |
parent | f9e86b5e9d068854a2cf40f8003ef639e80cca6c (diff) |
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: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media')
24 files changed, 36 insertions, 17 deletions
diff --git a/drivers/media/radio/radio-aimslab.c b/drivers/media/radio/radio-aimslab.c index b657c7bb47cc..59fdaf85e41b 100644 --- a/drivers/media/radio/radio-aimslab.c +++ b/drivers/media/radio/radio-aimslab.c | |||
@@ -420,6 +420,7 @@ static struct video_device rtrack_radio = { | |||
420 | .name = "RadioTrack radio", | 420 | .name = "RadioTrack radio", |
421 | .fops = &rtrack_fops, | 421 | .fops = &rtrack_fops, |
422 | .ioctl_ops = &rtrack_ioctl_ops, | 422 | .ioctl_ops = &rtrack_ioctl_ops, |
423 | .release = video_device_release_empty, | ||
423 | }; | 424 | }; |
424 | 425 | ||
425 | static int __init rtrack_init(void) | 426 | static int __init rtrack_init(void) |
diff --git a/drivers/media/radio/radio-aztech.c b/drivers/media/radio/radio-aztech.c index ae18a7cf0d59..ddd96295a9fe 100644 --- a/drivers/media/radio/radio-aztech.c +++ b/drivers/media/radio/radio-aztech.c | |||
@@ -381,9 +381,10 @@ static const struct v4l2_ioctl_ops aztech_ioctl_ops = { | |||
381 | }; | 381 | }; |
382 | 382 | ||
383 | static struct video_device aztech_radio = { | 383 | static struct video_device aztech_radio = { |
384 | .name = "Aztech radio", | 384 | .name = "Aztech radio", |
385 | .fops = &aztech_fops, | 385 | .fops = &aztech_fops, |
386 | .ioctl_ops = &aztech_ioctl_ops, | 386 | .ioctl_ops = &aztech_ioctl_ops, |
387 | .release = video_device_release_empty, | ||
387 | }; | 388 | }; |
388 | 389 | ||
389 | module_param_named(debug,aztech_radio.debug, int, 0644); | 390 | module_param_named(debug,aztech_radio.debug, int, 0644); |
diff --git a/drivers/media/radio/radio-cadet.c b/drivers/media/radio/radio-cadet.c index 04c3698d32e4..0490a1fa999d 100644 --- a/drivers/media/radio/radio-cadet.c +++ b/drivers/media/radio/radio-cadet.c | |||
@@ -589,6 +589,7 @@ static struct video_device cadet_radio = { | |||
589 | .name = "Cadet radio", | 589 | .name = "Cadet radio", |
590 | .fops = &cadet_fops, | 590 | .fops = &cadet_fops, |
591 | .ioctl_ops = &cadet_ioctl_ops, | 591 | .ioctl_ops = &cadet_ioctl_ops, |
592 | .release = video_device_release_empty, | ||
592 | }; | 593 | }; |
593 | 594 | ||
594 | #ifdef CONFIG_PNP | 595 | #ifdef CONFIG_PNP |
diff --git a/drivers/media/radio/radio-gemtek-pci.c b/drivers/media/radio/radio-gemtek-pci.c index a7b9a5df4ca7..d65fd287bde1 100644 --- a/drivers/media/radio/radio-gemtek-pci.c +++ b/drivers/media/radio/radio-gemtek-pci.c | |||
@@ -401,9 +401,10 @@ static const struct v4l2_ioctl_ops gemtek_pci_ioctl_ops = { | |||
401 | }; | 401 | }; |
402 | 402 | ||
403 | static struct video_device vdev_template = { | 403 | static struct video_device vdev_template = { |
404 | .name = "Gemtek PCI Radio", | 404 | .name = "Gemtek PCI Radio", |
405 | .fops = &gemtek_pci_fops, | 405 | .fops = &gemtek_pci_fops, |
406 | .ioctl_ops = &gemtek_pci_ioctl_ops, | 406 | .ioctl_ops = &gemtek_pci_ioctl_ops, |
407 | .release = video_device_release_empty, | ||
407 | }; | 408 | }; |
408 | 409 | ||
409 | static int __devinit gemtek_pci_probe( struct pci_dev *pci_dev, const struct pci_device_id *pci_id ) | 410 | static int __devinit gemtek_pci_probe( struct pci_dev *pci_dev, const struct pci_device_id *pci_id ) |
diff --git a/drivers/media/radio/radio-gemtek.c b/drivers/media/radio/radio-gemtek.c index cc90329026f2..2d991ae2f205 100644 --- a/drivers/media/radio/radio-gemtek.c +++ b/drivers/media/radio/radio-gemtek.c | |||
@@ -581,9 +581,10 @@ static const struct v4l2_ioctl_ops gemtek_ioctl_ops = { | |||
581 | }; | 581 | }; |
582 | 582 | ||
583 | static struct video_device gemtek_radio = { | 583 | static struct video_device gemtek_radio = { |
584 | .name = "GemTek Radio card", | 584 | .name = "GemTek Radio card", |
585 | .fops = &gemtek_fops, | 585 | .fops = &gemtek_fops, |
586 | .ioctl_ops = &gemtek_ioctl_ops, | 586 | .ioctl_ops = &gemtek_ioctl_ops, |
587 | .release = video_device_release_empty, | ||
587 | }; | 588 | }; |
588 | 589 | ||
589 | /* | 590 | /* |
diff --git a/drivers/media/radio/radio-maestro.c b/drivers/media/radio/radio-maestro.c index 03c20948eef2..182b433981ca 100644 --- a/drivers/media/radio/radio-maestro.c +++ b/drivers/media/radio/radio-maestro.c | |||
@@ -388,6 +388,7 @@ static struct video_device maestro_radio = { | |||
388 | .name = "Maestro radio", | 388 | .name = "Maestro radio", |
389 | .fops = &maestro_fops, | 389 | .fops = &maestro_fops, |
390 | .ioctl_ops = &maestro_ioctl_ops, | 390 | .ioctl_ops = &maestro_ioctl_ops, |
391 | .release = video_device_release, | ||
391 | }; | 392 | }; |
392 | 393 | ||
393 | static int __devinit maestro_probe(struct pci_dev *pdev, | 394 | static int __devinit maestro_probe(struct pci_dev *pdev, |
diff --git a/drivers/media/radio/radio-maxiradio.c b/drivers/media/radio/radio-maxiradio.c index 263ef8b02fd8..4e2e8a3d9b5f 100644 --- a/drivers/media/radio/radio-maxiradio.c +++ b/drivers/media/radio/radio-maxiradio.c | |||
@@ -402,9 +402,10 @@ static const struct v4l2_ioctl_ops maxiradio_ioctl_ops = { | |||
402 | }; | 402 | }; |
403 | 403 | ||
404 | static struct video_device maxiradio_radio = { | 404 | static struct video_device maxiradio_radio = { |
405 | .name = "Maxi Radio FM2000 radio", | 405 | .name = "Maxi Radio FM2000 radio", |
406 | .fops = &maxiradio_fops, | 406 | .fops = &maxiradio_fops, |
407 | .ioctl_ops = &maxiradio_ioctl_ops, | 407 | .ioctl_ops = &maxiradio_ioctl_ops, |
408 | .release = video_device_release_empty, | ||
408 | }; | 409 | }; |
409 | 410 | ||
410 | static int __devinit maxiradio_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) | 411 | static int __devinit maxiradio_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) |
diff --git a/drivers/media/radio/radio-rtrack2.c b/drivers/media/radio/radio-rtrack2.c index 5b93b47be714..8fe820da73e8 100644 --- a/drivers/media/radio/radio-rtrack2.c +++ b/drivers/media/radio/radio-rtrack2.c | |||
@@ -326,6 +326,7 @@ static struct video_device rtrack2_radio = { | |||
326 | .name = "RadioTrack II radio", | 326 | .name = "RadioTrack II radio", |
327 | .fops = &rtrack2_fops, | 327 | .fops = &rtrack2_fops, |
328 | .ioctl_ops = &rtrack2_ioctl_ops, | 328 | .ioctl_ops = &rtrack2_ioctl_ops, |
329 | .release = video_device_release_empty, | ||
329 | }; | 330 | }; |
330 | 331 | ||
331 | static int __init rtrack2_init(void) | 332 | static int __init rtrack2_init(void) |
diff --git a/drivers/media/radio/radio-sf16fmi.c b/drivers/media/radio/radio-sf16fmi.c index 55f8334513f3..6d865a7a91ec 100644 --- a/drivers/media/radio/radio-sf16fmi.c +++ b/drivers/media/radio/radio-sf16fmi.c | |||
@@ -326,6 +326,7 @@ static struct video_device fmi_radio = { | |||
326 | .name = "SF16FMx radio", | 326 | .name = "SF16FMx radio", |
327 | .fops = &fmi_fops, | 327 | .fops = &fmi_fops, |
328 | .ioctl_ops = &fmi_ioctl_ops, | 328 | .ioctl_ops = &fmi_ioctl_ops, |
329 | .release = video_device_release_empty, | ||
329 | }; | 330 | }; |
330 | 331 | ||
331 | /* ladis: this is my card. does any other types exist? */ | 332 | /* ladis: this is my card. does any other types exist? */ |
diff --git a/drivers/media/radio/radio-sf16fmr2.c b/drivers/media/radio/radio-sf16fmr2.c index 14153ed939d0..9625d1f0194e 100644 --- a/drivers/media/radio/radio-sf16fmr2.c +++ b/drivers/media/radio/radio-sf16fmr2.c | |||
@@ -442,6 +442,7 @@ static struct video_device fmr2_radio = { | |||
442 | .name = "SF16FMR2 radio", | 442 | .name = "SF16FMR2 radio", |
443 | .fops = &fmr2_fops, | 443 | .fops = &fmr2_fops, |
444 | .ioctl_ops = &fmr2_ioctl_ops, | 444 | .ioctl_ops = &fmr2_ioctl_ops, |
445 | .release = video_device_release_empty, | ||
445 | }; | 446 | }; |
446 | 447 | ||
447 | static int __init fmr2_init(void) | 448 | static int __init fmr2_init(void) |
diff --git a/drivers/media/radio/radio-terratec.c b/drivers/media/radio/radio-terratec.c index eed14972a940..de13ec81ce49 100644 --- a/drivers/media/radio/radio-terratec.c +++ b/drivers/media/radio/radio-terratec.c | |||
@@ -398,6 +398,7 @@ static struct video_device terratec_radio = { | |||
398 | .name = "TerraTec ActiveRadio", | 398 | .name = "TerraTec ActiveRadio", |
399 | .fops = &terratec_fops, | 399 | .fops = &terratec_fops, |
400 | .ioctl_ops = &terratec_ioctl_ops, | 400 | .ioctl_ops = &terratec_ioctl_ops, |
401 | .release = video_device_release_empty, | ||
401 | }; | 402 | }; |
402 | 403 | ||
403 | static int __init terratec_init(void) | 404 | static int __init terratec_init(void) |
diff --git a/drivers/media/radio/radio-trust.c b/drivers/media/radio/radio-trust.c index dd0c425ef3b8..e7b111fcd105 100644 --- a/drivers/media/radio/radio-trust.c +++ b/drivers/media/radio/radio-trust.c | |||
@@ -378,6 +378,7 @@ static struct video_device trust_radio = { | |||
378 | .name = "Trust FM Radio", | 378 | .name = "Trust FM Radio", |
379 | .fops = &trust_fops, | 379 | .fops = &trust_fops, |
380 | .ioctl_ops = &trust_ioctl_ops, | 380 | .ioctl_ops = &trust_ioctl_ops, |
381 | .release = video_device_release_empty, | ||
381 | }; | 382 | }; |
382 | 383 | ||
383 | static int __init trust_init(void) | 384 | static int __init trust_init(void) |
diff --git a/drivers/media/radio/radio-typhoon.c b/drivers/media/radio/radio-typhoon.c index 878468507237..c2eedb7a73a5 100644 --- a/drivers/media/radio/radio-typhoon.c +++ b/drivers/media/radio/radio-typhoon.c | |||
@@ -375,6 +375,7 @@ static struct video_device typhoon_radio = { | |||
375 | .name = "Typhoon Radio", | 375 | .name = "Typhoon Radio", |
376 | .fops = &typhoon_fops, | 376 | .fops = &typhoon_fops, |
377 | .ioctl_ops = &typhoon_ioctl_ops, | 377 | .ioctl_ops = &typhoon_ioctl_ops, |
378 | .release = video_device_release_empty, | ||
378 | }; | 379 | }; |
379 | 380 | ||
380 | #ifdef CONFIG_RADIO_TYPHOON_PROC_FS | 381 | #ifdef CONFIG_RADIO_TYPHOON_PROC_FS |
diff --git a/drivers/media/radio/radio-zoltrix.c b/drivers/media/radio/radio-zoltrix.c index 4d76e710194b..0d43e8401eb5 100644 --- a/drivers/media/radio/radio-zoltrix.c +++ b/drivers/media/radio/radio-zoltrix.c | |||
@@ -439,6 +439,7 @@ static struct video_device zoltrix_radio = { | |||
439 | .name = "Zoltrix Radio Plus", | 439 | .name = "Zoltrix Radio Plus", |
440 | .fops = &zoltrix_fops, | 440 | .fops = &zoltrix_fops, |
441 | .ioctl_ops = &zoltrix_ioctl_ops, | 441 | .ioctl_ops = &zoltrix_ioctl_ops, |
442 | .release = video_device_release_empty, | ||
442 | }; | 443 | }; |
443 | 444 | ||
444 | static int __init zoltrix_init(void) | 445 | static int __init zoltrix_init(void) |
diff --git a/drivers/media/video/bw-qcam.c b/drivers/media/video/bw-qcam.c index e8e1bb122b59..ace4ff9ea023 100644 --- a/drivers/media/video/bw-qcam.c +++ b/drivers/media/video/bw-qcam.c | |||
@@ -926,6 +926,7 @@ static struct video_device qcam_template= | |||
926 | { | 926 | { |
927 | .name = "Connectix Quickcam", | 927 | .name = "Connectix Quickcam", |
928 | .fops = &qcam_fops, | 928 | .fops = &qcam_fops, |
929 | .release = video_device_release_empty, | ||
929 | }; | 930 | }; |
930 | 931 | ||
931 | #define MAX_CAMS 4 | 932 | #define MAX_CAMS 4 |
diff --git a/drivers/media/video/c-qcam.c b/drivers/media/video/c-qcam.c index 2196c1dc5aee..17aa0adb3467 100644 --- a/drivers/media/video/c-qcam.c +++ b/drivers/media/video/c-qcam.c | |||
@@ -722,6 +722,7 @@ static struct video_device qcam_template= | |||
722 | { | 722 | { |
723 | .name = "Colour QuickCam", | 723 | .name = "Colour QuickCam", |
724 | .fops = &qcam_fops, | 724 | .fops = &qcam_fops, |
725 | .release = video_device_release_empty, | ||
725 | }; | 726 | }; |
726 | 727 | ||
727 | /* Initialize the QuickCam driver control structure. */ | 728 | /* Initialize the QuickCam driver control structure. */ |
diff --git a/drivers/media/video/cpia.c b/drivers/media/video/cpia.c index a661800b0e69..c0600fdbfc6f 100644 --- a/drivers/media/video/cpia.c +++ b/drivers/media/video/cpia.c | |||
@@ -3801,6 +3801,7 @@ static const struct file_operations cpia_fops = { | |||
3801 | static struct video_device cpia_template = { | 3801 | static struct video_device cpia_template = { |
3802 | .name = "CPiA Camera", | 3802 | .name = "CPiA Camera", |
3803 | .fops = &cpia_fops, | 3803 | .fops = &cpia_fops, |
3804 | .release = video_device_release_empty, | ||
3804 | }; | 3805 | }; |
3805 | 3806 | ||
3806 | /* initialise cam_data structure */ | 3807 | /* initialise cam_data structure */ |
diff --git a/drivers/media/video/pms.c b/drivers/media/video/pms.c index b39794f0baf5..994807818aa2 100644 --- a/drivers/media/video/pms.c +++ b/drivers/media/video/pms.c | |||
@@ -915,6 +915,7 @@ static struct video_device pms_template= | |||
915 | { | 915 | { |
916 | .name = "Mediavision PMS", | 916 | .name = "Mediavision PMS", |
917 | .fops = &pms_fops, | 917 | .fops = &pms_fops, |
918 | .release = video_device_release_empty, | ||
918 | }; | 919 | }; |
919 | 920 | ||
920 | static struct pms_device pms_device; | 921 | static struct pms_device pms_device; |
diff --git a/drivers/media/video/saa5249.c b/drivers/media/video/saa5249.c index dfd8a9338c55..225117c789ca 100644 --- a/drivers/media/video/saa5249.c +++ b/drivers/media/video/saa5249.c | |||
@@ -708,6 +708,7 @@ static struct video_device saa_template = | |||
708 | { | 708 | { |
709 | .name = IF_NAME, | 709 | .name = IF_NAME, |
710 | .fops = &saa_fops, | 710 | .fops = &saa_fops, |
711 | .release = video_device_release, | ||
711 | }; | 712 | }; |
712 | 713 | ||
713 | MODULE_LICENSE("GPL"); | 714 | MODULE_LICENSE("GPL"); |
diff --git a/drivers/media/video/se401.c b/drivers/media/video/se401.c index d16bbf0d2783..b01f25d72922 100644 --- a/drivers/media/video/se401.c +++ b/drivers/media/video/se401.c | |||
@@ -1236,6 +1236,7 @@ static const struct file_operations se401_fops = { | |||
1236 | static struct video_device se401_template = { | 1236 | static struct video_device se401_template = { |
1237 | .name = "se401 USB camera", | 1237 | .name = "se401 USB camera", |
1238 | .fops = &se401_fops, | 1238 | .fops = &se401_fops, |
1239 | .release = video_device_release_empty, | ||
1239 | }; | 1240 | }; |
1240 | 1241 | ||
1241 | 1242 | ||
diff --git a/drivers/media/video/stradis.c b/drivers/media/video/stradis.c index a3cbe9be3c15..bbad54f85c83 100644 --- a/drivers/media/video/stradis.c +++ b/drivers/media/video/stradis.c | |||
@@ -1925,6 +1925,7 @@ static struct video_device saa_template = { | |||
1925 | .name = "SAA7146A", | 1925 | .name = "SAA7146A", |
1926 | .fops = &saa_fops, | 1926 | .fops = &saa_fops, |
1927 | .minor = -1, | 1927 | .minor = -1, |
1928 | .release = video_device_release_empty, | ||
1928 | }; | 1929 | }; |
1929 | 1930 | ||
1930 | static int __devinit configure_saa7146(struct pci_dev *pdev, int num) | 1931 | static int __devinit configure_saa7146(struct pci_dev *pdev, int num) |
diff --git a/drivers/media/video/usbvideo/usbvideo.c b/drivers/media/video/usbvideo/usbvideo.c index 6b1b2003a65c..9569e8ced4b4 100644 --- a/drivers/media/video/usbvideo/usbvideo.c +++ b/drivers/media/video/usbvideo/usbvideo.c | |||
@@ -1006,10 +1006,6 @@ allocate_done: | |||
1006 | 1006 | ||
1007 | EXPORT_SYMBOL(usbvideo_AllocateDevice); | 1007 | EXPORT_SYMBOL(usbvideo_AllocateDevice); |
1008 | 1008 | ||
1009 | static void usbvideo_dummy_release(struct video_device *vfd) | ||
1010 | { | ||
1011 | } | ||
1012 | |||
1013 | int usbvideo_RegisterVideoDevice(struct uvd *uvd) | 1009 | int usbvideo_RegisterVideoDevice(struct uvd *uvd) |
1014 | { | 1010 | { |
1015 | char tmp1[20], tmp2[20]; /* Buffers for printing */ | 1011 | char tmp1[20], tmp2[20]; /* Buffers for printing */ |
@@ -1043,7 +1039,7 @@ int usbvideo_RegisterVideoDevice(struct uvd *uvd) | |||
1043 | return -EINVAL; | 1039 | return -EINVAL; |
1044 | } | 1040 | } |
1045 | uvd->vdev.parent = &uvd->dev->dev; | 1041 | uvd->vdev.parent = &uvd->dev->dev; |
1046 | uvd->vdev.release = usbvideo_dummy_release; | 1042 | uvd->vdev.release = video_device_release_empty; |
1047 | if (video_register_device(&uvd->vdev, VFL_TYPE_GRABBER, video_nr) < 0) { | 1043 | if (video_register_device(&uvd->vdev, VFL_TYPE_GRABBER, video_nr) < 0) { |
1048 | err("%s: video_register_device failed", __func__); | 1044 | err("%s: video_register_device failed", __func__); |
1049 | return -EPIPE; | 1045 | return -EPIPE; |
diff --git a/drivers/media/video/usbvideo/vicam.c b/drivers/media/video/usbvideo/vicam.c index efb878a7402e..d7728256f295 100644 --- a/drivers/media/video/usbvideo/vicam.c +++ b/drivers/media/video/usbvideo/vicam.c | |||
@@ -801,6 +801,7 @@ static struct video_device vicam_template = { | |||
801 | .name = "ViCam-based USB Camera", | 801 | .name = "ViCam-based USB Camera", |
802 | .fops = &vicam_fops, | 802 | .fops = &vicam_fops, |
803 | .minor = -1, | 803 | .minor = -1, |
804 | .release = video_device_release_empty, | ||
804 | }; | 805 | }; |
805 | 806 | ||
806 | /* table of devices that work with this driver */ | 807 | /* table of devices that work with this driver */ |
diff --git a/drivers/media/video/w9966.c b/drivers/media/video/w9966.c index c635cffb1fb8..e3580119640f 100644 --- a/drivers/media/video/w9966.c +++ b/drivers/media/video/w9966.c | |||
@@ -216,6 +216,7 @@ static const struct file_operations w9966_fops = { | |||
216 | static struct video_device w9966_template = { | 216 | static struct video_device w9966_template = { |
217 | .name = W9966_DRIVERNAME, | 217 | .name = W9966_DRIVERNAME, |
218 | .fops = &w9966_fops, | 218 | .fops = &w9966_fops, |
219 | .release = video_device_release_empty, | ||
219 | }; | 220 | }; |
220 | 221 | ||
221 | /* | 222 | /* |