public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] media: i2c: ov02e10: Add get_selection support
@ 2026-04-26 20:01 Marcel Berger
  2026-04-30 10:57 ` Kieran Bingham
  0 siblings, 1 reply; 2+ messages in thread
From: Marcel Berger @ 2026-04-26 20:01 UTC (permalink / raw)
  To: Bryan O'Donoghue, Hans de Goede, Sakari Ailus,
	Mauro Carvalho Chehab
  Cc: linux-media, linux-kernel, Marcel Berger

Signed-off-by: Marcel Berger <marbe@gmx.de>
---
 drivers/media/i2c/ov02e10.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/drivers/media/i2c/ov02e10.c b/drivers/media/i2c/ov02e10.c
index 4a64cba..097188f 100644
--- a/drivers/media/i2c/ov02e10.c
+++ b/drivers/media/i2c/ov02e10.c
@@ -655,6 +655,30 @@ static int ov02e10_get_format(struct v4l2_subdev *sd,
 	return 0;
 }
 
+static int ov02e10_get_selection(struct v4l2_subdev *sd,
+				 struct v4l2_subdev_state *sd_state,
+				 struct v4l2_subdev_selection *sel)
+{
+	struct ov02e10 *ov02e10 = to_ov02e10(sd);
+
+	if (sel->pad != 0)
+		return -EINVAL;
+
+	switch (sel->target) {
+	case V4L2_SEL_TGT_CROP:
+	case V4L2_SEL_TGT_CROP_DEFAULT:
+	case V4L2_SEL_TGT_CROP_BOUNDS:
+	case V4L2_SEL_TGT_NATIVE_SIZE:
+		sel->r.left = 0;
+		sel->r.top = 0;
+		sel->r.width = ov02e10->cur_mode->width;
+		sel->r.height = ov02e10->cur_mode->height;
+		return 0;
+	default:
+		return -EINVAL;
+	}
+}
+
 static int ov02e10_enum_mbus_code(struct v4l2_subdev *sd,
 				  struct v4l2_subdev_state *sd_state,
 				  struct v4l2_subdev_mbus_code_enum *code)
@@ -703,6 +727,7 @@ static const struct v4l2_subdev_pad_ops ov02e10_pad_ops = {
 	.get_fmt = ov02e10_get_format,
 	.enum_mbus_code = ov02e10_enum_mbus_code,
 	.enum_frame_size = ov02e10_enum_frame_size,
+	.get_selection = ov02e10_get_selection,
 	.enable_streams = ov02e10_enable_streams,
 	.disable_streams = ov02e10_disable_streams,
 };
-- 
2.53.0


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] media: i2c: ov02e10: Add get_selection support
  2026-04-26 20:01 [PATCH] media: i2c: ov02e10: Add get_selection support Marcel Berger
@ 2026-04-30 10:57 ` Kieran Bingham
  0 siblings, 0 replies; 2+ messages in thread
From: Kieran Bingham @ 2026-04-30 10:57 UTC (permalink / raw)
  To: Bryan O'Donoghue, Hans de Goede, Marcel Berger,
	Mauro Carvalho Chehab, Sakari Ailus
  Cc: linux-media, linux-kernel, Marcel Berger

Quoting Marcel Berger (2026-04-26 21:01:43)

Usually we'd try to add a bit more detail to the commit message here
please. Even if it's simple.

> Signed-off-by: Marcel Berger <marbe@gmx.de>
> ---
>  drivers/media/i2c/ov02e10.c | 25 +++++++++++++++++++++++++
>  1 file changed, 25 insertions(+)
> 
> diff --git a/drivers/media/i2c/ov02e10.c b/drivers/media/i2c/ov02e10.c
> index 4a64cba..097188f 100644
> --- a/drivers/media/i2c/ov02e10.c
> +++ b/drivers/media/i2c/ov02e10.c
> @@ -655,6 +655,30 @@ static int ov02e10_get_format(struct v4l2_subdev *sd,
>         return 0;
>  }
>  
> +static int ov02e10_get_selection(struct v4l2_subdev *sd,
> +                                struct v4l2_subdev_state *sd_state,
> +                                struct v4l2_subdev_selection *sel)
> +{
> +       struct ov02e10 *ov02e10 = to_ov02e10(sd);
> +
> +       if (sel->pad != 0)
> +               return -EINVAL;
> +
> +       switch (sel->target) {
> +       case V4L2_SEL_TGT_CROP:
> +       case V4L2_SEL_TGT_CROP_DEFAULT:
> +       case V4L2_SEL_TGT_CROP_BOUNDS:
> +       case V4L2_SEL_TGT_NATIVE_SIZE:
> +               sel->r.left = 0;
> +               sel->r.top = 0;
> +               sel->r.width = ov02e10->cur_mode->width;
> +               sel->r.height = ov02e10->cur_mode->height;

I'm afraid this looks wrong, or perhaps insufficient ?

These should report the correct properties of the camera, so I'd expect
somewhere for this to report the full resolution of the camera active
area - not just always pass through the current active mode.

--
Kieran


> +               return 0;
> +       default:
> +               return -EINVAL;
> +       }
> +}
> +
>  static int ov02e10_enum_mbus_code(struct v4l2_subdev *sd,
>                                   struct v4l2_subdev_state *sd_state,
>                                   struct v4l2_subdev_mbus_code_enum *code)
> @@ -703,6 +727,7 @@ static const struct v4l2_subdev_pad_ops ov02e10_pad_ops = {
>         .get_fmt = ov02e10_get_format,
>         .enum_mbus_code = ov02e10_enum_mbus_code,
>         .enum_frame_size = ov02e10_enum_frame_size,
> +       .get_selection = ov02e10_get_selection,
>         .enable_streams = ov02e10_enable_streams,
>         .disable_streams = ov02e10_disable_streams,
>  };
> -- 
> 2.53.0
>

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-04-30 10:58 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-26 20:01 [PATCH] media: i2c: ov02e10: Add get_selection support Marcel Berger
2026-04-30 10:57 ` Kieran Bingham

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox