From: Andy Shevchenko <andriy.shevchenko@intel.com>
To: Frank Li <Frank.li@nxp.com>
Cc: "Alexandre Belloni" <alexandre.belloni@bootlin.com>,
"Miquel Raynal" <miquel.raynal@bootlin.com>,
"Jonathan Cameron" <jic23@kernel.org>,
"David Lechner" <dlechner@baylibre.com>,
"Nuno Sá" <nuno.sa@analog.com>,
"Andy Shevchenko" <andy@kernel.org>,
"Rob Herring" <robh@kernel.org>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
linux-i3c@lists.infradead.org, linux-kernel@vger.kernel.org,
imx@lists.linux.dev, linux-iio@vger.kernel.org,
joshua.yeong@starfivetech.com, devicetree@vger.kernel.org
Subject: Re: [PATCH v6 1/5] i3c: Add HDR API support
Date: Fri, 24 Oct 2025 19:03:41 +0300 [thread overview]
Message-ID: <aPujXUO2h5zHy2fj@smile.fi.intel.com> (raw)
In-Reply-To: <aPuHKs3u344zoI2+@lizhi-Precision-Tower-5810>
On Fri, Oct 24, 2025 at 10:03:22AM -0400, Frank Li wrote:
> On Fri, Oct 24, 2025 at 09:13:27AM +0300, Andy Shevchenko wrote:
> > On Thu, Oct 23, 2025 at 07:53:15PM -0400, Frank Li wrote:
> > > On Thu, Oct 23, 2025 at 09:22:55PM +0300, Andy Shevchenko wrote:
> > > > On Thu, Oct 23, 2025 at 11:18:37AM -0400, Frank Li wrote:
> > > > > On Thu, Oct 23, 2025 at 11:23:39AM +0300, Andy Shevchenko wrote:
> > > > > > On Tue, Oct 14, 2025 at 12:40:00PM -0400, Frank Li wrote:
...
> > > > > > > +/* keep back compatible */
> > > > > > > +#define i3c_priv_xfer i3c_xfer
> > > > > >
> > > > > > How many of the current users do this? Can't we just rename treewide?
> > > > >
> > > > > git grep -r priv_xfer drivers/
> > > >
> > > > `git grep -lw ...` is a better approach :-)
> > > >
> > > > > drivers/base/regmap/regmap-i3c.c: struct i3c_priv_xfer xfers[] = {
> > > > > drivers/base/regmap/regmap-i3c.c: return i3c_device_do_priv_xfers(i3c, xfers, 1);
> > > > > drivers/base/regmap/regmap-i3c.c: struct i3c_priv_xfer xfers[2];
> > > > > drivers/base/regmap/regmap-i3c.c: return i3c_device_do_priv_xfers(i3c, xfers, 2);
> > > > > drivers/hwmon/lm75.c: struct i3c_priv_xfer xfers[] = {
> > > > > drivers/hwmon/lm75.c: ret = i3c_device_do_priv_xfers(i3cdev, xfers, 2);
> > > > > drivers/hwmon/lm75.c: struct i3c_priv_xfer xfers[] = {
> > > > > drivers/hwmon/lm75.c: return i3c_device_do_priv_xfers(i3cdev, xfers, 1);
> > > > > drivers/i3c/device.c:int i3c_device_do_xfers(struct i3c_device *dev, struct i3c_priv_xfer *xfers,
> > > > > drivers/i3c/master.c: if (!ops->priv_xfers && !ops->i3c_xfers)
> > > > > drivers/i3c/master.c: if (!master->ops->priv_xfers)
> > > > > drivers/i3c/master.c: return master->ops->priv_xfers(dev, xfers, nxfers);
> > > > > drivers/i3c/master/dw-i3c-master.c:static int dw_i3c_master_priv_xfers(struct i3c_dev_desc *dev,
> > > > > drivers/i3c/master/dw-i3c-master.c: struct i3c_priv_xfer *i3c_xfers,
> > > > > drivers/i3c/master/dw-i3c-master.c: .priv_xfers = dw_i3c_master_priv_xfers,
> > > > > drivers/i3c/master/i3c-master-cdns.c:static int cdns_i3c_master_priv_xfers(struct i3c_dev_desc *dev,
> > > > > drivers/i3c/master/i3c-master-cdns.c: struct i3c_priv_xfer *xfers,
> > > > > drivers/i3c/master/i3c-master-cdns.c: .priv_xfers = cdns_i3c_master_priv_xfers,
> > > > > drivers/i3c/master/mipi-i3c-hci/core.c:static int i3c_hci_priv_xfers(struct i3c_dev_desc *dev,
> > > > > drivers/i3c/master/mipi-i3c-hci/core.c: struct i3c_priv_xfer *i3c_xfers,
> > > > > drivers/i3c/master/mipi-i3c-hci/core.c: .priv_xfers = i3c_hci_priv_xfers,
> > > > > drivers/i3c/master/renesas-i3c.c:static int renesas_i3c_priv_xfers(struct i3c_dev_desc *dev, struct i3c_priv_xfer *i3c_xfers,
> > > > > drivers/i3c/master/renesas-i3c.c: .priv_xfers = renesas_i3c_priv_xfers,
> > > > > drivers/i3c/master/svc-i3c-master.c: struct i3c_priv_xfer *xfer;
> > > > > drivers/i3c/master/svc-i3c-master.c: * at svc_i3c_master_priv_xfers().
> > > > > drivers/i3c/master/svc-i3c-master.c:static int svc_i3c_master_i3c_xfers(struct i3c_dev_desc *dev, struct i3c_priv_xfer *xfers,
> > > > > drivers/net/mctp/mctp-i3c.c: struct i3c_priv_xfer xfer = { .rnw = 1, .len = mi->mrl };
> > > > > drivers/net/mctp/mctp-i3c.c: rc = i3c_device_do_priv_xfers(mi->i3c, &xfer, 1);
> > > > > drivers/net/mctp/mctp-i3c.c: struct i3c_priv_xfer xfer = { .rnw = false };
> > > > > drivers/net/mctp/mctp-i3c.c: rc = i3c_device_do_priv_xfers(mi->i3c, &xfer, 1);
> > > > >
> > > > > After this patch merged, I can clean up it at difference subsytem. After
> > > > > all cleanup done, we can safely remove this define.
> > > >
> > > > I counted 9. I think it's not a big deal to convert all of them at once without
> > > > leaving an intermediate state. But this is a call for the I³C subsystem maintaiiner.
> > >
> > > There also are other cleanup works. The key point is that everyone agree my
> > > HDR solution. Cleanup these is not big deal. I am not sure how to avoid
> > > build broken at difference subsystem.
> > >
> > > After this patch merge, cleanup will be easier and safer.
> >
> > Then leave that renaming to the cleanup series. No need to use a define, just
> > use the old function name.
>
> Using old function name for HDR will be very strange and conflict with
> spec's name convention.
>
> The term 'private' transfer in i3c spec is specific for SDR transfer. It
> is neccessary steps to complete whole naming switches.
Right, but this out of scope OR a prerequisite to this series. My point that
these two shouldn't be mixed and one left half-baked.
--
With Best Regards,
Andy Shevchenko
WARNING: multiple messages have this Message-ID (diff)
From: Andy Shevchenko <andriy.shevchenko@intel.com>
To: Frank Li <Frank.li@nxp.com>
Cc: "Alexandre Belloni" <alexandre.belloni@bootlin.com>,
"Miquel Raynal" <miquel.raynal@bootlin.com>,
"Jonathan Cameron" <jic23@kernel.org>,
"David Lechner" <dlechner@baylibre.com>,
"Nuno Sá" <nuno.sa@analog.com>,
"Andy Shevchenko" <andy@kernel.org>,
"Rob Herring" <robh@kernel.org>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
linux-i3c@lists.infradead.org, linux-kernel@vger.kernel.org,
imx@lists.linux.dev, linux-iio@vger.kernel.org,
joshua.yeong@starfivetech.com, devicetree@vger.kernel.org
Subject: Re: [PATCH v6 1/5] i3c: Add HDR API support
Date: Fri, 24 Oct 2025 19:03:41 +0300 [thread overview]
Message-ID: <aPujXUO2h5zHy2fj@smile.fi.intel.com> (raw)
In-Reply-To: <aPuHKs3u344zoI2+@lizhi-Precision-Tower-5810>
On Fri, Oct 24, 2025 at 10:03:22AM -0400, Frank Li wrote:
> On Fri, Oct 24, 2025 at 09:13:27AM +0300, Andy Shevchenko wrote:
> > On Thu, Oct 23, 2025 at 07:53:15PM -0400, Frank Li wrote:
> > > On Thu, Oct 23, 2025 at 09:22:55PM +0300, Andy Shevchenko wrote:
> > > > On Thu, Oct 23, 2025 at 11:18:37AM -0400, Frank Li wrote:
> > > > > On Thu, Oct 23, 2025 at 11:23:39AM +0300, Andy Shevchenko wrote:
> > > > > > On Tue, Oct 14, 2025 at 12:40:00PM -0400, Frank Li wrote:
...
> > > > > > > +/* keep back compatible */
> > > > > > > +#define i3c_priv_xfer i3c_xfer
> > > > > >
> > > > > > How many of the current users do this? Can't we just rename treewide?
> > > > >
> > > > > git grep -r priv_xfer drivers/
> > > >
> > > > `git grep -lw ...` is a better approach :-)
> > > >
> > > > > drivers/base/regmap/regmap-i3c.c: struct i3c_priv_xfer xfers[] = {
> > > > > drivers/base/regmap/regmap-i3c.c: return i3c_device_do_priv_xfers(i3c, xfers, 1);
> > > > > drivers/base/regmap/regmap-i3c.c: struct i3c_priv_xfer xfers[2];
> > > > > drivers/base/regmap/regmap-i3c.c: return i3c_device_do_priv_xfers(i3c, xfers, 2);
> > > > > drivers/hwmon/lm75.c: struct i3c_priv_xfer xfers[] = {
> > > > > drivers/hwmon/lm75.c: ret = i3c_device_do_priv_xfers(i3cdev, xfers, 2);
> > > > > drivers/hwmon/lm75.c: struct i3c_priv_xfer xfers[] = {
> > > > > drivers/hwmon/lm75.c: return i3c_device_do_priv_xfers(i3cdev, xfers, 1);
> > > > > drivers/i3c/device.c:int i3c_device_do_xfers(struct i3c_device *dev, struct i3c_priv_xfer *xfers,
> > > > > drivers/i3c/master.c: if (!ops->priv_xfers && !ops->i3c_xfers)
> > > > > drivers/i3c/master.c: if (!master->ops->priv_xfers)
> > > > > drivers/i3c/master.c: return master->ops->priv_xfers(dev, xfers, nxfers);
> > > > > drivers/i3c/master/dw-i3c-master.c:static int dw_i3c_master_priv_xfers(struct i3c_dev_desc *dev,
> > > > > drivers/i3c/master/dw-i3c-master.c: struct i3c_priv_xfer *i3c_xfers,
> > > > > drivers/i3c/master/dw-i3c-master.c: .priv_xfers = dw_i3c_master_priv_xfers,
> > > > > drivers/i3c/master/i3c-master-cdns.c:static int cdns_i3c_master_priv_xfers(struct i3c_dev_desc *dev,
> > > > > drivers/i3c/master/i3c-master-cdns.c: struct i3c_priv_xfer *xfers,
> > > > > drivers/i3c/master/i3c-master-cdns.c: .priv_xfers = cdns_i3c_master_priv_xfers,
> > > > > drivers/i3c/master/mipi-i3c-hci/core.c:static int i3c_hci_priv_xfers(struct i3c_dev_desc *dev,
> > > > > drivers/i3c/master/mipi-i3c-hci/core.c: struct i3c_priv_xfer *i3c_xfers,
> > > > > drivers/i3c/master/mipi-i3c-hci/core.c: .priv_xfers = i3c_hci_priv_xfers,
> > > > > drivers/i3c/master/renesas-i3c.c:static int renesas_i3c_priv_xfers(struct i3c_dev_desc *dev, struct i3c_priv_xfer *i3c_xfers,
> > > > > drivers/i3c/master/renesas-i3c.c: .priv_xfers = renesas_i3c_priv_xfers,
> > > > > drivers/i3c/master/svc-i3c-master.c: struct i3c_priv_xfer *xfer;
> > > > > drivers/i3c/master/svc-i3c-master.c: * at svc_i3c_master_priv_xfers().
> > > > > drivers/i3c/master/svc-i3c-master.c:static int svc_i3c_master_i3c_xfers(struct i3c_dev_desc *dev, struct i3c_priv_xfer *xfers,
> > > > > drivers/net/mctp/mctp-i3c.c: struct i3c_priv_xfer xfer = { .rnw = 1, .len = mi->mrl };
> > > > > drivers/net/mctp/mctp-i3c.c: rc = i3c_device_do_priv_xfers(mi->i3c, &xfer, 1);
> > > > > drivers/net/mctp/mctp-i3c.c: struct i3c_priv_xfer xfer = { .rnw = false };
> > > > > drivers/net/mctp/mctp-i3c.c: rc = i3c_device_do_priv_xfers(mi->i3c, &xfer, 1);
> > > > >
> > > > > After this patch merged, I can clean up it at difference subsytem. After
> > > > > all cleanup done, we can safely remove this define.
> > > >
> > > > I counted 9. I think it's not a big deal to convert all of them at once without
> > > > leaving an intermediate state. But this is a call for the I³C subsystem maintaiiner.
> > >
> > > There also are other cleanup works. The key point is that everyone agree my
> > > HDR solution. Cleanup these is not big deal. I am not sure how to avoid
> > > build broken at difference subsystem.
> > >
> > > After this patch merge, cleanup will be easier and safer.
> >
> > Then leave that renaming to the cleanup series. No need to use a define, just
> > use the old function name.
>
> Using old function name for HDR will be very strange and conflict with
> spec's name convention.
>
> The term 'private' transfer in i3c spec is specific for SDR transfer. It
> is neccessary steps to complete whole naming switches.
Right, but this out of scope OR a prerequisite to this series. My point that
these two shouldn't be mixed and one left half-baked.
--
With Best Regards,
Andy Shevchenko
--
linux-i3c mailing list
linux-i3c@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-i3c
next prev parent reply other threads:[~2025-10-24 16:03 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-14 16:39 [PATCH v6 0/5] i3c: Add basic HDR mode support Frank Li
2025-10-14 16:39 ` Frank Li
2025-10-14 16:40 ` [PATCH v6 1/5] i3c: Add HDR API support Frank Li
2025-10-14 16:40 ` Frank Li
2025-10-23 8:23 ` Andy Shevchenko
2025-10-23 8:23 ` Andy Shevchenko
2025-10-23 15:18 ` Frank Li
2025-10-23 15:18 ` Frank Li
2025-10-23 18:22 ` Andy Shevchenko
2025-10-23 18:22 ` Andy Shevchenko
2025-10-23 23:53 ` Frank Li
2025-10-23 23:53 ` Frank Li
2025-10-24 6:13 ` Andy Shevchenko
2025-10-24 6:13 ` Andy Shevchenko
2025-10-24 14:03 ` Frank Li
2025-10-24 14:03 ` Frank Li
2025-10-24 16:03 ` Andy Shevchenko [this message]
2025-10-24 16:03 ` Andy Shevchenko
2025-10-24 16:29 ` Frank Li
2025-10-24 16:29 ` Frank Li
2025-10-24 21:12 ` Alexandre Belloni
2025-10-24 21:12 ` Alexandre Belloni
2025-10-14 16:40 ` [PATCH v6 2/5] i3c: master: svc: Replace bool rnw with union for HDR support Frank Li
2025-10-14 16:40 ` Frank Li
2025-10-23 8:26 ` Andy Shevchenko
2025-10-23 8:26 ` Andy Shevchenko
2025-10-23 15:21 ` Frank Li
2025-10-23 15:21 ` Frank Li
2025-10-14 16:40 ` [PATCH v6 3/5] i3c: master: svc: Add basic HDR mode support Frank Li
2025-10-14 16:40 ` Frank Li
2025-10-23 8:29 ` Andy Shevchenko
2025-10-23 8:29 ` Andy Shevchenko
2025-10-23 15:24 ` Frank Li
2025-10-23 15:24 ` Frank Li
2025-10-23 18:25 ` Andy Shevchenko
2025-10-23 18:25 ` Andy Shevchenko
2025-10-23 23:44 ` Frank Li
2025-10-23 23:44 ` Frank Li
2025-10-14 16:40 ` [PATCH v6 4/5] dt-bindings: trivial-devices: add MEMSIC 3-axis magnetometer Frank Li
2025-10-14 16:40 ` Frank Li
2025-10-14 16:40 ` [PATCH v6 5/5] iio: magnetometer: Add mmc5633 sensor Frank Li
2025-10-14 16:40 ` Frank Li
2025-10-18 16:52 ` Jonathan Cameron
2025-10-18 16:52 ` Jonathan Cameron
2025-10-18 16:54 ` Jonathan Cameron
2025-10-18 16:54 ` Jonathan Cameron
2025-10-23 8:46 ` Andy Shevchenko
2025-10-23 8:46 ` Andy Shevchenko
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=aPujXUO2h5zHy2fj@smile.fi.intel.com \
--to=andriy.shevchenko@intel.com \
--cc=Frank.li@nxp.com \
--cc=alexandre.belloni@bootlin.com \
--cc=andy@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dlechner@baylibre.com \
--cc=imx@lists.linux.dev \
--cc=jic23@kernel.org \
--cc=joshua.yeong@starfivetech.com \
--cc=krzk+dt@kernel.org \
--cc=linux-i3c@lists.infradead.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=miquel.raynal@bootlin.com \
--cc=nuno.sa@analog.com \
--cc=robh@kernel.org \
/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.