All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lee Jones <lee@kernel.org>
To: Matti Vaittinen <mazziesaccount@gmail.com>
Cc: Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>,
	Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 05/14] mfd: rohm-bd96801: Add chip info
Date: Fri, 21 Mar 2025 07:28:52 +0000	[thread overview]
Message-ID: <20250321072852.GC1750245@google.com> (raw)
In-Reply-To: <e1e83290-64a8-4f06-b00f-d9fa8774a421@gmail.com>

On Fri, 21 Mar 2025, Matti Vaittinen wrote:

> On 20/03/2025 18:52, Lee Jones wrote:
> > On Thu, 13 Mar 2025, Matti Vaittinen wrote:
> > 
> > > Prepare for adding support for BD96802 which is very similar to BD96801.
> > > Separate chip specific data into own structure which can be picked to be
> > > used by the device-tree.
> > > 
> > > Signed-off-by: Matti Vaittinen <mazziesaccount@gmail.com>
> > > ---
> > >   drivers/mfd/rohm-bd96801.c | 83 ++++++++++++++++++++++++++------------
> > >   1 file changed, 57 insertions(+), 26 deletions(-)
> > > 
> > > diff --git a/drivers/mfd/rohm-bd96801.c b/drivers/mfd/rohm-bd96801.c
> > > index 60ec8db790a7..1232f571e4b1 100644
> > > --- a/drivers/mfd/rohm-bd96801.c
> > > +++ b/drivers/mfd/rohm-bd96801.c
> > > @@ -40,7 +40,21 @@
> > >   #include <linux/mfd/rohm-bd96801.h>
> > >   #include <linux/mfd/rohm-generic.h>
> > > -static const struct resource regulator_errb_irqs[] = {
> > > +struct bd968xx_chip_data {
> > > +	const struct resource *errb_irqs;
> > > +	const struct resource *intb_irqs;
> > > +	int num_errb_irqs;
> > > +	int num_intb_irqs;
> > > +	const struct regmap_irq_chip *errb_irq_chip;
> > > +	const struct regmap_irq_chip *intb_irq_chip;
> > > +	const struct regmap_config *regmap_config;
> > > +	struct mfd_cell *cells;
> > 
> > We're not passing MFD data through OF to be fed back through MFD APIs.
> > 
> > It's generally considered better to device_get_match_data() on an enum,
> > then populate MFD cells using that as a differentiator.
> 
> Or, at least someone has done this at the beginning and it got copied all
> over the place, right? ;) Sometimes we just need to challenge the status quo
> to develop ;)

This is not one of those times.

I've never allowed mixing platform init strategies (arch-plat, OF, ACPI, MFD).

