media: i2c: st-vgxy61: add v4l2_fwnode ctrls parse and addition
authorAlain Volmat <alain.volmat@foss.st.com>
Mon, 27 Nov 2023 13:51:12 +0000 (14:51 +0100)
committerHans Verkuil <hverkuil-cisco@xs4all.nl>
Mon, 4 Dec 2023 09:37:47 +0000 (10:37 +0100)
Allow parsing of the v4l2_fwnode properties from the DT and addition
of those properties (such as orientation, rotation).

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
drivers/media/i2c/st-vgxy61.c

index c85fd580dcf4279f8a57dbf2d33fcbbbadc732d9..e4d37a19772406c72ac9536cecebbdf75fe9b024 100644 (file)
@@ -1403,6 +1403,7 @@ static int vgxy61_init_controls(struct vgxy61_dev *sensor)
        const struct v4l2_ctrl_ops *ops = &vgxy61_ctrl_ops;
        struct v4l2_ctrl_handler *hdl = &sensor->ctrl_handler;
        const struct vgxy61_mode_info *cur_mode = sensor->current_mode;
+       struct v4l2_fwnode_device_properties props;
        struct v4l2_ctrl *ctrl;
        int ret;
 
@@ -1457,6 +1458,14 @@ static int vgxy61_init_controls(struct vgxy61_dev *sensor)
                goto free_ctrls;
        }
 
+       ret = v4l2_fwnode_device_parse(&sensor->i2c_client->dev, &props);
+       if (ret)
+               goto free_ctrls;
+
+       ret = v4l2_ctrl_new_fwnode_properties(hdl, ops, &props);
+       if (ret)
+               goto free_ctrls;
+
        sensor->sd.ctrl_handler = hdl;
        return 0;