All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Paweł Anikiel" <panikiel@google.com>
To: kieran.bingham@ideasonboard.com, mchehab@kernel.org,
	 hverkuil-cisco@xs4all.nl, tharvey@gateworks.com,
	 niklas.soderlund@ragnatech.se, prabhakar.csengg@gmail.com,
	 charles-antoine.couret@nexvision.fr, thierry.reding@gmail.com,
	 jonathanh@nvidia.com, skomatineni@nvidia.com,
	luca.ceresoli@bootlin.com
Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org,
	chromeos-krk-upstreaming@google.com,
	"Paweł Anikiel" <panikiel@google.com>
Subject: [PATCH 05/16] media: i2c: adv7842: Switch dv timing callbacks to pad ops
Date: Fri,  5 Apr 2024 14:14:00 +0000	[thread overview]
Message-ID: <20240405141411.1807189-6-panikiel@google.com> (raw)
In-Reply-To: <20240405141411.1807189-1-panikiel@google.com>

Change all (s|g|query)_dv_timings subdev callbacks to include
a pad argument.

Signed-off-by: Paweł Anikiel <panikiel@google.com>
---
 drivers/media/i2c/adv7842.c | 25 +++++++++++++++++--------
 1 file changed, 17 insertions(+), 8 deletions(-)

diff --git a/drivers/media/i2c/adv7842.c b/drivers/media/i2c/adv7842.c
index 2ad0f9f5503d..f2d4217310e7 100644
--- a/drivers/media/i2c/adv7842.c
+++ b/drivers/media/i2c/adv7842.c
@@ -1518,7 +1518,7 @@ static void adv7842_fill_optional_dv_timings_fields(struct v4l2_subdev *sd,
 	timings->bt.flags |= V4L2_DV_FL_CAN_DETECT_REDUCED_FPS;
 }
 
