summaryrefslogtreecommitdiffstats
path: root/include/media/v4l2-fwnode.h
diff options
context:
space:
mode:
authorSakari Ailus2017-09-06 14:35:42 +0200
committerMauro Carvalho Chehab2017-10-31 19:02:37 +0100
commit7a9ec808ad46d1e02e5e766a83adc5f88e5df264 (patch)
treef8c5b775148743444871a32f6790570d389fdd32 /include/media/v4l2-fwnode.h
parentmedia: v4l: fwnode: Add a helper function to obtain device / integer references (diff)
downloadkernel-qcow2-linux-7a9ec808ad46d1e02e5e766a83adc5f88e5df264.tar.gz
kernel-qcow2-linux-7a9ec808ad46d1e02e5e766a83adc5f88e5df264.tar.xz
kernel-qcow2-linux-7a9ec808ad46d1e02e5e766a83adc5f88e5df264.zip
media: v4l: fwnode: Add convenience function for parsing common external refs
Add v4l2_fwnode_parse_reference_sensor_common for parsing common sensor properties that refer to adjacent devices such as flash or lens driver chips. As this is an association only, there's little a regular driver needs to know about these devices as such. Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Acked-by: Hans Verkuil <hans.verkuil@cisco.com> Acked-by: Pavel Machek <pavel@ucw.cz> Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Diffstat (limited to 'include/media/v4l2-fwnode.h')
-rw-r--r--include/media/v4l2-fwnode.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/include/media/v4l2-fwnode.h b/include/media/v4l2-fwnode.h
index 105cfeee44ef..ca50108dfd8f 100644
--- a/include/media/v4l2-fwnode.h
+++ b/include/media/v4l2-fwnode.h
@@ -319,4 +319,25 @@ int v4l2_async_notifier_parse_fwnode_endpoints_by_port(
struct v4l2_fwnode_endpoint *vep,
struct v4l2_async_subdev *asd));
+/**
+ * v4l2_fwnode_reference_parse_sensor_common - parse common references on
+ * sensors for async sub-devices
+ * @dev: the device node the properties of which are parsed for references
+ * @notifier: the async notifier where the async subdevs will be added
+ *
+ * Parse common sensor properties for remote devices related to the
+ * sensor and set up async sub-devices for them.
+ *
+ * Any notifier populated using this function must be released with a call to
+ * v4l2_async_notifier_release() after it has been unregistered and the async
+ * sub-devices are no longer in use, even in the case the function returned an
+ * error.
+ *
+ * Return: 0 on success
+ * -ENOMEM if memory allocation failed
+ * -EINVAL if property parsing failed
+ */
+int v4l2_async_notifier_parse_fwnode_sensor_common(
+ struct device *dev, struct v4l2_async_notifier *notifier);
+
#endif /* _V4L2_FWNODE_H */