public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: "Sahin, Okan" <Okan.Sahin@analog.com>
Cc: Lee Jones <lee@kernel.org>, Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>,
	Jonathan Cameron <jic23@kernel.org>,
	Lars-Peter Clausen <lars@metafoo.de>,
	ChiYuan Huang <cy_huang@richtek.com>,
	"Bolboaca, Ramona" <Ramona.Bolboaca@analog.com>,
	Caleb Connolly <caleb.connolly@linaro.org>,
	William Breathitt Gray <william.gray@linaro.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"linux-iio@vger.kernel.org" <linux-iio@vger.kernel.org>
Subject: Re: [PATCH v3 3/5] drivers: regulator: Add ADI MAX77541/MAX77540 Regulator Support
Date: Tue, 31 Jan 2023 16:13:01 +0200	[thread overview]
Message-ID: <Y9kh7QI+1RqvLr2G@smile.fi.intel.com> (raw)
In-Reply-To: <BY5PR03MB51539CB52778A945C8CB788FE7D09@BY5PR03MB5153.namprd03.prod.outlook.com>

On Tue, Jan 31, 2023 at 01:59:45PM +0000, Sahin, Okan wrote:
> On Tue, 31 Jan 2022 4:30 PM
> Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:
> >On Tue, Jan 31, 2023 at 01:23:33PM +0000, Sahin, Okan wrote:
> >> On Tue, 31 Jan 2022 3:27 PM
> >> Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:
> >> >On Tue, Jan 31, 2023 at 09:27:48AM +0000, Sahin, Okan wrote:

...

> >> >> Sorry for second question. I do not want to bother you, but I
> >> >> realized that I need to be sure about driver_data before sending
> >> >> new patch. You said that you need to use pointers directly for
> >> >> driver_data then I fixed that part in mfd, but I do not need or
> >> >> use driver_data in regulator since chip_id comes from mfd device so
> >> >> I think using like below should be enough for my implementation.
> >> >>
> >> >> static const struct platform_device_id max77541_regulator_platform_id[] =
> >{
> >> >> 	{ "max77540-regulator", },
> >> >> 	{ "max77541-regulator", },
> >> >> 	{  /* sentinel */  }
> >> >> };
> >> >> MODULE_DEVICE_TABLE(platform, max77541_regulator_platform_id);
> >> >>
> >> >> static const struct of_device_id max77541_regulator_of_id[] = {
> >> >> 	{ .compatible = "adi,max77540-regulator", },
> >> >> 	{ .compatible = "adi,max77541-regulator", },
> >> >> 	{ /* sentinel */  }
> >> >> };
> >> >> MODULE_DEVICE_TABLE(of, max77541_regulator_of_id);
> >> >>
> >> >> What do you think?
> >> >
> >> >If you have got all necessary data from the upper layer, why do you
> >> >need to have an ID table here? I'm not sure I understand how this OF
> >> >ID table works in this case.
> >
> >> I added it since there is regulator node in device tree. With the help
> >> of devm_regulator_register(..), driver takes parameters of regulator
> >> node. I also used id to select and to initialize regulator descriptors
> >> which are chip specific. So far there is no comment about OF ID table
> >> so I kept it. I thought I need to add both of id table and platform id
> >> table as name matching is required to initialize platform device from mfd.
> >
> >For platform device is one mechanism how to enumerate device, and bind it to
> >the driver. The OF ID table needs to be present in case you are using it for direct
> >DT enumeration (there is also something related to MFD child nodes, but you
> >need to check and explain how your device is enumerated by this driver).
> >
> >I.o.w. please clarify how the OF ID table is being used.
> 
> I do not use "of id table" directly in max77541-regulator.c so do I need to exclude it?

Exactly my point. How does this OF ID table affect the device enumeration?

> However, devm_regulator_register(..) method initialize each regulator with
> the nodes under "regulators node". If of_match in desc and name of node
> matches, then regulator will be initialized with parameters in the node under
> the regulators node in the device tree. Since I am using device tree to
> initialize regulators, I added of id table. I hope I explained the situation
> clearly.

This is confusing. If your regulator is enumerated via DT, why do you need MFD?

-- 
With Best Regards,
Andy Shevchenko



  reply	other threads:[~2023-01-31 14:13 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-18  6:38 [PATCH v3 0/5] Add MAX77541/MAX77540 PMIC Support Okan Sahin
2023-01-18  6:38 ` [PATCH v3 1/5] drivers: mfd: Add ADI " Okan Sahin
2023-01-18  8:16   ` Andy Shevchenko
2023-01-19 14:27     ` Lee Jones
2023-01-19 15:06       ` Andy Shevchenko
2023-01-19 15:06       ` William Breathitt Gray
2023-01-18  6:38 ` [PATCH v3 2/5] dt-bindings: mfd: Add ADI MAX77541/MAX77540 Okan Sahin
2023-01-18  8:22   ` Krzysztof Kozlowski
2023-01-31 12:02     ` Sahin, Okan
2023-01-31 16:44       ` Krzysztof Kozlowski
2023-01-31 21:28         ` Sahin, Okan
2023-02-01  7:25           ` Krzysztof Kozlowski
2023-02-01  7:46             ` Sahin, Okan
2023-02-01  8:08               ` Krzysztof Kozlowski
2023-01-18 13:10   ` Rob Herring
2023-01-18  6:38 ` [PATCH v3 3/5] drivers: regulator: Add ADI MAX77541/MAX77540 Regulator Support Okan Sahin
2023-01-18  8:19   ` Andy Shevchenko
2023-01-31  7:20     ` Sahin, Okan
2023-01-31  9:27       ` Sahin, Okan
2023-01-31 12:26         ` Andy Shevchenko
2023-01-31 13:23           ` Sahin, Okan
2023-01-31 13:29             ` Andy Shevchenko
2023-01-31 13:59               ` Sahin, Okan
2023-01-31 14:13                 ` Andy Shevchenko [this message]
2023-01-31 14:38                   ` Sahin, Okan
2023-01-31 13:32             ` Mark Brown
2023-01-31 12:24       ` Andy Shevchenko
2023-01-31 13:12         ` Sahin, Okan
2023-01-31 13:26           ` Andy Shevchenko
2023-01-18  6:38 ` [PATCH v3 4/5] dt-bindings: regulator: Add ADI MAX77541/MAX77540 Regulator Okan Sahin
2023-01-18  8:33   ` Krzysztof Kozlowski
2023-01-18  6:38 ` [PATCH v3 5/5] drivers: iio: adc: Add ADI MAX77541 ADC Support Okan Sahin
2023-01-18  8:23   ` Andy Shevchenko
2023-01-21 17:55   ` Jonathan Cameron

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=Y9kh7QI+1RqvLr2G@smile.fi.intel.com \
    --to=andriy.shevchenko@linux.intel.com \
    --cc=Okan.Sahin@analog.com \
    --cc=Ramona.Bolboaca@analog.com \
    --cc=broonie@kernel.org \
    --cc=caleb.connolly@linaro.org \
    --cc=cy_huang@richtek.com \
    --cc=devicetree@vger.kernel.org \
    --cc=jic23@kernel.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=lars@metafoo.de \
    --cc=lee@kernel.org \
    --cc=lgirdwood@gmail.com \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robh+dt@kernel.org \
    --cc=william.gray@linaro.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox