Linux Media Controller development
 help / color / mirror / Atom feed
From: Sakari Ailus <sakari.ailus@linux.intel.com>
To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: "Hans Verkuil" <hverkuil+cisco@kernel.org>,
	linux-media@vger.kernel.org,
	Prabhakar <prabhakar.csengg@gmail.com>,
	"Kate Hsuan" <hpa@redhat.com>,
	"Dave Stevenson" <dave.stevenson@raspberrypi.com>,
	"Tommaso Merciai" <tomm.merciai@gmail.com>,
	"Benjamin Mugnier" <benjamin.mugnier@foss.st.com>,
	"Sylvain Petinot" <sylvain.petinot@foss.st.com>,
	"Christophe JAILLET" <christophe.jaillet@wanadoo.fr>,
	"Julien Massot" <julien.massot@collabora.com>,
	"Naushir Patuck" <naush@raspberrypi.com>,
	"Yan, Dongcheng" <dongcheng.yan@intel.com>,
	"Stefan Klug" <stefan.klug@ideasonboard.com>,
	"Mirela Rabulea" <mirela.rabulea@nxp.com>,
	"André Apitzsch" <git@apitzsch.eu>,
	"Heimir Thor Sverrisson" <heimir.sverrisson@gmail.com>,
	"Kieran Bingham" <kieran.bingham@ideasonboard.com>,
	"Mehdi Djait" <mehdi.djait@linux.intel.com>,
	"Ricardo Ribalda Delgado" <ribalda@kernel.org>,
	"Hans de Goede" <hansg@kernel.org>,
	"Jacopo Mondi" <jacopo.mondi@ideasonboard.com>,
	"Tomi Valkeinen" <tomi.valkeinen@ideasonboard.com>,
	"David Plowman" <david.plowman@raspberrypi.com>,
	"Yu, Ong Hock" <ong.hock.yu@intel.com>,
	"Ng, Khai Wen" <khai.wen.ng@intel.com>,
	"Jai Luthra" <jai.luthra@ideasonboard.com>,
	"Rishikesh Donadkar" <r-donadkar@ti.com>
Subject: Re: [PATCH v7 11/14] media: v4l2-subdev: Add v4l2_subdev_call_ci_state_{active,try}
Date: Wed, 26 Aug 2026 10:51:59 +0300	[thread overview]
Message-ID: <ao6bHyVUrhr44eIu@kekkonen.localdomain> (raw)
In-Reply-To: <20260811083854.GA3120099@killaraus.ideasonboard.com>

On Tue, Aug 11, 2026 at 11:38:54AM +0300, Laurent Pinchart wrote:
> On Tue, Aug 11, 2026 at 10:20:32AM +0300, Sakari Ailus wrote:
> > On Mon, Aug 10, 2026 at 06:32:07PM +0300, Laurent Pinchart wrote:
> > > On Mon, Aug 10, 2026 at 04:12:31PM +0200, Hans Verkuil wrote:
> > > > On 07/08/2026 14:24, Sakari Ailus wrote:
> > > > > Add v4l2_subdev_call_ci_state_active(), and
> > > > > v4l2_subdev_call_ci_state_try() to call sub-device pad ops that
> > > > > take struct v4l2_subdev_client_info pointer as an argument. These ops
> > > > > cannot be called using v4l2_subdev_call_state_active() or
> > > > > v4l2_subdev_call_state_try() as the client_info argument precedes the
> > > > > state argument.
> > > > 
> > > > So if we have to jump through all these hoops just because the client_info
> > > > pointer precedes the state pointer in the pad op argument list, wouldn't it
> > > > be better to swap the order? For example by moving the client_info pointer
> > > > as the last argument?
> > > > 
> > > > Honestly, these macros are getting really hard to follow, and I'm not sure
> > > > it is worth it just to keep the client_info before the state pointer. Yes, that's
> > > > the logical order, but at the price of some very hard to read defines.
> > > > 
> > > > Or am I missing something?
> > > 
> > > Those are exactly the points I raised in the review of v6 :-)
> > 
> > And my answer then was that I prefer some additional complexity on the
> > framework side -- where we have a single implementation of this -- over
> > pushing less than ideal APIs to all the drivers.
> 
> I'm not convinced, but I won't make that a blocker if it's only me.
> 
> > To give some idea, we currently have about 200 drivers implementing the
> > set_fmt() pad op.
> 
> Does the order of arguments really matter for drivers implementing those
> operations ?

