Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a39c57f8 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab
Browse files

[media] v4l2-common.h: document the subdev functions



There are some subdev-specific functions at v4l2-common.h
that are mentioned at v4l2-subdev.rst.

Document them.

Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
parent 55aeed72
Loading
Loading
Loading
Loading
+6 −0
Original line number Original line Diff line number Diff line
@@ -449,3 +449,9 @@ V4L2 sub-device asynchronous kAPI
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


.. kernel-doc:: include/media/v4l2-async.h
.. kernel-doc:: include/media/v4l2-async.h


V4L2 common kAPI
^^^^^^^^^^^^^^^^

.. kernel-doc:: include/media/v4l2-common.h
+42 −7
Original line number Original line Diff line number Diff line
@@ -80,8 +80,6 @@


/* ------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------- */


/* Control helper function */

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 +94,60 @@ struct v4l2_device;
struct v4l2_subdev;
struct v4l2_subdev;
struct v4l2_subdev_ops;
struct v4l2_subdev_ops;



/**
/* Load an i2c module and return an initialized v4l2_subdev struct.
 * v4l2_i2c_new_subdev - Load an i2c module and return an initialized
   The client_type argument is the name of the chip that's on the adapter. */
 *	&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 v4l2_subdev *v4l2_i2c_new_subdev(struct v4l2_device *v4l2_dev,
		struct i2c_adapter *adapter, const char *client_type,
		struct i2c_adapter *adapter, const char *client_type,
		u8 addr, const unsigned short *probe_addrs);
		u8 addr, const unsigned short *probe_addrs);


struct i2c_board_info;
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 v4l2_subdev *v4l2_i2c_new_subdev_board(struct v4l2_device *v4l2_dev,
		struct i2c_adapter *adapter, struct i2c_board_info *info,
		struct i2c_adapter *adapter, struct i2c_board_info *info,
		const unsigned short *probe_addrs);
		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,
void v4l2_i2c_subdev_init(struct v4l2_subdev *sd, struct i2c_client *client,
		const struct v4l2_subdev_ops *ops);
		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);
unsigned short v4l2_i2c_subdev_addr(struct v4l2_subdev *sd);


enum v4l2_i2c_tuner_type {
enum v4l2_i2c_tuner_type {