Lines Matching full:counter
3 * Counter interface
17 #include <uapi/linux/counter.h>
39 * struct counter_comp - Counter component node
40 * @type: Counter component data type
157 int (*action_read)(struct counter_device *counter,
161 int (*device_u8_read)(struct counter_device *counter, u8 *val);
162 int (*count_u8_read)(struct counter_device *counter,
164 int (*signal_u8_read)(struct counter_device *counter,
166 int (*device_u32_read)(struct counter_device *counter,
168 int (*count_u32_read)(struct counter_device *counter,
170 int (*signal_u32_read)(struct counter_device *counter,
172 int (*device_u64_read)(struct counter_device *counter,
174 int (*count_u64_read)(struct counter_device *counter,
176 int (*signal_u64_read)(struct counter_device *counter,
178 int (*signal_array_u32_read)(struct counter_device *counter,
181 int (*device_array_u64_read)(struct counter_device *counter,
183 int (*count_array_u64_read)(struct counter_device *counter,
186 int (*signal_array_u64_read)(struct counter_device *counter,
191 int (*action_write)(struct counter_device *counter,
195 int (*device_u8_write)(struct counter_device *counter, u8 val);
196 int (*count_u8_write)(struct counter_device *counter,
198 int (*signal_u8_write)(struct counter_device *counter,
200 int (*device_u32_write)(struct counter_device *counter,
202 int (*count_u32_write)(struct counter_device *counter,
204 int (*signal_u32_write)(struct counter_device *counter,
206 int (*device_u64_write)(struct counter_device *counter,
208 int (*count_u64_write)(struct counter_device *counter,
210 int (*signal_u64_write)(struct counter_device *counter,
212 int (*signal_array_u32_write)(struct counter_device *counter,
215 int (*device_array_u64_write)(struct counter_device *counter,
217 int (*count_array_u64_write)(struct counter_device *counter,
220 int (*signal_array_u64_write)(struct counter_device *counter,
227 * struct counter_signal - Counter Signal node
242 * struct counter_synapse - Counter Synapse node
255 * struct counter_count - Counter Count node
280 * struct counter_event_node - Counter Event node
281 * @l: list of current watching Counter events
318 * events_list member of the counter parameter.
319 * @watch_validate: optional callback to validate a watch. The Counter
321 * parameter. A return value of 0 indicates a valid Counter
325 int (*signal_read)(struct counter_device *counter,
328 int (*count_read)(struct counter_device *counter,
330 int (*count_write)(struct counter_device *counter,
332 int (*function_read)(struct counter_device *counter,
335 int (*function_write)(struct counter_device *counter,
338 int (*action_read)(struct counter_device *counter,
342 int (*action_write)(struct counter_device *counter,
346 int (*events_configure)(struct counter_device *counter);
347 int (*watch_validate)(struct counter_device *counter,
352 * struct counter_device - Counter data structure
360 * @ext: optional array of Counter device extensions
361 * @num_ext: number of Counter device extensions specified in @ext
365 * @events_list: list of current watching Counter events
366 * @events_list_lock: lock to protect Counter events list operations
367 * @next_events_list: list of next watching Counter events
368 * @n_events_list_lock: lock to protect Counter next events list operations
369 * @events: queue of detected Counter events
370 * @events_wait: wait queue to allow blocking reads of Counter events
371 * @events_in_lock: lock to protect Counter events queue in operations
372 * @events_out_lock: lock to protect Counter events queue out operations
402 void *counter_priv(const struct counter_device *const counter) __attribute_const__;
405 void counter_put(struct counter_device *const counter);
406 int counter_add(struct counter_device *const counter);
408 void counter_unregister(struct counter_device *const counter);
412 struct counter_device *const counter);
413 void counter_push_event(struct counter_device *const counter, const u8 event,