Parse async sub-devices by using
v4l2_subdev_fwnode_reference_parse_sensor_common().

These types devices aren't directly related to the sensor, but are
nevertheless handled by the smiapp driver due to the relationship of these
component to the main part of the camera module --- the sensor.

This does not yet address providing the user space with information on how
to associate the sensor or lens devices but the kernel now has the
necessary information to do that.

Signed-off-by: Sakari Ailus <sakari.ai...@linux.intel.com>
---
 drivers/media/i2c/smiapp/smiapp-core.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/media/i2c/smiapp/smiapp-core.c 
b/drivers/media/i2c/smiapp/smiapp-core.c
index e0b0c032c4ac..ae93d81d179c 100644
--- a/drivers/media/i2c/smiapp/smiapp-core.c
+++ b/drivers/media/i2c/smiapp/smiapp-core.c
@@ -2879,6 +2879,11 @@ static int smiapp_probe(struct i2c_client *client,
        v4l2_i2c_subdev_init(&sensor->src->sd, client, &smiapp_ops);
        sensor->src->sd.internal_ops = &smiapp_internal_src_ops;
 
+       rval = v4l2_subdev_fwnode_reference_parse_sensor_common(
+               &sensor->src->sd);
+       if (rval < 0 && rval != -ENOENT)
+               return rval;
+
        sensor->vana = devm_regulator_get(&client->dev, "vana");
        if (IS_ERR(sensor->vana)) {
                dev_err(&client->dev, "could not get regulator for vana\n");
-- 
2.11.0

Reply via email to