diff options
Diffstat (limited to 'include/media/v4l2-common.h')
| -rw-r--r-- | include/media/v4l2-common.h | 92 | 
1 files changed, 80 insertions, 12 deletions
| diff --git a/include/media/v4l2-common.h b/include/media/v4l2-common.h index 1cc0c5ba16b3..350cbf9fb10e 100644 --- a/include/media/v4l2-common.h +++ b/include/media/v4l2-common.h @@ -78,11 +78,26 @@  			v4l2_printk(KERN_DEBUG, dev, fmt , ## arg); 	\  	} while (0) -/* ------------------------------------------------------------------------- */ - -/* Control helper function */ +/** + * v4l2_ctrl_query_fill- Fill in a struct v4l2_queryctrl + * + * @qctrl: pointer to the &struct v4l2_queryctrl to be filled + * @min: minimum value for the control + * @max: maximum value for the control + * @step: control step + * @def: default value for the control + * + * Fills the &struct v4l2_queryctrl fields for the query control. + * + * .. note:: + * + *    This function assumes that the @qctrl->id field is filled. + * + * Returns -EINVAL if the control is not known by the V4L2 core, 0 on success. + */ -int v4l2_ctrl_query_fill(struct v4l2_queryctrl *qctrl, s32 min, s32 max, s32 step, s32 def); +int v4l2_ctrl_query_fill(struct v4l2_queryctrl *qctrl, +			 s32 min, s32 max, s32 step, s32 def);  /* ------------------------------------------------------------------------- */ @@ -96,23 +111,60 @@ struct v4l2_device;  struct v4l2_subdev;  struct v4l2_subdev_ops; - -/* Load an i2c module and return an initialized v4l2_subdev struct. -   The client_type argument is the name of the chip that's on the adapter. */ +/** + * v4l2_i2c_new_subdev - Load an i2c module and return an initialized + *	&struct v4l2_subdev. + * + * @v4l2_dev: pointer to &struct v4l2_device + * @adapter: pointer to struct i2c_adapter + * @client_type:  name of the chip that's on the adapter. + * @addr: I2C address. If zero, it will use @probe_addrs + * @probe_addrs: array with a list of address. The last entry at such + * 	array should be %I2C_CLIENT_END. + * + * returns a &struct v4l2_subdev pointer. + */  struct v4l2_subdev *v4l2_i2c_new_subdev(struct v4l2_device *v4l2_dev,  		struct i2c_adapter *adapter, const char *client_type,  		u8 addr, const unsigned short *probe_addrs);  struct i2c_board_info; +/** + * v4l2_i2c_new_subdev_board - Load an i2c module and return an initialized + *	&struct v4l2_subdev. + * + * @v4l2_dev: pointer to &struct v4l2_device + * @adapter: pointer to struct i2c_adapter + * @info: pointer to struct i2c_board_info used to replace the irq, + *	 platform_data and addr arguments. + * @probe_addrs: array with a list of address. The last entry at such + * 	array should be %I2C_CLIENT_END. + * + * returns a &struct v4l2_subdev pointer. + */  struct v4l2_subdev *v4l2_i2c_new_subdev_board(struct v4l2_device *v4l2_dev,  		struct i2c_adapter *adapter, struct i2c_board_info *info,  		const unsigned short *probe_addrs); -/* Initialize a v4l2_subdev with data from an i2c_client struct */ +/** + * v4l2_i2c_subdev_init - Initializes a &struct v4l2_subdev with data from + *	an i2c_client struct. + * + * @sd: pointer to &struct v4l2_subdev + * @client: pointer to struct i2c_client + * @ops: pointer to &struct v4l2_subdev_ops + */  void v4l2_i2c_subdev_init(struct v4l2_subdev *sd, struct i2c_client *client,  		const struct v4l2_subdev_ops *ops); -/* Return i2c client address of v4l2_subdev. */ + +/** + * v4l2_i2c_subdev_addr - returns i2c client address of &struct v4l2_subdev. + * + * @sd: pointer to &struct v4l2_subdev + * + * Returns the address of an I2C sub-device + */  unsigned short v4l2_i2c_subdev_addr(struct v4l2_subdev *sd);  enum v4l2_i2c_tuner_type { @@ -137,12 +189,28 @@ const unsigned short *v4l2_i2c_tuner_addrs(enum v4l2_i2c_tuner_type type);  struct spi_device; -/* Load an spi module and return an initialized v4l2_subdev struct. -   The client_type argument is the name of the chip that's on the adapter. */ +/** + *  v4l2_spi_new_subdev - Load an spi module and return an initialized + *	&struct v4l2_subdev. + * + * + * @v4l2_dev: pointer to &struct v4l2_device. + * @master: pointer to struct spi_master. + * @info: pointer to struct spi_board_info. + * + * returns a &struct v4l2_subdev pointer. + */  struct v4l2_subdev *v4l2_spi_new_subdev(struct v4l2_device *v4l2_dev,  		struct spi_master *master, struct spi_board_info *info); -/* Initialize a v4l2_subdev with data from an spi_device struct */ +/** + * v4l2_spi_subdev_init - Initialize a v4l2_subdev with data from an + *	spi_device struct. + * + * @sd: pointer to &struct v4l2_subdev + * @spi: pointer to struct spi_device. + * @ops: pointer to &struct v4l2_subdev_ops + */  void v4l2_spi_subdev_init(struct v4l2_subdev *sd, struct spi_device *spi,  		const struct v4l2_subdev_ops *ops);  #endif |