summaryrefslogtreecommitdiff
path: root/linux/include
diff options
context:
space:
mode:
authorGuennadi Liakhovetski <g.liakhovetski@gmx.de>2008-12-18 16:28:54 +0100
committerGuennadi Liakhovetski <g.liakhovetski@gmx.de>2008-12-18 16:28:54 +0100
commitffcb9d5faa4646d9cc1eb76d94fb97beb14e67d7 (patch)
tree3bfcbcfd42e70e69640e97cd77a07b9f7e95992d /linux/include
parent7d538f92603bb1975760b0b9c0b215b8191e4f82 (diff)
downloadmediapointer-dvb-s2-ffcb9d5faa4646d9cc1eb76d94fb97beb14e67d7.tar.gz
mediapointer-dvb-s2-ffcb9d5faa4646d9cc1eb76d94fb97beb14e67d7.tar.bz2
soc-camera: unify locking, play nicer with videobuf locking
From: Guennadi Liakhovetski <lg@denx.de> Move mutex from host drivers to camera device object, take into account videobuf locking. Signed-off-by: Guennadi Liakhovetski <lg@denx.de> --- drivers/media/video/pxa_camera.c | 15 ++--- drivers/media/video/sh_mobile_ceu_camera.c | 9 +-- drivers/media/video/soc_camera.c | 99 +++++++++++++++++++++++----- include/media/soc_camera.h | 8 ++- 4 files changed, 96 insertions(+), 35 deletions(-)
Diffstat (limited to 'linux/include')
-rw-r--r--linux/include/media/soc_camera.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/linux/include/media/soc_camera.h b/linux/include/media/soc_camera.h
index 38b826c60..8bae9a359 100644
--- a/linux/include/media/soc_camera.h
+++ b/linux/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 {