Lines Matching refs:can

19 more I2C busses, but other busses can also be used. Such devices are
40 framework. It can be used as a template for real PCI video capture driver.
86 Very simple devices can just allocate this struct, but most of the time you
108 You can use v4l2_device_set_name() to set the name based on a driver name and
118 You can also supply a notify() callback that can be called by sub-devices to
146 You can iterate over all registered devices as follows:
186 If you have multiple device nodes then it can be difficult to know when it is
191 callback is called. You can do your final cleanup there.
193 If other device nodes (e.g. ALSA) are created, then you can increase and
209 Many drivers need to communicate with sub-devices. These devices can do all
218 Each sub-device driver must have a v4l2_subdev struct. This struct can be
232 host private data for that purpose that can be accessed with
241 Each v4l2_subdev contains function pointers that sub-device drivers can
242 implement (or leave NULL if it is not applicable). Since sub-devices can do
334 drivers. This can be done when the bridge driver has the complete information
356 This can fail if the subdev module disappeared before it could be registered.
363 You can unregister a sub-device using:
367 Afterwards the subdev module can be unloaded and sd->dev == NULL.
369 You can call an ops function either directly:
395 be called. Before a bridge driver registers a subdev it can set sd->grp_id
402 user want to change the volume. You can set the group ID for that subdev to
408 it can call v4l2_subdev_notify(sd, notification, arg). This macro checks
419 In the asynchronous case subdevice probing can be invoked independently of the
421 the requirements for a successful probing are satisfied. This can include a
447 sub-devices can also be controlled directly by userspace applications.
449 Device nodes named v4l-subdevX can be created in /dev to access sub-devices
453 After registering sub-devices, the v4l2_device driver can create device nodes
471 controls can be also be accessed through one (or several) V4L2 device
481 events can also be reported by one (or several) V4L2 device nodes.
486 sub-device. After registration events can be queued as usual on the
507 you can just create a v4l2_subdev directly.
551 The bridge driver also has some helper functions it can use:
556 This loads the given module (can be NULL if no module needs to be loaded) and
560 You can also use the last argument of v4l2_i2c_new_subdev() to pass an array
571 later date. It differs between i2c drivers and as such can be confusing.
572 To see which chip variants are supported you can look in the i2c driver code
599 video_device struct (v4l2-dev.h). This struct can either be allocated
625 (is empty) and can be used if the struct is embedded and there is nothing
665 then you can point it to your own struct v4l2_prio_state.
684 your v4l2_ioctl_ops should be ignored. You can mark such ioctls by calling this
719 can set: video_device->queue->lock. If set, then this lock will be used instead
725 can take a long time, so you want to use a separate lock for the buffer queuing
729 Of course, you can always do all the locking yourself by leaving both lock
741 pointer, then you can use the helper functions vb2_ops_wait_prepare/finish.
746 followed by video_device->lock. That way you can be sure no ioctl is running
782 Another use-case is if a driver creates many devices. In that case it can
785 So you can use the last argument to specify a minimum device node number
791 to select the specified device node number, you can call the function
798 can be used to enable core debugging. See the next section for more detailed
805 Users can setup udev rules that utilize the index attribute to make fancy
808 After the device was successfully registered, then you can use these fields:
828 It is a bitmask and the following bits can be set:
853 After video_unregister_device() returns no new opens can be done. However,
859 callback is called and you can do the final cleanup there.
866 This can be done from the release callback.
876 You can set/get driver private data in the video_device struct using:
881 Note that you can safely call video_set_drvdata() before calling
894 You can go from a video_device struct to the v4l2_device struct using:
900 The video_device node kernel name can be retrieved using
943 Drivers can extract their own file handle structure by using the container_of
1006 memory can be freed.
1009 If struct v4l2_fh is not embedded, then you can use these helper functions:
1021 These two functions can be plugged into the v4l2_file_operation's open() and
1058 replace() callbacks which drivers can set. These callbacks are called when
1073 Note: these callbacks can be called from interrupt context, so they must be
1120 can use v4l2_fh->wait (a wait_queue_head_t) as the argument for poll_wait().
1129 An example on how the V4L2 events may be used can be found in the OMAP
1132 A subdev can directly send an event to the v4l2_device notify function with