summaryrefslogtreecommitdiffstats
path: root/include/media
diff options
context:
space:
mode:
authorGuennadi Liakhovetski <lg@denx.de>2008-12-18 12:28:54 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2008-12-30 09:40:22 -0200
commit1c3bb7431d16f7486a8523d54380bad89c485dc8 (patch)
tree89dd8e65f627df726e70de771130398ba73148b3 /include/media
parentbf507158eb27ea94aca300b28ecee60fdbb40007 (diff)
downloadop-kernel-dev-1c3bb7431d16f7486a8523d54380bad89c485dc8.zip
op-kernel-dev-1c3bb7431d16f7486a8523d54380bad89c485dc8.tar.gz
V4L/DVB (10083): soc-camera: unify locking, play nicer with videobuf locking
Move mutex from host drivers to camera device object, take into account videobuf locking. Signed-off-by: Guennadi Liakhovetski <lg@denx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'include/media')
-rw-r--r--include/media/soc_camera.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/include/media/soc_camera.h b/include/media/soc_camera.h
index 38b826c..8bae9a3 100644
--- a/include/media/soc_camera.h
+++ b/include/media/soc_camera.h
@@ -12,9 +12,10 @@
#ifndef SOC_CAMERA_H
#define SOC_CAMERA_H
+#include <linux/mutex.h>
+#include <linux/pm.h>
#include <linux/videodev2.h>
#include <media/videobuf-core.h>
-#include <linux/pm.h>
struct soc_camera_device {
struct list_head list;
@@ -45,9 +46,10 @@ struct soc_camera_device {
struct soc_camera_format_xlate *user_formats;
int num_user_formats;
struct module *owner;
- void *host_priv; /* per-device host private data */
- /* soc_camera.c private count. Only accessed with video_lock held */
+ void *host_priv; /* Per-device host private data */
+ /* soc_camera.c private count. Only accessed with .video_lock held */
int use_count;
+ struct mutex video_lock; /* Protects device data */
};
struct soc_camera_file {
OpenPOWER on IntegriCloud