This is an automatic generated email to let you know that the following patch 
were queued:

Subject: media: atomisp: ov2680: Add init_cfg pad-op
Author:  Hans de Goede <[email protected]>
Date:    Mon May 29 11:37:25 2023 +0100

Having an init_cfg to initialize the passed in subdev-state is
important to make which == V4L2_SUBDEV_FORMAT_TRY ops work when
userspace is talking to a /dev/v4l2-subdev# node.

Copy the ov2680_init_cfg() from the standard drivers/media/i2c/ov2680.c
driver.

This is esp. relevant once support for cropping is added where
the v4l2_subdev_state.pads[pad].try_crop rectangle needs to be set
correctly for set_fmt which == V4L2_SUBDEV_FORMAT_TRY calls to work.

Link: https://lore.kernel.org/r/[email protected]

Signed-off-by: Hans de Goede <[email protected]>
Reviewed-by: Andy Shevchenko <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>

 drivers/staging/media/atomisp/i2c/atomisp-ov2680.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

---

diff --git a/drivers/staging/media/atomisp/i2c/atomisp-ov2680.c 
b/drivers/staging/media/atomisp/i2c/atomisp-ov2680.c
index b1585b4d2c4d..b1cb6135bbc3 100644
--- a/drivers/staging/media/atomisp/i2c/atomisp-ov2680.c
+++ b/drivers/staging/media/atomisp/i2c/atomisp-ov2680.c
@@ -357,6 +357,21 @@ static int ov2680_get_fmt(struct v4l2_subdev *sd,
        return 0;
 }
 
+static int ov2680_init_cfg(struct v4l2_subdev *sd,
+                          struct v4l2_subdev_state *sd_state)
+{
+       struct v4l2_subdev_format fmt = {
+               .which = sd_state ? V4L2_SUBDEV_FORMAT_TRY
+               : V4L2_SUBDEV_FORMAT_ACTIVE,
+               .format = {
+                       .width = 800,
+                       .height = 600,
+               },
+       };
+
+       return ov2680_set_fmt(sd, sd_state, &fmt);
+}
+
 static int ov2680_detect(struct i2c_client *client)
 {
        struct i2c_adapter *adapter = client->adapter;
@@ -537,6 +552,7 @@ static const struct v4l2_subdev_sensor_ops 
ov2680_sensor_ops = {
 };
 
 static const struct v4l2_subdev_pad_ops ov2680_pad_ops = {
+       .init_cfg = ov2680_init_cfg,
        .enum_mbus_code = ov2680_enum_mbus_code,
        .enum_frame_size = ov2680_enum_frame_size,
        .enum_frame_interval = ov2680_enum_frame_interval,

_______________________________________________
linuxtv-commits mailing list
[email protected]
https://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to