Each driver will implement these ops and it'll just look wrong in each of
them. The complication here is rather minor so my preference is to keep it.
It's already implemented, too.

-- 
Sakari Ailus

  reply	other threads:[~2026-08-26  7:51 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-07 12:23 [PATCH v7 00/14] Metadata series preparation Sakari Ailus
2026-08-07 12:23 ` [PATCH v7 01/14] media: Documentation: Improve pixel rate calculation documentation Sakari Ailus
2026-08-07 12:23 ` [PATCH v7 02/14] media: imx219: Account rate_factor in setting upper exposure limit Sakari Ailus
2026-08-07 12:23 ` [PATCH v7 03/14] media: imx219: Account for rate_factor in control steps Sakari Ailus
2026-08-10 15:10   ` Laurent Pinchart
2026-08-07 12:23 ` [PATCH v7 04/14] media: imx219: The horizontal blanking step is 8 Sakari Ailus
2026-08-07 12:24 ` [PATCH v7 05/14] media: imx219: Rename "binning" as "bin_hv" in imx219_set_pad_format Sakari Ailus
2026-08-07 12:24 ` [PATCH v7 06/14] media: Improve enable_streams and disable_streams documentation Sakari Ailus
2026-08-07 12:24 ` [PATCH v7 07/14] media: v4l2-subdev: Move subdev client capabilities into a new struct Sakari Ailus
2026-08-10 15:13   ` Laurent Pinchart
2026-08-07 12:24 ` [PATCH v7 08/14] media: v4l2-subdev: Move op check to sub-device op wrappers Sakari Ailus
2026-08-07 12:24 ` [PATCH v7 09/14] media: v4l2-subdev: Always call get_fmt() if set_fmt() is unavailable Sakari Ailus
2026-08-10 13:12   ` Hans Verkuil
2026-08-10 15:26   ` Laurent Pinchart
2026-08-07 12:24 ` [PATCH v7 10/14] media: v4l2-subdev: Don't assign set_fmt where it's equivalent to get_fmt Sakari Ailus
2026-08-10 13:13   ` Hans Verkuil
2026-08-10 15:30   ` Laurent Pinchart
2026-08-07 12:24 ` [PATCH v7 11/14] media: v4l2-subdev: Add v4l2_subdev_call_ci_state_{active,try} Sakari Ailus
2026-08-10 14:12   ` Hans Verkuil
2026-08-10 15:32     ` Laurent Pinchart
2026-08-11  7:20       ` Sakari Ailus
2026-08-11  8:38         ` Laurent Pinchart
2026-08-26  7:51           ` Sakari Ailus [this message]
2026-08-07 12:24 ` [PATCH v7 12/14] media: mt9m001: Pass sub-device state to set_selection() callback Sakari Ailus
2026-08-07 12:24 ` [PATCH v7 13/14] media: cvs: Drop comments on sub-device operations Sakari Ailus
2026-08-07 12:24 ` [PATCH v7 14/14] media: v4l2-subdev: Add struct v4l2_subdev_client_info pointer to pad ops Sakari Ailus

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=ao6bHyVUrhr44eIu@kekkonen.localdomain \
    --to=sakari.ailus@linux.intel.com \
    --cc=benjamin.mugnier@foss.st.com \
    --cc=christophe.jaillet@wanadoo.fr \
    --cc=dave.stevenson@raspberrypi.com \
    --cc=david.plowman@raspberrypi.com \
    --cc=dongcheng.yan@intel.com \
    --cc=git@apitzsch.eu \
    --cc=hansg@kernel.org \
    --cc=heimir.sverrisson@gmail.com \
    --cc=hpa@redhat.com \
    --cc=hverkuil+cisco@kernel.org \
    --cc=jacopo.mondi@ideasonboard.com \
    --cc=jai.luthra@ideasonboard.com \
    --cc=julien.massot@collabora.com \
    --cc=khai.wen.ng@intel.com \
    --cc=kieran.bingham@ideasonboard.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-media@vger.kernel.org \
    --cc=mehdi.djait@linux.intel.com \
    --cc=mirela.rabulea@nxp.com \
    --cc=naush@raspberrypi.com \
    --cc=ong.hock.yu@intel.com \
    --cc=prabhakar.csengg@gmail.com \
    --cc=r-donadkar@ti.com \
    --cc=ribalda@kernel.org \
    --cc=stefan.klug@ideasonboard.com \
    --cc=sylvain.petinot@foss.st.com \
    --cc=tomi.valkeinen@ideasonboard.com \
    --cc=tomm.merciai@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox