Lines Matching +full:no +full:- +full:sd

1 /* SPDX-License-Identifier: GPL-2.0-only */
5 * Copyright (C) 2012-2013, Guennadi Liakhovetski <g.liakhovetski@gmx.de>
22 * enum v4l2_async_match_type - type of asynchronous subdevice logic to be used
37 * struct v4l2_async_match_desc - async connection match information
65 * struct v4l2_async_connection - sub-device connection descriptor, as known to
68 * @match: struct of match type and per-bus type matching data sets
73 * @sd: the related sub-device
84 struct v4l2_subdev *sd; member
88 * struct v4l2_async_notifier_operations - Asynchronous V4L2 notifier operations
89 * @bound: a sub-device has been bound by the given connection
107 * struct v4l2_async_notifier - v4l2_device notifier data
111 * @sd: sub-device that registered the notifier, NULL otherwise
121 struct v4l2_subdev *sd; member
129 * struct v4l2_async_subdev_endpoint - Entry in sub-device's fwnode list
133 * @endpoint: Endpoint fwnode agains which to match the sub-device
141 * v4l2_async_debug_init - Initialize debugging tools.
148 * v4l2_async_nf_init - Initialize a notifier.
163 * v4l2_async_subdev_nf_init - Initialize a sub-device notifier.
166 * @sd: pointer to &struct v4l2_subdev
174 struct v4l2_subdev *sd);
181 * v4l2_async_nf_add_fwnode - Allocate and add a fwnode async
185 * @fwnode: fwnode handle of the sub-device to be matched, pointer to
187 * @type: Type of the driver's async sub-device or connection struct. The
191 * Allocate a fwnode-matched asc of size asc_struct_size, and add it to the
203 * v4l2_async_nf_add_fwnode_remote - Allocate and add a fwnode
230 * v4l2_async_nf_add_i2c - Allocate and add an i2c async
248 * v4l2_async_subdev_endpoint_add - Add an endpoint fwnode to async sub-device
251 * @sd: the sub-device
254 * Add a fwnode to the async sub-device's matching list. This allows registering
255 * multiple async sub-devices from a single device.
257 * Note that calling v4l2_subdev_cleanup() as part of the sub-device's cleanup
258 * if endpoints have been added to the sub-device's fwnode matching list.
262 int v4l2_async_subdev_endpoint_add(struct v4l2_subdev *sd,
266 * v4l2_async_connection_unique - return a unique &struct v4l2_async_connection
267 * for a sub-device
268 * @sd: the sub-device
270 * Return an async connection for a sub-device, when there is a single
274 v4l2_async_connection_unique(struct v4l2_subdev *sd);
277 * v4l2_async_nf_register - registers a subdevice asynchronous notifier
284 * v4l2_async_nf_unregister - unregisters a subdevice
292 * v4l2_async_nf_cleanup - clean up notifier resources
301 * There is no harm from calling v4l2_async_nf_cleanup() in other
308 * v4l2_async_register_subdev - registers a sub-device to the asynchronous
311 * @sd: pointer to &struct v4l2_subdev
313 #define v4l2_async_register_subdev(sd) \ argument
314 __v4l2_async_register_subdev(sd, THIS_MODULE)
315 int __v4l2_async_register_subdev(struct v4l2_subdev *sd, struct module *module);
318 * v4l2_async_register_subdev_sensor - registers a sensor sub-device to the
319 * asynchronous sub-device framework and
323 * @sd: pointer to struct &v4l2_subdev
328 * async sub-devices. The sub-device is similarly unregistered by calling
331 * While registered, the subdev module is marked as in-use.
333 * An error is returned if the module is no longer loaded on any attempts
337 v4l2_async_register_subdev_sensor(struct v4l2_subdev *sd);
340 * v4l2_async_unregister_subdev - unregisters a sub-device to the asynchronous
343 * @sd: pointer to &struct v4l2_subdev
345 void v4l2_async_unregister_subdev(struct v4l2_subdev *sd);