diff options
author | Magnus Damm <magnus.damm@gmail.com> | 2008-07-11 22:59:34 +0200 |
---|---|---|
committer | Magnus Damm <magnus.damm@gmail.com> | 2008-07-11 22:59:34 +0200 |
commit | a7076d98ab8ab8732e18b4dfa844bb32a2bcdefa (patch) | |
tree | d8b09495c6c40c4fbb46feba6186621508f39672 /linux/include/media | |
parent | aeba0c614e8105f2a9cbf77ff44e622e7949caba (diff) | |
download | mediapointer-dvb-s2-a7076d98ab8ab8732e18b4dfa844bb32a2bcdefa.tar.gz mediapointer-dvb-s2-a7076d98ab8ab8732e18b4dfa844bb32a2bcdefa.tar.bz2 |
soc_camera: Move spinlocks
This patch moves the spinlock handling from soc_camera.c to the actual
camera host driver. The spinlock_alloc/free callbacks are replaced with
code in init_videobuf(). So far all camera host drivers implement their
own spinlock_alloc/free methods anyway, and videobuf_queue_core_init()
BUGs on a NULL spinlock argument, so, new camera host drivers will not
forget to provide a spinlock when initialising their videobuf queues.
Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>
---
drivers/media/video/pxa_camera.c | 17 ++++------------
drivers/media/video/soc_camera.c | 39 --------------------------------------
include/media/soc_camera.h | 5 ----
3 files changed, 7 insertions(+), 54 deletions(-)
Diffstat (limited to 'linux/include/media')
-rw-r--r-- | linux/include/media/soc_camera.h | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/linux/include/media/soc_camera.h b/linux/include/media/soc_camera.h index b204c0dee..bae160213 100644 --- a/linux/include/media/soc_camera.h +++ b/linux/include/media/soc_camera.h @@ -48,7 +48,6 @@ struct soc_camera_device { struct soc_camera_file { struct soc_camera_device *icd; struct videobuf_queue vb_vidq; - spinlock_t *lock; }; struct soc_camera_host { @@ -67,15 +66,13 @@ struct soc_camera_host_ops { int (*set_fmt_cap)(struct soc_camera_device *, __u32, struct v4l2_rect *); int (*try_fmt_cap)(struct soc_camera_device *, struct v4l2_format *); - void (*init_videobuf)(struct videobuf_queue*, spinlock_t *, + void (*init_videobuf)(struct videobuf_queue *, struct soc_camera_device *); int (*reqbufs)(struct soc_camera_file *, struct v4l2_requestbuffers *); int (*querycap)(struct soc_camera_host *, struct v4l2_capability *); int (*try_bus_param)(struct soc_camera_device *, __u32); int (*set_bus_param)(struct soc_camera_device *, __u32); unsigned int (*poll)(struct file *, poll_table *); - spinlock_t* (*spinlock_alloc)(struct soc_camera_file *); - void (*spinlock_free)(spinlock_t *); }; struct soc_camera_link { |