linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Lee Jones <lee@kernel.org>
To: Bhargav Raviprakash <bhargav.r@ltts.com>
Cc: arnd@arndb.de, broonie@kernel.org, conor+dt@kernel.org,
	devicetree@vger.kernel.org, eblanc@baylibre.com,
	gregkh@linuxfoundation.org, jpanis@baylibre.com,
	kristo@kernel.org, krzysztof.kozlowski+dt@linaro.org,
	lgirdwood@gmail.com, linus.walleij@linaro.org,
	linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org,
	linux-kernel@vger.kernel.org, m.nirmaladevi@ltts.com, nm@ti.com,
	robh+dt@kernel.org, vigneshr@ti.com, khilman@kernel.org
Subject: Re: [RESEND PATCH v1 05/13] mfd: tps6594-spi: Add TI TPS65224 PMIC SPI
Date: Tue, 16 Apr 2024 13:25:04 +0100	[thread overview]
Message-ID: <20240416122504.GV2399047@google.com> (raw)
In-Reply-To: <0109018ee1e1d91a-d3a0a73a-548d-4b9c-a6a5-a4f375c3adf3-000000@ap-south-1.amazonses.com>

On Mon, 15 Apr 2024, Bhargav Raviprakash wrote:

> Hello,
> 
> On Wed, 14 Feb 2024 10:10:17 -0800, Lee Jones wrote:
> > On Mon, 08 Apr 2024, Bhargav Raviprakash wrote:
> > 
> > > Introduces a new struct tps6594_match_data. This struct holds fields for
> > > chip id and regmap config. Using this struct in of_device_id data field.
> > > This helps in adding support for TPS65224 PMIC.
> > > 
> > > Signed-off-by: Bhargav Raviprakash <bhargav.r@ltts.com>
> > > Acked-by: Julien Panis <jpanis@baylibre.com>
> > > ---
> > >  drivers/mfd/tps6594-i2c.c   | 24 ++++++++++++++++--------
> > >  drivers/mfd/tps6594-spi.c   | 24 ++++++++++++++++--------
> > >  include/linux/mfd/tps6594.h | 11 +++++++++++
> > >  3 files changed, 43 insertions(+), 16 deletions(-)
> > > 
> > > diff --git a/drivers/mfd/tps6594-i2c.c b/drivers/mfd/tps6594-i2c.c
> > > index c125b474b..9e2ed48b7 100644
> > > --- a/drivers/mfd/tps6594-i2c.c
> > > +++ b/drivers/mfd/tps6594-i2c.c
> > > @@ -192,10 +192,16 @@ static const struct regmap_config tps6594_i2c_regmap_config = {
> > >  	.write = tps6594_i2c_write,
> > >  };
> > >  
> > > +static const struct tps6594_match_data match_data[] = {
> > > +	[TPS6594] = {TPS6594, &tps6594_i2c_regmap_config},
> > > +	[TPS6593] = {TPS6593, &tps6594_i2c_regmap_config},
> > > +	[LP8764] = {LP8764, &tps6594_i2c_regmap_config},
> > 
> > Nit: There should be spaces after the '{' and before the '}'.
> > 
> 
> Sure! will fix it in the next version.
> 
> > > +};
> > > +
> > >  static const struct of_device_id tps6594_i2c_of_match_table[] = {
> > > -	{ .compatible = "ti,tps6594-q1", .data = (void *)TPS6594, },
> > > -	{ .compatible = "ti,tps6593-q1", .data = (void *)TPS6593, },
> > > -	{ .compatible = "ti,lp8764-q1",  .data = (void *)LP8764,  },
> > > +	{ .compatible = "ti,tps6594-q1", .data = &match_data[TPS6594], },
> > > +	{ .compatible = "ti,tps6593-q1", .data = &match_data[TPS6593], },
> > > +	{ .compatible = "ti,lp8764-q1",  .data = &match_data[LP8764], },
> > 
> > Not keen on this.  Why do you pass the regmap data through here and
> > leave everything else to be matched on device ID?  It would be better to
> > keep passing the device ID through and match everything off of that.
> > 
> > 
> > -- 
> > Lee Jones [李琼斯]
> 
> Thanks for the feedback!
> 
> These changes were made because of the following message:
> https://lore.kernel.org/all/7hcysy6ho6.fsf@baylibre.com/
> 
> Please let us know which one to follow.

Right, except this doesn't eliminate "any \"if (chip_id)\" checking".
Instead you have a hodge-podge of passing a little bit of (Regmap) data
via match and the rest via "if (chip_id)".  So either pass all platform
type data via .data or just the chip ID.  My suggestion 99% of the time
is the latter.

-- 
Lee Jones [李琼斯]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2024-04-16 12:25 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-08 12:40 [PATCH v6 00/11] Add support for TI TPS65224 PMIC Bhargav Raviprakash
2024-04-08 12:40 ` [PATCH v6 01/11] mfd: tps6594: Add register definitions " Bhargav Raviprakash
2024-04-08 12:40 ` [PATCH v6 02/11] mfd: tps6594: use volatile_table instead of volatile_reg Bhargav Raviprakash
2024-04-08 12:40 ` [PATCH v6 03/11] mfd: tps6594: add regmap config in match data Bhargav Raviprakash
2024-04-11 17:03   ` Lee Jones
2024-04-15 13:10     ` [RESEND PATCH v1 05/13] mfd: tps6594-spi: Add TI TPS65224 PMIC SPI Bhargav Raviprakash
2024-04-16 12:25       ` Lee Jones [this message]
2024-04-17 10:35     ` [PATCH v6 03/11] mfd: tps6594: add regmap config in match data Bhargav Raviprakash
2024-04-08 12:40 ` [PATCH v6 04/11] dt-bindings: mfd: ti,tps6594: Add TI TPS65224 PMIC Bhargav Raviprakash
2024-04-08 12:40 ` [PATCH v6 05/11] mfd: tps6594-i2c: Add TI TPS65224 PMIC I2C Bhargav Raviprakash
2024-04-08 12:40 ` [PATCH v6 06/11] mfd: tps6594-spi: Add TI TPS65224 PMIC SPI Bhargav Raviprakash
2024-04-08 12:40 ` [PATCH v6 07/11] mfd: tps6594-core: Add TI TPS65224 PMIC core Bhargav Raviprakash
2024-04-08 12:40 ` [PATCH v6 08/11] misc: tps6594-pfsm: Add TI TPS65224 PMIC PFSM Bhargav Raviprakash
2024-04-11 13:03   ` Greg KH
2024-04-08 12:40 ` [PATCH v6 09/11] regulator: tps6594-regulator: Add TI TPS65224 PMIC regulators Bhargav Raviprakash
2024-04-08 12:40 ` [PATCH v6 10/11] pinctrl: pinctrl-tps6594: Add TPS65224 PMIC pinctrl and GPIO Bhargav Raviprakash
2024-04-12  8:52   ` Esteban Blanc
2024-04-17 10:39     ` Bhargav Raviprakash
2024-04-08 12:40 ` [PATCH v6 11/11] arch: arm64: dts: ti: k3-am62p5-sk: Add TPS65224 PMIC support in AM62P dts Bhargav Raviprakash
  -- strict thread matches above, loose matches on Subject: below --
2024-02-08 10:53 [RESEND PATCH v1 00/13] Add support for TI TPS65224 PMIC Bhargav Raviprakash
2024-02-08 10:53 ` [RESEND PATCH v1 05/13] mfd: tps6594-spi: Add TI TPS65224 PMIC SPI Bhargav Raviprakash
2024-02-14 18:10   ` Kevin Hilman
2024-02-22  8:43     ` Bhargav Raviprakash

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=20240416122504.GV2399047@google.com \
    --to=lee@kernel.org \
    --cc=arnd@arndb.de \
    --cc=bhargav.r@ltts.com \
    --cc=broonie@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=eblanc@baylibre.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jpanis@baylibre.com \
    --cc=khilman@kernel.org \
    --cc=kristo@kernel.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=lgirdwood@gmail.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=m.nirmaladevi@ltts.com \
    --cc=nm@ti.com \
    --cc=robh+dt@kernel.org \
    --cc=vigneshr@ti.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;
as well as URLs for NNTP newsgroup(s).