diff options
author | Mauro Carvalho Chehab <mchehab@s-opensource.com> | 2016-07-22 06:27:06 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@s-opensource.com> | 2016-07-23 07:04:21 -0400 |
commit | 9d4ee1ad925ffc77fe3b8d6f6a188c54d65af5dc (patch) | |
tree | f4895bf715a91f731a90cbd3277a8f9e38629aaa | |
parent | 8f511fc4a32dba7451c4b9e6e82cfec881d9e67f (diff) |
[media] v4l2-event.h: document all functions
Several functions weren't documented. Document them all.
While here, makes checkpatch.pl happy.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
-rw-r--r-- | include/media/v4l2-event.h | 125 |
1 files changed, 113 insertions, 12 deletions
diff --git a/include/media/v4l2-event.h b/include/media/v4l2-event.h index 9792f906423b..ca854203b8b9 100644 --- a/include/media/v4l2-event.h +++ b/include/media/v4l2-event.h | |||
@@ -73,14 +73,15 @@ struct video_device; | |||
73 | * @list: List node for the v4l2_fh->available list. | 73 | * @list: List node for the v4l2_fh->available list. |
74 | * @sev: Pointer to parent v4l2_subscribed_event. | 74 | * @sev: Pointer to parent v4l2_subscribed_event. |
75 | * @event: The event itself. | 75 | * @event: The event itself. |
76 | */ | 76 | */ |
77 | struct v4l2_kevent { | 77 | struct v4l2_kevent { |
78 | struct list_head list; | 78 | struct list_head list; |
79 | struct v4l2_subscribed_event *sev; | 79 | struct v4l2_subscribed_event *sev; |
80 | struct v4l2_event event; | 80 | struct v4l2_event event; |
81 | }; | 81 | }; |
82 | 82 | ||
83 | /** struct v4l2_subscribed_event_ops - Subscribed event operations. | 83 | /** |
84 | * struct v4l2_subscribed_event_ops - Subscribed event operations. | ||
84 | * | 85 | * |
85 | * @add: Optional callback, called when a new listener is added | 86 | * @add: Optional callback, called when a new listener is added |
86 | * @del: Optional callback, called when a listener stops listening | 87 | * @del: Optional callback, called when a listener stops listening |
@@ -88,20 +89,23 @@ struct v4l2_kevent { | |||
88 | * @merge: Optional callback that can merge event 'old' into event 'new'. | 89 | * @merge: Optional callback that can merge event 'old' into event 'new'. |
89 | */ | 90 | */ |
90 | struct v4l2_subscribed_event_ops { | 91 | struct v4l2_subscribed_event_ops { |
91 | int (*add)(struct v4l2_subscribed_event *sev, unsigned elems); | 92 | int (*add)(struct v4l2_subscribed_event *sev, unsigned int elems); |
92 | void (*del)(struct v4l2_subscribed_event *sev); | 93 | void (*del)(struct v4l2_subscribed_event *sev); |
93 | void (*replace)(struct v4l2_event *old, const struct v4l2_event *new); | 94 | void (*replace)(struct v4l2_event *old, const struct v4l2_event *new); |
94 | void (*merge)(const struct v4l2_event *old, struct v4l2_event *new); | 95 | void (*merge)(const struct v4l2_event *old, struct v4l2_event *new); |
95 | }; | 96 | }; |
96 | 97 | ||
97 | /** | 98 | /** |
98 | * struct v4l2_subscribed_event - Internal struct representing a subscribed event. | 99 | * struct v4l2_subscribed_event - Internal struct representing a subscribed |
100 | * event. | ||
101 | * | ||
99 | * @list: List node for the v4l2_fh->subscribed list. | 102 | * @list: List node for the v4l2_fh->subscribed list. |
100 | * @type: Event type. | 103 | * @type: Event type. |
101 | * @id: Associated object ID (e.g. control ID). 0 if there isn't any. | 104 | * @id: Associated object ID (e.g. control ID). 0 if there isn't any. |
102 | * @flags: Copy of v4l2_event_subscription->flags. | 105 | * @flags: Copy of v4l2_event_subscription->flags. |
103 | * @fh: Filehandle that subscribed to this event. | 106 | * @fh: Filehandle that subscribed to this event. |
104 | * @node: List node that hooks into the object's event list (if there is one). | 107 | * @node: List node that hooks into the object's event list |
108 | * (if there is one). | ||
105 | * @ops: v4l2_subscribed_event_ops | 109 | * @ops: v4l2_subscribed_event_ops |
106 | * @elems: The number of elements in the events array. | 110 | * @elems: The number of elements in the events array. |
107 | * @first: The index of the events containing the oldest available event. | 111 | * @first: The index of the events containing the oldest available event. |
@@ -116,27 +120,124 @@ struct v4l2_subscribed_event { | |||
116 | struct v4l2_fh *fh; | 120 | struct v4l2_fh *fh; |
117 | struct list_head node; | 121 | struct list_head node; |
118 | const struct v4l2_subscribed_event_ops *ops; | 122 | const struct v4l2_subscribed_event_ops *ops; |
119 | unsigned elems; | 123 | unsigned int elems; |
120 | unsigned first; | 124 | unsigned int first; |
121 | unsigned in_use; | 125 | unsigned int in_use; |
122 | struct v4l2_kevent events[]; | 126 | struct v4l2_kevent events[]; |
123 | }; | 127 | }; |
124 | 128 | ||
129 | /** | ||
130 | * v4l2_event_dequeue - Dequeue events from video device. | ||
131 | * | ||
132 | * @fh: pointer to struct v4l2_fh | ||
133 | * @event: pointer to struct v4l2_event | ||
134 | * @nonblocking: if not zero, waits for an event to arrive | ||
135 | */ | ||
125 | int v4l2_event_dequeue(struct v4l2_fh *fh, struct v4l2_event *event, | 136 | int v4l2_event_dequeue(struct v4l2_fh *fh, struct v4l2_event *event, |
126 | int nonblocking); | 137 | int nonblocking); |
138 | |||
139 | /** | ||
140 | * v4l2_event_queue - Queue events to video device. | ||
141 | * | ||
142 | * @vdev: pointer to &struct video_device | ||
143 | * @ev: pointer to &struct v4l2_event | ||
144 | * | ||
145 | * The event will be queued for all &struct v4l2_fh file handlers. | ||
146 | * | ||
147 | * .. note:: | ||
148 | * The driver's only responsibility is to fill in the type and the data | ||
149 | * fields.The other fields will be filled in by V4L2. | ||
150 | */ | ||
127 | void v4l2_event_queue(struct video_device *vdev, const struct v4l2_event *ev); | 151 | void v4l2_event_queue(struct video_device *vdev, const struct v4l2_event *ev); |
152 | |||
153 | /** | ||
154 | * v4l2_event_queue_fh - Queue events to video device. | ||
155 | * | ||
156 | * @fh: pointer to &struct v4l2_fh | ||
157 | * @ev: pointer to &struct v4l2_event | ||
158 | * | ||
159 | * | ||
160 | * The event will be queued only for the specified &struct v4l2_fh file handler. | ||
161 | * | ||
162 | * .. note:: | ||
163 | * The driver's only responsibility is to fill in the type and the data | ||
164 | * fields.The other fields will be filled in by V4L2. | ||
165 | */ | ||
128 | void v4l2_event_queue_fh(struct v4l2_fh *fh, const struct v4l2_event *ev); | 166 | void v4l2_event_queue_fh(struct v4l2_fh *fh, const struct v4l2_event *ev); |
167 | |||
168 | /** | ||
169 | * v4l2_event_pending - Check if an event is available | ||
170 | * | ||
171 | * @fh: pointer to &struct v4l2_fh | ||
172 | * | ||
173 | * Returns the number of pending events. | ||
174 | */ | ||
129 | int v4l2_event_pending(struct v4l2_fh *fh); | 175 | int v4l2_event_pending(struct v4l2_fh *fh); |
176 | |||
177 | /** | ||
178 | * v4l2_event_subscribe - Subscribes to an event | ||
179 | * | ||
180 | * @fh: pointer to &struct v4l2_fh | ||
181 | * @sub: pointer to &struct v4l2_event_subscription | ||
182 | * @elems: size of the events queue | ||
183 | * @ops: pointer to &v4l2_subscribed_event_ops | ||
184 | * | ||
185 | * .. note:: | ||
186 | * | ||
187 | * if @elems is zero, the framework will fill in a default value, | ||
188 | * with is currently 1 element. | ||
189 | */ | ||
130 | int v4l2_event_subscribe(struct v4l2_fh *fh, | 190 | int v4l2_event_subscribe(struct v4l2_fh *fh, |
131 | const struct v4l2_event_subscription *sub, unsigned elems, | 191 | const struct v4l2_event_subscription *sub, |
192 | unsigned int elems, | ||
132 | const struct v4l2_subscribed_event_ops *ops); | 193 | const struct v4l2_subscribed_event_ops *ops); |
194 | /** | ||
195 | * v4l2_event_unsubscribe - Unsubscribes to an event | ||
196 | * | ||
197 | * @fh: pointer to &struct v4l2_fh | ||
198 | * @sub: pointer to &struct v4l2_event_subscription | ||
199 | */ | ||
133 | int v4l2_event_unsubscribe(struct v4l2_fh *fh, | 200 | int v4l2_event_unsubscribe(struct v4l2_fh *fh, |
134 | const struct v4l2_event_subscription *sub); | 201 | const struct v4l2_event_subscription *sub); |
202 | /** | ||
203 | * v4l2_event_unsubscribe_all - Unsubscribes to all events | ||
204 | * | ||
205 | * @fh: pointer to &struct v4l2_fh | ||
206 | */ | ||
135 | void v4l2_event_unsubscribe_all(struct v4l2_fh *fh); | 207 | void v4l2_event_unsubscribe_all(struct v4l2_fh *fh); |
136 | int v4l2_event_subdev_unsubscribe(struct v4l2_subdev *sd, struct v4l2_fh *fh, | 208 | |
209 | /** | ||
210 | * v4l2_event_subdev_unsubscribe - Subdev variant of v4l2_event_unsubscribe() | ||
211 | * | ||
212 | * @sd: pointer to &struct v4l2_subdev | ||
213 | * @fh: pointer to &struct v4l2_fh | ||
214 | * @sub: pointer to &struct v4l2_event_subscription | ||
215 | * | ||
216 | * .. note:: | ||
217 | * | ||
218 | * This function should be used for the &struct v4l2_subdev_core_ops | ||
219 | * %unsubscribe_event field. | ||
220 | */ | ||
221 | int v4l2_event_subdev_unsubscribe(struct v4l2_subdev *sd, | ||
222 | struct v4l2_fh *fh, | ||
137 | struct v4l2_event_subscription *sub); | 223 | struct v4l2_event_subscription *sub); |
224 | /** | ||
225 | * v4l2_src_change_event_subscribe - | ||
226 | * | ||
227 | * @fh: pointer to struct v4l2_fh | ||
228 | * @sub: pointer to &struct v4l2_event_subscription | ||
229 | */ | ||
138 | int v4l2_src_change_event_subscribe(struct v4l2_fh *fh, | 230 | int v4l2_src_change_event_subscribe(struct v4l2_fh *fh, |
139 | const struct v4l2_event_subscription *sub); | 231 | const struct v4l2_event_subscription *sub); |
232 | /** | ||
233 | * v4l2_src_change_event_subdev_subscribe - Variant of v4l2_event_subscribe(), | ||
234 | * meant to subscribe only events of the type %V4L2_EVENT_SOURCE_CHANGE. | ||
235 | * | ||
236 | * @sd: pointer to &struct v4l2_subdev | ||
237 | * @fh: pointer to &struct v4l2_fh | ||
238 | * @sub: pointer to &struct v4l2_event_subscription | ||
239 | */ | ||
140 | int v4l2_src_change_event_subdev_subscribe(struct v4l2_subdev *sd, | 240 | int v4l2_src_change_event_subdev_subscribe(struct v4l2_subdev *sd, |
141 | struct v4l2_fh *fh, struct v4l2_event_subscription *sub); | 241 | struct v4l2_fh *fh, |
242 | struct v4l2_event_subscription *sub); | ||
142 | #endif /* V4L2_EVENT_H */ | 243 | #endif /* V4L2_EVENT_H */ |