diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-09-05 14:55:59 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-09-05 14:55:59 -0400 |
commit | 27c053aa8d18d1fa7b83041e36bad20bcdf55514 (patch) | |
tree | c59dce17a248dd8f4757eca3823032334c626dcd /drivers/media/v4l2-core/v4l2-dev.c | |
parent | a09e9a7a4b907f2dfa9bdb2b98a1828ab4b340b2 (diff) | |
parent | f66b2a1c7f2ae3fb0d5b67d07ab4f5055fd3cf16 (diff) |
Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
Pull media updates from Mauro Carvalho Chehab:
"This series contains:
- Exynos s5p-mfc driver got support for VP8 encoder
- Some SoC drivers gained support for asynchronous registration
(needed for DT)
- The RC subsystem gained support for RC activity LED;
- New drivers added: a video decoder(adv7842), a video encoder
(adv7511), a new GSPCA driver (stk1135) and support for Renesas
R-Car (vsp1)
- the first SDR kernel driver: mirics msi3101. Due to some troubles
with the driver, and because the API is still under discussion, it
will be merged at staging for 3.12. Need to rework on it
- usual new boards additions, fixes, cleanups and driver
improvements"
* 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (242 commits)
[media] cx88: Fix regression: CX88_AUDIO_WM8775 can't be 0
[media] exynos4-is: Fix entity unregistration on error path
[media] exynos-gsc: Register v4l2 device
[media] exynos4-is: Fix fimc-lite bayer formats
[media] em28xx: fix assignment of the eeprom data
[media] hdpvr: fix iteration over uninitialized lists in hdpvr_probe()
[media] usbtv: Throw corrupted frames away
[media] usbtv: Fix deinterlacing
[media] v4l2: added missing mutex.h include to v4l2-ctrls.h
[media] DocBook: upgrade media_api DocBook version to 4.2
[media] ml86v7667: fix compile warning: 'ret' set but not used
[media] s5p-g2d: Fix registration failure
[media] media: coda: Fix DT driver data pointer for i.MX27
[media] s5p-mfc: Fix input/output format reporting
[media] v4l: vsp1: Fix mutex double lock at streamon time
[media] v4l: vsp1: Add support for RT clock
[media] v4l: vsp1: Initialize media device bus_info field
[media] davinci: vpif_capture: fix error return code in vpif_probe()
[media] davinci: vpif_display: fix error return code in vpif_probe()
[media] MAINTAINERS: add entries for adv7511 and adv7842
...
Diffstat (limited to 'drivers/media/v4l2-core/v4l2-dev.c')
-rw-r--r-- | drivers/media/v4l2-core/v4l2-dev.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/media/v4l2-core/v4l2-dev.c b/drivers/media/v4l2-core/v4l2-dev.c index b0f49b014bc5..b5aaaac427ad 100644 --- a/drivers/media/v4l2-core/v4l2-dev.c +++ b/drivers/media/v4l2-core/v4l2-dev.c | |||
@@ -872,6 +872,7 @@ int __video_register_device(struct video_device *vdev, int type, int nr, | |||
872 | 872 | ||
873 | /* Should not happen since we thought this minor was free */ | 873 | /* Should not happen since we thought this minor was free */ |
874 | WARN_ON(video_device[vdev->minor] != NULL); | 874 | WARN_ON(video_device[vdev->minor] != NULL); |
875 | video_device[vdev->minor] = vdev; | ||
875 | vdev->index = get_index(vdev); | 876 | vdev->index = get_index(vdev); |
876 | mutex_unlock(&videodev_lock); | 877 | mutex_unlock(&videodev_lock); |
877 | 878 | ||
@@ -934,9 +935,6 @@ int __video_register_device(struct video_device *vdev, int type, int nr, | |||
934 | #endif | 935 | #endif |
935 | /* Part 6: Activate this minor. The char device can now be used. */ | 936 | /* Part 6: Activate this minor. The char device can now be used. */ |
936 | set_bit(V4L2_FL_REGISTERED, &vdev->flags); | 937 | set_bit(V4L2_FL_REGISTERED, &vdev->flags); |
937 | mutex_lock(&videodev_lock); | ||
938 | video_device[vdev->minor] = vdev; | ||
939 | mutex_unlock(&videodev_lock); | ||
940 | 938 | ||
941 | return 0; | 939 | return 0; |
942 | 940 | ||
@@ -944,6 +942,7 @@ cleanup: | |||
944 | mutex_lock(&videodev_lock); | 942 | mutex_lock(&videodev_lock); |
945 | if (vdev->cdev) | 943 | if (vdev->cdev) |
946 | cdev_del(vdev->cdev); | 944 | cdev_del(vdev->cdev); |
945 | video_device[vdev->minor] = NULL; | ||
947 | devnode_clear(vdev); | 946 | devnode_clear(vdev); |
948 | mutex_unlock(&videodev_lock); | 947 | mutex_unlock(&videodev_lock); |
949 | /* Mark this video device as never having been registered. */ | 948 | /* Mark this video device as never having been registered. */ |