-static int adv7842_query_dv_timings(struct v4l2_subdev *sd,
+static int adv7842_query_dv_timings(struct v4l2_subdev *sd, unsigned int pad,
 				    struct v4l2_dv_timings *timings)
 {
 	struct adv7842_state *state = to_state(sd);
@@ -1527,6 +1527,9 @@ static int adv7842_query_dv_timings(struct v4l2_subdev *sd,
 
 	v4l2_dbg(1, debug, sd, "%s:\n", __func__);
 
+	if (pad != 0)
+		return -EINVAL;
+
 	memset(timings, 0, sizeof(struct v4l2_dv_timings));
 
 	/* SDP block */
@@ -1643,7 +1646,7 @@ static int adv7842_query_dv_timings(struct v4l2_subdev *sd,
 	return 0;
 }
 
-static int adv7842_s_dv_timings(struct v4l2_subdev *sd,
+static int adv7842_s_dv_timings(struct v4l2_subdev *sd, unsigned int pad,
 				struct v4l2_dv_timings *timings)
 {
 	struct adv7842_state *state = to_state(sd);
@@ -1652,6 +1655,9 @@ static int adv7842_s_dv_timings(struct v4l2_subdev *sd,
 
 	v4l2_dbg(1, debug, sd, "%s:\n", __func__);
 
+	if (pad != 0)
+		return -EINVAL;
+
 	if (state->mode == ADV7842_MODE_SDP)
 		return -ENODATA;
 
@@ -1689,11 +1695,14 @@ static int adv7842_s_dv_timings(struct v4l2_subdev *sd,
 	return 0;
 }
 
-static int adv7842_g_dv_timings(struct v4l2_subdev *sd,
+static int adv7842_g_dv_timings(struct v4l2_subdev *sd, unsigned int pad,
 				struct v4l2_dv_timings *timings)
 {
 	struct adv7842_state *state = to_state(sd);
 
+	if (pad != 0)
+		return -EINVAL;
+
 	if (state->mode == ADV7842_MODE_SDP)
 		return -ENODATA;
 	*timings = state->timings;
@@ -2780,7 +2789,7 @@ static int adv7842_cp_log_status(struct v4l2_subdev *sd)
 				"interlaced" : "progressive",
 			hs_pol, vs_pol);
 	}
-	if (adv7842_query_dv_timings(sd, &timings))
+	if (adv7842_query_dv_timings(sd, 0, &timings))
 		v4l2_info(sd, "No video detected\n");
 	else
 		v4l2_print_dv_timings(sd->name, "Detected format: ",
@@ -3226,7 +3235,7 @@ static int adv7842_command_ram_test(struct v4l2_subdev *sd)
 
 	memset(&state->timings, 0, sizeof(struct v4l2_dv_timings));
 
-	adv7842_s_dv_timings(sd, &timings);
+	adv7842_s_dv_timings(sd, 0, &timings);
 
 	return ret;
 }
@@ -3298,9 +3307,6 @@ static const struct v4l2_subdev_video_ops adv7842_video_ops = {
 	.s_routing = adv7842_s_routing,
 	.querystd = adv7842_querystd,
 	.g_input_status = adv7842_g_input_status,
-	.s_dv_timings = adv7842_s_dv_timings,
-	.g_dv_timings = adv7842_g_dv_timings,
-	.query_dv_timings = adv7842_query_dv_timings,
 };
 
 static const struct v4l2_subdev_pad_ops adv7842_pad_ops = {
@@ -3309,6 +3315,9 @@ static const struct v4l2_subdev_pad_ops adv7842_pad_ops = {
 	.set_fmt = adv7842_set_format,
 	.get_edid = adv7842_get_edid,
 	.set_edid = adv7842_set_edid,
+	.s_dv_timings = adv7842_s_dv_timings,
+	.g_dv_timings = adv7842_g_dv_timings,
+	.query_dv_timings = adv7842_query_dv_timings,
 	.enum_dv_timings = adv7842_enum_dv_timings,
 	.dv_timings_cap = adv7842_dv_timings_cap,
 };
-- 
2.44.0.478.gd926399ef9-goog


  parent reply	other threads:[~2024-04-05 14:15 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-05 14:13 [PATCH 00/16] Switch subdev dv timing callbacks to pad ops Paweł Anikiel
2024-04-05 14:13 ` [PATCH 01/16] media: v4l2-subdev: Add pad versions of dv timing subdev calls Paweł Anikiel
2024-04-05 14:13 ` [PATCH 02/16] media: i2c: adv748x: Switch dv timing callbacks to pad ops Paweł Anikiel
2024-04-06 14:04   ` Niklas Söderlund
2024-04-05 14:13 ` [PATCH 03/16] media: i2c: adv7511: " Paweł Anikiel
2024-04-05 14:13 ` [PATCH 04/16] media: i2c: adv7604: " Paweł Anikiel
2024-04-05 14:14 ` Paweł Anikiel [this message]
2024-04-05 14:14 ` [PATCH 06/16] media: i2c: tc358743: " Paweł Anikiel
2024-04-05 14:14 ` [PATCH 07/16] media: i2c: tda1997x: " Paweł Anikiel
2024-04-05 14:14 ` [PATCH 08/16] media: i2c: ths7303: " Paweł Anikiel
2024-04-05 14:14 ` [PATCH 09/16] media: i2c: ths8200: " Paweł Anikiel
2024-04-05 14:14 ` [PATCH 10/16] media: i2c: tvp7002: " Paweł Anikiel
2024-04-05 14:14 ` [PATCH 11/16] media: spi: gs1662: " Paweł Anikiel
2024-04-05 14:14 ` [PATCH 12/16] media: cobalt: Use pad variant of dv timing subdev calls Paweł Anikiel
2024-04-05 14:14 ` [PATCH 13/16] media: rcar-vin: " Paweł Anikiel
2024-04-06 14:03   ` Niklas Söderlund
2024-04-05 14:14 ` [PATCH 14/16] media: vpif_capture: " Paweł Anikiel
2024-04-05 14:14 ` [PATCH 15/16] media: tegra-video: " Paweł Anikiel
2024-04-05 14:14 ` [PATCH 16/16] media: v4l2-subdev: Remove non-pad dv timing callbacks Paweł Anikiel
2024-04-08 14:15 ` [PATCH 00/16] Switch subdev dv timing callbacks to pad ops Hans Verkuil
2024-04-08 14:17   ` Hans Verkuil
2024-04-08 15:25     ` Paweł Anikiel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240405141411.1807189-6-panikiel@google.com \
    --to=panikiel@google.com \
    --cc=charles-antoine.couret@nexvision.fr \
    --cc=chromeos-krk-upstreaming@google.com \
    --cc=hverkuil-cisco@xs4all.nl \
    --cc=jonathanh@nvidia.com \
    --cc=kieran.bingham@ideasonboard.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=luca.ceresoli@bootlin.com \
    --cc=mchehab@kernel.org \
    --cc=niklas.soderlund@ragnatech.se \
    --cc=prabhakar.csengg@gmail.com \
    --cc=skomatineni@nvidia.com \
    --cc=tharvey@gateworks.com \
    --cc=thierry.reding@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.