using :c:type:`video_device`->queue->lock, then you have to first lock
:c:type:`video_device`->queue->lock followed by :c:type:`video_device`->lock.
That way you can be sure no ioctl is running when you call
-:c:type:`v4l2_device_disconnect`.
+:c:func:`v4l2_device_disconnect`.
Video device registration
-------------------------
#include <linux/types.h>
/**
- * cintlog2 - computes log2 of a value; the result is shifted left by 24 bits
+ * intlog2 - computes log2 of a value; the result is shifted left by 24 bits
*
* @value: The value (must be != 0)
*
size_t len);
/**
- * dvb_ringbuffer_writeuser - Writes a buffer received via an user pointer
+ * dvb_ringbuffer_write_user - Writes a buffer received via an user pointer
*
* @rbuf: pointer to struct dvb_ringbuffer
* @buf: pointer to the buffer where the data will be read
* an interface.
* @gobj1: Part of a union. Used to get the pointer for the second
* graph_object of the link.
- * @source: Part of a union. Used only if the second object (gobj1) is
+ * @sink: Part of a union. Used only if the second object (gobj1) is
* a pad. In that case, it represents the sink pad.
* @entity: Part of a union. Used only if the second object (gobj1) is
* an entity.
}
/**
- * media_entity_enum_test - Test whether the entity is marked, and mark it
+ * media_entity_enum_test_and_set - Test whether the entity is marked,
+ * and mark it
*
* @ent_enum: Entity enumeration
* @entity: Entity to be tested
container_of(gobj, struct media_entity, graph_obj)
/**
- * gobj_to_entity - returns the struct &media_pad pointer from the
+ * gobj_to_pad - returns the struct &media_pad pointer from the
* @gobj contained on it.
*
* @gobj: Pointer to the struct &media_gobj graph object
container_of(gobj, struct media_pad, graph_obj)
/**
- * gobj_to_entity - returns the struct &media_link pointer from the
+ * gobj_to_link - returns the struct &media_link pointer from the
* @gobj contained on it.
*
* @gobj: Pointer to the struct &media_gobj graph object
container_of(gobj, struct media_link, graph_obj)
/**
- * gobj_to_entity - returns the struct &media_interface pointer from the
+ * gobj_to_intf - returns the struct &media_interface pointer from the
* @gobj contained on it.
*
* @gobj: Pointer to the struct &media_gobj graph object
container_of(gobj, struct media_interface, graph_obj)
/**
- * gobj_to_entity - returns the struct media_intf_devnode pointer from the
+ * intf_to_devnode - returns the struct media_intf_devnode pointer from the
* @intf contained on it.
*
* @intf: Pointer to struct &media_intf_devnode
int rc_open(struct rc_dev *rdev);
/**
- * rc_open - Closes a RC device
+ * rc_close - Closes a RC device
*
* @rdev: pointer to struct rc_dev.
*/
#ifdef CONFIG_LOCKDEP
/**
- * v4l2_ctrl_handler_init -
+ * v4l2_ctrl_handler_init - helper function to create a static struct
+ * &lock_class_key and calls v4l2_ctrl_handler_init_class()
*
* @hdl: The control handler.
* @nr_of_controls_hint: A hint of how many controls this handler is
enum v4l2_priority v4l2_prio_max(struct v4l2_prio_state *global);
/**
- * v4l2_prio_close - Implements the priority logic for a file handler close
+ * v4l2_prio_check - Implements the priority logic for a file handler close
*
* @global: pointer to the &struct v4l2_prio_state of the device node.
* @local: desired priority, as defined by enum &v4l2_priority local
struct v4l2_fh *fh,
struct v4l2_event_subscription *sub);
/**
- * v4l2_src_change_event_subscribe -
+ * v4l2_src_change_event_subscribe - helper function that calls
+ * v4l2_event_subscribe() if the event is %V4L2_EVENT_SOURCE_CHANGE.
*
* @fh: pointer to struct v4l2_fh
* @sub: pointer to &struct v4l2_event_subscription
};
/**
- * enum if_vid_dec_index - video IF-PLL pad index for
+ * enum if_vid_dec_pad_index - video IF-PLL pad index for
* MEDIA_ENT_F_IF_VID_DECODER
*
* @IF_VID_DEC_PAD_IF_INPUT: video Intermediate Frequency (IF) sink pad
};
/**
- * enum if_aud_dec_index - audio/sound IF-PLL pad index for
+ * enum if_aud_dec_pad_index - audio/sound IF-PLL pad index for
* MEDIA_ENT_F_IF_AUD_DECODER
*
* @IF_AUD_DEC_PAD_IF_INPUT: audio Intermediate Frequency (IF) sink pad
}
/**
- * v4l2_m2m_num_src_bufs_ready() - return the number of destination buffers
+ * v4l2_m2m_num_dst_bufs_ready() - return the number of destination buffers
* ready for use
*
* @m2m_ctx: m2m context assigned to the instance given by struct &v4l2_m2m_ctx
};
/**
- * struct s_radio - Callbacks used when v4l device was opened in radio mode.
+ * struct v4l2_subdev_tuner_ops - Callbacks used when v4l device was opened
+ * in radio mode.
*
* @s_radio: callback for %VIDIOC_S_RADIO ioctl handler code.
*
}
/**
- * v4l2_set_subdevdata - Sets V4L2 dev private host data
+ * v4l2_set_subdev_hostdata - Sets V4L2 dev private host data
*
* @sd: pointer to &struct v4l2_subdev
* @p: pointer to the private data to be stored.
}
/**
- * v4l2_get_subdevdata - Gets V4L2 dev private data
+ * v4l2_get_subdev_hostdata - Gets V4L2 dev private data
*
* @sd: pointer to &struct v4l2_subdev
*
};
/**
- * struct vb2_ops - driver-specific callbacks
+ * struct vb2_buf_ops - driver-specific callbacks
*
* @verify_planes_array: Verify that a given user space structure contains
* enough planes for the buffer. This is called