Commit e2cec865 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab

media: v4l2-fwnode: use a typedef for a function callback

That allows having a kernel-doc markup for the function
prototype. It also prevents the need of describing the
return values twice.
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
Acked-by: default avatarSakari Ailus <sakari.ailus@iki.fi>
parent 1acce5f7
...@@ -203,6 +203,26 @@ int v4l2_fwnode_parse_link(struct fwnode_handle *fwnode, ...@@ -203,6 +203,26 @@ int v4l2_fwnode_parse_link(struct fwnode_handle *fwnode,
*/ */
void v4l2_fwnode_put_link(struct v4l2_fwnode_link *link); void v4l2_fwnode_put_link(struct v4l2_fwnode_link *link);
/**
* typedef parse_endpoint_func - Driver's callback function to be called on
* each V4L2 fwnode endpoint.
*
* @dev: pointer to &struct device
* @vep: pointer to &struct v4l2_fwnode_endpoint
* @asd: pointer to &struct v4l2_async_subdev
*
* Return:
* * %0 on success
* * %-ENOTCONN if the endpoint is to be skipped but this
* should not be considered as an error
* * %-EINVAL if the endpoint configuration is invalid
*/
typedef int (*parse_endpoint_func)(struct device *dev,
struct v4l2_fwnode_endpoint *vep,
struct v4l2_async_subdev *asd);
/** /**
* v4l2_async_notifier_parse_fwnode_endpoints - Parse V4L2 fwnode endpoints in a * v4l2_async_notifier_parse_fwnode_endpoints - Parse V4L2 fwnode endpoints in a
* device node * device node
...@@ -215,10 +235,6 @@ void v4l2_fwnode_put_link(struct v4l2_fwnode_link *link); ...@@ -215,10 +235,6 @@ void v4l2_fwnode_put_link(struct v4l2_fwnode_link *link);
* begin at the same memory address. * begin at the same memory address.
* @parse_endpoint: Driver's callback function called on each V4L2 fwnode * @parse_endpoint: Driver's callback function called on each V4L2 fwnode
* endpoint. Optional. * endpoint. Optional.
* Return: %0 on success
* %-ENOTCONN if the endpoint is to be skipped but this
* should not be considered as an error
* %-EINVAL if the endpoint configuration is invalid
* *
* Parse the fwnode endpoints of the @dev device and populate the async sub- * Parse the fwnode endpoints of the @dev device and populate the async sub-
* devices array of the notifier. The @parse_endpoint callback function is * devices array of the notifier. The @parse_endpoint callback function is
...@@ -253,9 +269,7 @@ void v4l2_fwnode_put_link(struct v4l2_fwnode_link *link); ...@@ -253,9 +269,7 @@ void v4l2_fwnode_put_link(struct v4l2_fwnode_link *link);
int v4l2_async_notifier_parse_fwnode_endpoints( int v4l2_async_notifier_parse_fwnode_endpoints(
struct device *dev, struct v4l2_async_notifier *notifier, struct device *dev, struct v4l2_async_notifier *notifier,
size_t asd_struct_size, size_t asd_struct_size,
int (*parse_endpoint)(struct device *dev, parse_endpoint_func parse_endpoint);
struct v4l2_fwnode_endpoint *vep,
struct v4l2_async_subdev *asd));
/** /**
* v4l2_async_notifier_parse_fwnode_endpoints_by_port - Parse V4L2 fwnode * v4l2_async_notifier_parse_fwnode_endpoints_by_port - Parse V4L2 fwnode
...@@ -271,10 +285,6 @@ int v4l2_async_notifier_parse_fwnode_endpoints( ...@@ -271,10 +285,6 @@ int v4l2_async_notifier_parse_fwnode_endpoints(
* @port: port number where endpoints are to be parsed * @port: port number where endpoints are to be parsed
* @parse_endpoint: Driver's callback function called on each V4L2 fwnode * @parse_endpoint: Driver's callback function called on each V4L2 fwnode
* endpoint. Optional. * endpoint. Optional.
* Return: %0 on success
* %-ENOTCONN if the endpoint is to be skipped but this
* should not be considered as an error
* %-EINVAL if the endpoint configuration is invalid
* *
* This function is just like v4l2_async_notifier_parse_fwnode_endpoints() with * This function is just like v4l2_async_notifier_parse_fwnode_endpoints() with
* the exception that it only parses endpoints in a given port. This is useful * the exception that it only parses endpoints in a given port. This is useful
...@@ -315,9 +325,7 @@ int v4l2_async_notifier_parse_fwnode_endpoints( ...@@ -315,9 +325,7 @@ int v4l2_async_notifier_parse_fwnode_endpoints(
int v4l2_async_notifier_parse_fwnode_endpoints_by_port( int v4l2_async_notifier_parse_fwnode_endpoints_by_port(
struct device *dev, struct v4l2_async_notifier *notifier, struct device *dev, struct v4l2_async_notifier *notifier,
size_t asd_struct_size, unsigned int port, size_t asd_struct_size, unsigned int port,
int (*parse_endpoint)(struct device *dev, parse_endpoint_func parse_endpoint);
struct v4l2_fwnode_endpoint *vep,
struct v4l2_async_subdev *asd));
/** /**
* v4l2_fwnode_reference_parse_sensor_common - parse common references on * v4l2_fwnode_reference_parse_sensor_common - parse common references on
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment