mirror of
https://github.com/lkl/linux.git
synced 2025-12-19 08:03:01 +09:00
media: v4l: async: Support fwnode endpoint list matching for subdevs
Support matching V4L2 async sub-devices based on particular fwnode endpoint. This makes it possible to instantiate multiple V4L2 sub-devices based on given fwnode endpoints from a single device, based on driver needs. Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Tested-by: Philipp Zabel <p.zabel@pengutronix.de> # imx6qp Tested-by: Niklas Söderlund <niklas.soderlund@ragnatech.se> # rcar + adv746x Tested-by: Aishwarya Kothari <aishwarya.kothari@toradex.com> # Apalis i.MX6Q with TC358743 Tested-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> # Renesas RZ/G2L SMARC Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
This commit is contained in:
committed by
Mauro Carvalho Chehab
parent
765f60568f
commit
e74f7a9678
@@ -1022,6 +1022,8 @@ struct v4l2_subdev_platform_data {
|
||||
* either dev->of_node->fwnode or dev->fwnode (whichever is non-NULL).
|
||||
* @async_list: Links this subdev to a global subdev_list or
|
||||
* @notifier->done_list list.
|
||||
* @async_subdev_endpoint_list: List entry in async_subdev_endpoint_entry of
|
||||
* &struct v4l2_async_subdev_endpoint.
|
||||
* @subdev_notifier: A sub-device notifier implicitly registered for the sub-
|
||||
* device using v4l2_async_register_subdev_sensor().
|
||||
* @asc_list: Async connection list, of &struct
|
||||
@@ -1065,6 +1067,7 @@ struct v4l2_subdev {
|
||||
struct device *dev;
|
||||
struct fwnode_handle *fwnode;
|
||||
struct list_head async_list;
|
||||
struct list_head async_subdev_endpoint_list;
|
||||
struct v4l2_async_notifier *subdev_notifier;
|
||||
struct list_head asc_list;
|
||||
struct v4l2_subdev_platform_data *pdata;
|
||||
@@ -1382,8 +1385,9 @@ int __v4l2_subdev_init_finalize(struct v4l2_subdev *sd, const char *name,
|
||||
* v4l2_subdev_cleanup() - Releases the resources allocated by the subdevice
|
||||
* @sd: The subdevice
|
||||
*
|
||||
* This function will release the resources allocated in
|
||||
* v4l2_subdev_init_finalize.
|
||||
* Clean up a V4L2 async sub-device. Must be called for a sub-device as part of
|
||||
* its release if resources have been associated with it using
|
||||
* v4l2_async_subdev_endpoint_add() or v4l2_subdev_init_finalize().
|
||||
*/
|
||||
void v4l2_subdev_cleanup(struct v4l2_subdev *sd);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user