> I can go back to enum + switch - case in probe, and pick the correct data
> there. Done that before as well. It's just that during my journey to some
> other subsystems, I've realized people can often just skip the enum and
> switch - case, making things a tad simpler :)
> 
> Well, not a big deal to me. I suppose it has some value to keep things
> consistent inside a subsystem - and I'm not offering to drop the switch
> cases from all of the drivers :p
> 
> TL; DR - Ok.
> 
> >    git grep compatible -- drivers/mfd | grep data
> > 
> > > +	int num_cells;
> > > +	int unlock_reg;
> > > +	int unlock_val;
> > > +};
> > > +
> > > +static const struct resource bd96801_reg_errb_irqs[] = {
> > >   	DEFINE_RES_IRQ_NAMED(BD96801_OTP_ERR_STAT, "bd96801-otp-err"),
> > >   	DEFINE_RES_IRQ_NAMED(BD96801_DBIST_ERR_STAT, "bd96801-dbist-err"),
> > >   	DEFINE_RES_IRQ_NAMED(BD96801_EEP_ERR_STAT, "bd96801-eep-err"),
> > > @@ -98,7 +112,7 @@ static const struct resource regulator_errb_irqs[] = {
> > >   	DEFINE_RES_IRQ_NAMED(BD96801_LDO7_SHDN_ERR_STAT, "bd96801-ldo7-shdn-err"),
> > >   };
> > > -static const struct resource regulator_intb_irqs[] = {
> > > +static const struct resource bd96801_reg_intb_irqs[] = {
> > >   	DEFINE_RES_IRQ_NAMED(BD96801_TW_STAT, "bd96801-core-thermal"),
> > >   	DEFINE_RES_IRQ_NAMED(BD96801_BUCK1_OCPH_STAT, "bd96801-buck1-overcurr-h"),
> > > @@ -345,18 +359,37 @@ static const struct regmap_config bd96801_regmap_config = {
> > >   	.cache_type = REGCACHE_MAPLE,
> > >   };
> > > +static const struct bd968xx_chip_data bd96801_chip_data = {
> > 
> > Just call it 'struct bd968xx' then below instead of cd, use ddata.
> > 
> >    git grep "cc =" -- drivers/mfd
> > 
> > VS
> > 
> >    git grep "ddata =" -- drivers/mfd
> > 
> > Conforrrrrrmmm ...    =;-)
> 
> I've lived through the depression of the early 90's in Finland. Learned how
> to avoid wasting things - especially letters. Wouldn't guess when reading my
> review replies, right?
> 
> ...Ok.
> 
> Thanks for the review :) Much appreciated.

NP

-- 
Lee Jones [李琼斯]

  reply	other threads:[~2025-03-21  7:28 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-13 11:40 [PATCH 00/14] Support ROHM Scalable PMIC family Matti Vaittinen
2025-03-13 11:40 ` [PATCH 01/14] dt-bindings: regulator: Add ROHM BD96802 PMIC Matti Vaittinen
2025-03-13 11:41 ` [PATCH 02/14] dt-bindings: mfd: " Matti Vaittinen
2025-03-13 11:41 ` [PATCH 03/14] dt-bindings: mfd: bd96801: Add ROHM BD96805 Matti Vaittinen
2025-03-13 11:41 ` [PATCH 04/14] dt-bindings: mfd: bd96802: Add ROHM BD96806 Matti Vaittinen
2025-03-13 11:41 ` [PATCH 05/14] mfd: rohm-bd96801: Add chip info Matti Vaittinen
2025-03-20 16:52   ` Lee Jones
2025-03-21  6:24     ` Matti Vaittinen
2025-03-21  7:28       ` Lee Jones [this message]
2025-03-13 11:42 ` [PATCH 06/14] mfd: bd96801: Drop IC name from the regulator IRQ resources Matti Vaittinen
2025-03-13 11:42 ` [PATCH 07/14] regulator: bd96801: Drop IC name from the " Matti Vaittinen
2025-03-13 11:42 ` [PATCH 08/14] mfd: rohm-bd96801: Support ROHM BD96802 Matti Vaittinen
2025-03-13 11:42 ` [PATCH 09/14] regulator: bd96801: " Matti Vaittinen
2025-03-13 11:42 ` [PATCH 10/14] mfd: bd96801: Support ROHM BD96805 Matti Vaittinen
2025-03-13 11:43 ` [PATCH 11/14] regulator: bd96801: Support ROHM BD96805 PMIC Matti Vaittinen
2025-03-13 11:43 ` [PATCH 12/14] mfd: bd96801: Support ROHM BD96806 Matti Vaittinen
2025-03-13 11:43 ` [PATCH 13/14] regulator: bd96801: Support ROHM BD96806 PMIC Matti Vaittinen
2025-03-13 11:43 ` [PATCH 14/14] MAINTAINERS: Add BD96802 specific header Matti Vaittinen

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=20250321072852.GC1750245@google.com \
    --to=lee@kernel.org \
    --cc=broonie@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=lgirdwood@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=matti.vaittinen@fi.rohmeurope.com \
    --cc=mazziesaccount@gmail.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.