• Home
  • Raw
  • Download

Lines Matching full:control

36  * union v4l2_ctrl_ptr - A pointer to a control value.
56 * struct v4l2_ctrl_ops - The control operations that the driver has to provide.
58 * @g_volatile_ctrl: Get a new value for this control. Generally only relevant
59 * for volatile (and usually read-only) controls such as a control
63 * @try_ctrl: Test whether the control's value is valid. Only relevant when
65 * @s_ctrl: Actually set the new control value. s_ctrl is compulsory. The
76 * struct v4l2_ctrl_type_ops - The control type operations that the driver
98 * that should be called when a control value has changed.
101 * @priv: control private data
109 * struct v4l2_ctrl - The control structure.
112 * @ev_subs: The list of control event subscriptions.
113 * @handler: The handler that owns the control.
116 * @done: Internal flag: set for each processed control.
117 * @is_new: Set when the user specified a new value for this control. It
122 * @is_private: If set, then this control is private to its handler and it
125 * @is_auto: If set, then this control selects whether the other cluster
129 * @is_int: If set, then this control has a simple integer value (i.e. it
131 * @is_string: If set, then this control has type %V4L2_CTRL_TYPE_STRING.
132 * @is_ptr: If set, then this control is an array and/or has type >=
136 * @is_array: If set, then this control contains an N-dimensional array.
140 * control's value changes.
142 * of the auto control that determines if that control is in
143 * manual mode. So if the value of the auto control equals this
146 * @ops: The control ops.
147 * @type_ops: The control type ops.
148 * @id: The control ID.
149 * @name: The control name.
150 * @type: The control type.
151 * @minimum: The control's minimum value.
152 * @maximum: The control's maximum value.
153 * @default_value: The control's default value.
154 * @step: The control's step value for non-menu controls.
156 * @elem_size: The size in bytes of the control.
159 * @menu_skip_mask: The control's skip mask for menu controls. This makes it
174 * @flags: The control's flags.
176 * @cur.val: The control's current value, if the @type is represented via
178 * @val: The control's new s32 value.
179 * @priv: The control's private pointer. For use by the driver. It is
180 * untouched by the control framework. Note that this pointer is
181 * not freed when the control is deleted. Should this be needed
184 * @p_cur: The control's current value represented via a union which
185 * provides a standard way of accessing control types
187 * @p_new: The control's new value represented via a union which provides
188 * a standard way of accessing control types
243 * struct v4l2_ctrl_ref - The control reference.
247 * @ctrl: The actual control information.
251 * Each control handler has a list of these refs. The list_head is used to
252 * keep a sorted-by-control-ID list of all controls, while the next pointer
253 * is used to link the control in the hash's bucket.
263 * struct v4l2_ctrl_handler - The control handler keeps track of all the
268 * @lock: Lock to control access to this handler and its controls.
271 * @ctrl_refs: The list of control references.
272 * @cached: The last found control reference. It is common that the same
273 * control is needed multiple times, so this is a simple
275 * @buckets: Buckets for the hashing. Allows for quick control lookup.
276 * @notify: A notify callback that is called whenever the control changes
282 * @error: The error code of the first failed control addition.
298 * struct v4l2_ctrl_config - Control configuration structure.
300 * @ops: The control ops.
301 * @type_ops: The control type ops. Only needed for compound controls.
302 * @id: The control ID.
303 * @name: The control name.
304 * @type: The control type.
305 * @min: The control's minimum value.
306 * @max: The control's maximum value.
307 * @step: The control's step value for non-menu controls.
308 * @def: The control's default value.
310 * @elem_size: The size in bytes of the control.
311 * @flags: The control's flags.
312 * @menu_skip_mask: The control's skip mask for menu controls. This makes it
324 * @is_private: If set, then this control is private to its handler and it
347 * v4l2_ctrl_fill - Fill in the control fields based on the control ID.
349 * @id: ID of the control
350 * @name: pointer to be filled with a string with the name of the control
351 * @type: pointer for storing the type of the control
352 * @min: pointer for storing the minimum value for the control
353 * @max: pointer for storing the maximum value for the control
354 * @step: pointer for storing the control step
355 * @def: pointer for storing the default value for the control
356 * @flags: pointer for storing the flags to be used on the control
369 * control handling only. Once all drivers are converted to use the new
370 * control framework this function will no longer be exported.
377 * v4l2_ctrl_handler_init_class() - Initialize the control handler.
378 * @hdl: The control handler.
383 * are allocated) or the control lookup becomes slower (not enough
407 * @hdl: The control handler.
412 * are allocated) or the control lookup becomes slower (not enough
420 * Use this helper function to initialize a control handler.
440 * the control list.
441 * @hdl: The control handler.
449 * associated with the control.
450 * @ctrl: The control to lock.
459 * associated with the control.
460 * @ctrl: The control to unlock.
469 * to the handler to initialize the hardware to the current control values. The
470 * caller is responsible for acquiring the control handler mutex on behalf of
472 * @hdl: The control handler.
482 * to the handler to initialize the hardware to the current control values.
483 * @hdl: The control handler.
493 * @hdl: The control handler.
494 * @prefix: The prefix to use when logging the control values. If the
508 * control.
510 * @hdl: The control handler.
511 * @cfg: The control's configuration data.
512 * @priv: The control's driver-specific private data.
523 * control.
525 * @hdl: The control handler.
526 * @ops: The control ops.
527 * @id: The control ID.
528 * @min: The control's minimum value.
529 * @max: The control's maximum value.
530 * @step: The control's step value
531 * @def: The control's default value.
533 * If the &v4l2_ctrl struct could not be allocated, or the control
537 * If @id refers to a menu control, then this function will return NULL.
548 * menu control.
550 * @hdl: The control handler.
551 * @ops: The control ops.
552 * @id: The control ID.
553 * @max: The control's maximum value.
554 * @mask: The control's skip mask for menu controls. This makes it
560 * @def: The control's default value.
565 * If @id refers to a non-menu control, then this function will return NULL.
572 * v4l2_ctrl_new_std_menu_items() - Create a new standard V4L2 menu control
575 * @hdl: The control handler.
576 * @ops: The control ops.
577 * @id: The control ID.
578 * @max: The control's maximum value.
579 * @mask: The control's skip mask for menu controls. This makes it
585 * @def: The control's default value.
589 * menu of this control.
599 * v4l2_ctrl_new_int_menu() - Create a new standard V4L2 integer menu control.
601 * @hdl: The control handler.
602 * @ops: The control ops.
603 * @id: The control ID.
604 * @max: The control's maximum value.
605 * @def: The control's default value.
606 * @qmenu_int: The control's menu entries.
611 * If @id refers to a non-integer-menu control, then this function will
621 * used when adding a control handler.
632 * @hdl: The control handler.
633 * @add: The control handler whose controls you want to add to
634 * the @hdl control handler.
650 * @ctrl: The control that is filtered.
665 * @controls: The cluster control array of size @ncontrols.
675 * @controls: The cluster control array of size @ncontrols. The first control
676 * must be the 'auto' control (e.g. autogain, autoexposure, etc.)
677 * @manual_val: The value for the first control in the cluster that equals the
679 * @set_volatile: If true, then all controls except the first auto control will
682 * Use for control groups where one control selects some automatic feature and
689 * When the autofoo control is set to automatic, then any manual controls
690 * are set to inactive and any reads will call g_volatile_ctrl (if the control
693 * When the autofoo control is set to manual, then any manual controls will
698 * on the autofoo control and %V4L2_CTRL_FLAG_INACTIVE on the foo control(s)
707 * v4l2_ctrl_find() - Find a control with the given ID.
709 * @hdl: The control handler.
710 * @id: The control ID to find.
718 * v4l2_ctrl_activate() - Make the control active or inactive.
719 * @ctrl: The control to (de)activate.
720 * @active: True if the control should become active.
727 * This function assumes that the control handler is locked.
732 * v4l2_ctrl_grab() - Mark the control as grabbed or not grabbed.
734 * @ctrl: The control to (de)activate.
735 * @grabbed: True if the control should become grabbed.
743 * This function assumes that the control handler is not locked and will
751 * @ctrl: The control to update.
752 * @min: The control's minimum value.
753 * @max: The control's maximum value.
754 * @step: The control's step value
755 * @def: The control's default value.
757 * Update the range of a control on the fly. This works for control types
762 * control type.
764 * The caller is responsible for acquiring the control handler mutex on behalf
771 * v4l2_ctrl_modify_range() - Update the range of a control.
773 * @ctrl: The control to update.
774 * @min: The control's minimum value.
775 * @max: The control's maximum value.
776 * @step: The control's step value
777 * @def: The control's default value.
779 * Update the range of a control on the fly. This works for control types
784 * control type.
786 * This function assumes that the control handler is not locked and will
802 * v4l2_ctrl_notify() - Function to set a notify callback for a control.
804 * @ctrl: The control.
808 * This function sets a callback function for the control. If @ctrl is NULL,
819 * v4l2_ctrl_get_name() - Get the name of the control
821 * @id: The control ID.
823 * This function returns the name of the given control ID or NULL if it isn't
824 * a known control.
829 * v4l2_ctrl_get_menu() - Get the menu string array of the control
831 * @id: The control ID.
834 * given control ID or NULL if it isn't a known menu control.
839 * v4l2_ctrl_get_int_menu() - Get the integer menu array of the control
841 * @id: The control ID.
844 * This function returns the integer array of the given control ID or NULL if it
845 * if it isn't a known integer menu control.
850 * v4l2_ctrl_g_ctrl() - Helper function to get the control's value from
853 * @ctrl: The control.
855 * This returns the control's value safely by going through the control
856 * framework. This function will lock the control's handler, so it cannot be
866 * @ctrl: The control.
869 * This sets the control's new value safely by going through the control
870 * framework. This function assumes the control's handler is already locked,
878 * v4l2_ctrl_s_ctrl() - Helper function to set the control's value from
880 * @ctrl: The control.
883 * This sets the control's new value safely by going through the control
884 * framework. This function will lock the control's handler, so it cannot be
901 * v4l2_ctrl_g_ctrl_int64() - Helper function to get a 64-bit control's value
904 * @ctrl: The control.
906 * This returns the control's value safely by going through the control
907 * framework. This function will lock the control's handler, so it cannot be
917 * @ctrl: The control.
920 * This sets the control's new value safely by going through the control
921 * framework. This function assumes the control's handler is already locked,
929 * v4l2_ctrl_s_ctrl_int64() - Helper function to set a 64-bit control's value
932 * @ctrl: The control.
935 * This sets the control's new value safely by going through the control
936 * framework. This function will lock the control's handler, so it cannot be
955 * @ctrl: The control.
958 * This sets the control's new string safely by going through the control
959 * framework. This function assumes the control's handler is already locked,
967 * v4l2_ctrl_s_ctrl_string() - Helper function to set a control's string value
970 * @ctrl: The control.
973 * This sets the control's new string safely by going through the control
974 * framework. This function will lock the control's handler, so it cannot be
990 /* Internal helper functions that deal with control events. */
1035 * control events.
1042 * That just polls for control events.
1150 * that just subscribes control events.
1160 * v4l2_ctrl_subdev_log_status - Log all controls owned by subdev's control