diff options
Diffstat (limited to 'include/media/soc_camera.h')
-rw-r--r-- | include/media/soc_camera.h | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/include/media/soc_camera.h b/include/media/soc_camera.h index 6a8c8be7a1ae..1de98f150e99 100644 --- a/include/media/soc_camera.h +++ b/include/media/soc_camera.h | |||
@@ -13,7 +13,7 @@ | |||
13 | #define SOC_CAMERA_H | 13 | #define SOC_CAMERA_H |
14 | 14 | ||
15 | #include <linux/videodev2.h> | 15 | #include <linux/videodev2.h> |
16 | #include <media/videobuf-dma-sg.h> | 16 | #include <media/videobuf-core.h> |
17 | 17 | ||
18 | struct soc_camera_device { | 18 | struct soc_camera_device { |
19 | struct list_head list; | 19 | struct list_head list; |
@@ -48,15 +48,12 @@ struct soc_camera_device { | |||
48 | struct soc_camera_file { | 48 | struct soc_camera_file { |
49 | struct soc_camera_device *icd; | 49 | struct soc_camera_device *icd; |
50 | struct videobuf_queue vb_vidq; | 50 | struct videobuf_queue vb_vidq; |
51 | spinlock_t *lock; | ||
52 | }; | 51 | }; |
53 | 52 | ||
54 | struct soc_camera_host { | 53 | struct soc_camera_host { |
55 | struct list_head list; | 54 | struct list_head list; |
56 | struct device dev; | 55 | struct device dev; |
57 | unsigned char nr; /* Host number */ | 56 | unsigned char nr; /* Host number */ |
58 | size_t msize; | ||
59 | struct videobuf_queue_ops *vbq_ops; | ||
60 | void *priv; | 57 | void *priv; |
61 | char *drv_name; | 58 | char *drv_name; |
62 | struct soc_camera_host_ops *ops; | 59 | struct soc_camera_host_ops *ops; |
@@ -69,13 +66,13 @@ struct soc_camera_host_ops { | |||
69 | int (*set_fmt_cap)(struct soc_camera_device *, __u32, | 66 | int (*set_fmt_cap)(struct soc_camera_device *, __u32, |
70 | struct v4l2_rect *); | 67 | struct v4l2_rect *); |
71 | int (*try_fmt_cap)(struct soc_camera_device *, struct v4l2_format *); | 68 | int (*try_fmt_cap)(struct soc_camera_device *, struct v4l2_format *); |
69 | void (*init_videobuf)(struct videobuf_queue *, | ||
70 | struct soc_camera_device *); | ||
72 | int (*reqbufs)(struct soc_camera_file *, struct v4l2_requestbuffers *); | 71 | int (*reqbufs)(struct soc_camera_file *, struct v4l2_requestbuffers *); |
73 | int (*querycap)(struct soc_camera_host *, struct v4l2_capability *); | 72 | int (*querycap)(struct soc_camera_host *, struct v4l2_capability *); |
74 | int (*try_bus_param)(struct soc_camera_device *, __u32); | 73 | int (*try_bus_param)(struct soc_camera_device *, __u32); |
75 | int (*set_bus_param)(struct soc_camera_device *, __u32); | 74 | int (*set_bus_param)(struct soc_camera_device *, __u32); |
76 | unsigned int (*poll)(struct file *, poll_table *); | 75 | unsigned int (*poll)(struct file *, poll_table *); |
77 | spinlock_t* (*spinlock_alloc)(struct soc_camera_file *); | ||
78 | void (*spinlock_free)(spinlock_t *); | ||
79 | }; | 76 | }; |
80 | 77 | ||
81 | struct soc_camera_link { | 78 | struct soc_camera_link { |
@@ -156,11 +153,12 @@ static inline struct v4l2_queryctrl const *soc_camera_find_qctrl( | |||
156 | #define SOCAM_DATAWIDTH_8 (1 << 6) | 153 | #define SOCAM_DATAWIDTH_8 (1 << 6) |
157 | #define SOCAM_DATAWIDTH_9 (1 << 7) | 154 | #define SOCAM_DATAWIDTH_9 (1 << 7) |
158 | #define SOCAM_DATAWIDTH_10 (1 << 8) | 155 | #define SOCAM_DATAWIDTH_10 (1 << 8) |
159 | #define SOCAM_PCLK_SAMPLE_RISING (1 << 9) | 156 | #define SOCAM_DATAWIDTH_16 (1 << 9) |
160 | #define SOCAM_PCLK_SAMPLE_FALLING (1 << 10) | 157 | #define SOCAM_PCLK_SAMPLE_RISING (1 << 10) |
158 | #define SOCAM_PCLK_SAMPLE_FALLING (1 << 11) | ||
161 | 159 | ||
162 | #define SOCAM_DATAWIDTH_MASK (SOCAM_DATAWIDTH_8 | SOCAM_DATAWIDTH_9 | \ | 160 | #define SOCAM_DATAWIDTH_MASK (SOCAM_DATAWIDTH_8 | SOCAM_DATAWIDTH_9 | \ |
163 | SOCAM_DATAWIDTH_10) | 161 | SOCAM_DATAWIDTH_10 | SOCAM_DATAWIDTH_16) |
164 | 162 | ||
165 | static inline unsigned long soc_camera_bus_param_compatible( | 163 | static inline unsigned long soc_camera_bus_param_compatible( |
166 | unsigned long camera_flags, unsigned long bus_flags) | 164 | unsigned long camera_flags, unsigned long bus_flags) |