media: ccs: Add V4L2 controls from properties
authorSakari Ailus <sakari.ailus@linux.intel.com>
Tue, 28 Mar 2023 11:39:26 +0000 (14:39 +0300)
committerHans Verkuil <hverkuil-cisco@xs4all.nl>
Tue, 11 Apr 2023 16:54:02 +0000 (18:54 +0200)
Add V4L2 controls (currently CAMERA_SENSOR_ROTATION and
CAMERA_SENSOR_ORIENTATION) from properties.

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
drivers/media/i2c/ccs/ccs-core.c

index d15d492..daee36c 100644 (file)
@@ -796,14 +796,24 @@ static const struct v4l2_ctrl_ops ccs_ctrl_ops = {
 static int ccs_init_controls(struct ccs_sensor *sensor)
 {
        struct i2c_client *client = v4l2_get_subdevdata(&sensor->src->sd);
+       struct v4l2_fwnode_device_properties props;
        int rval;
 
-       rval = v4l2_ctrl_handler_init(&sensor->pixel_array->ctrl_handler, 17);
+       rval = v4l2_ctrl_handler_init(&sensor->pixel_array->ctrl_handler, 19);
        if (rval)
                return rval;
 
        sensor->pixel_array->ctrl_handler.lock = &sensor->mutex;
 
+       rval = v4l2_fwnode_device_parse(&client->dev, &props);
+       if (rval)
+               return rval;
+
+       rval = v4l2_ctrl_new_fwnode_properties(&sensor->pixel_array->ctrl_handler,
+                                              &ccs_ctrl_ops, &props);
+       if (rval)
+               return rval;
+
        switch (CCS_LIM(sensor, ANALOG_GAIN_CAPABILITY)) {
        case CCS_ANALOG_GAIN_CAPABILITY_GLOBAL: {
                struct {