All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matthias Brugger <mbrugger@suse.com>
To: "gene_chen(陳俊宇)" <gene_chen@richtek.com>,
	"matthias.bgg@kernel.org" <matthias.bgg@kernel.org>,
	"Liam Girdwood" <lgirdwood@gmail.com>,
	"Mark Brown" <broonie@kernel.org>
Cc: Hsin-Hsiung Wang <hsin-hsiung.wang@mediatek.com>,
	Axel Lin <axel.lin@ingics.com>,
	Chen Zhong <chen.zhong@mediatek.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-mediatek@lists.infradead.org" 
	<linux-mediatek@lists.infradead.org>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
Subject: Re: [PATCH v2 1/3] regulator: mt6360: Add OF match table
Date: Mon, 11 Jan 2021 11:08:10 +0100	[thread overview]
Message-ID: <8a5b2d7a-cd31-ecbb-bdc2-35c881c9068d@suse.com> (raw)
In-Reply-To: <b358179732f940f883c12dd1276f855a@richtek.com>



On 11/01/2021 03:18, gene_chen(陳俊宇) wrote:
> [ Internal Use - External ]
> 

Please don't top-post in the future.

> Hi Matthias,
> 
> I discussed OF match table with Mark in previous mail in our PATCH v3,
> MFD should just instantiate the platform device.

Did you ever test that? Which MFD driver should instantiate the device?
I had a look at mt6360-core.c (the obvious one) but I don't see any reference to
the regulator [1]. What am I missing?

> 
>> Mark Brown <broonie@kernel.org> 於 2020年8月20日 週四 下午7:45寫道:
> 
>>> This device only exists in the context of a single parent device, there
>>> should be no need for a compatible string here - this is just a detail
>>> of how Linux does things.  The MFD should just instntiate the platform
>>> device.
> 
>> Trying to autoload module without of_id_table will cause run-time error:
>> ueventd: LoadWithAliases was unable to load
>> of:NregulatorT(null)Cmediatek,mt6360-regulator
> 
> You shouldn't have this described in the device tree at all, like I say
> the MFD should just instantiate the platform device.
> 

Well from my understanding the regulator has a device-tree entry [2], so it
needs to match against a device-tree node. My understanding is, that you need a
the devicetree node to describe the regulators provided by the device. TBH I'm a
bit puzzled about the comment from Mark here. How does another DT node be able
to reference a regulator if this is not described in DT? I think we need a DT
node here and the matching in the regulator and MFD driver to get the regulator
loaded via udev.

Regards,
Matthias

[1] https://elixir.bootlin.com/linux/latest/source/drivers/mfd/mt6360-core.c#L294
[2]
https://elixir.bootlin.com/linux/v5.10.6/source/Documentation/devicetree/bindings/regulator/mt6360-regulator.yaml

>> -----Original Message-----
>> From: matthias.bgg@kernel.org <matthias.bgg@kernel.org>
>> Sent: Saturday, January 9, 2021 7:26 PM
>> To: Liam Girdwood <lgirdwood@gmail.com>; Mark Brown
>> <broonie@kernel.org>
>> Cc: Hsin-Hsiung Wang <hsin-hsiung.wang@mediatek.com>; Axel Lin
>> <axel.lin@ingics.com>; Chen Zhong <chen.zhong@mediatek.com>;
>> gene_chen(陳俊宇) <gene_chen@richtek.com>; linux-kernel@vger.kernel.org;
>> linux-mediatek@lists.infradead.org; linux-arm-kernel@lists.infradead.org;
>> Matthias Brugger <matthias.bgg@gmail.com>; Matti Vaittinen
>> <matti.vaittinen@fi.rohmeurope.com>; Matthias Brugger
>> <mbrugger@suse.com>
>> Subject: [PATCH v2 1/3] regulator: mt6360: Add OF match table
>>
>> From: Matthias Brugger <mbrugger@suse.com>
>>
>> Binding documentation mentions that a compatible is required for the
>> MT6360 device node, but the driver doesn't provide a OF match table.
>>
>> Fixes: d321571d5e4c ("regulator: mt6360: Add support for MT6360 regulator")
>> Signed-off-by: Matthias Brugger <mbrugger@suse.com>
>>
>> ---
>>
>> Changes in v2:
>> - check for CONFIG_OF
>> - add Fixes tag
>>
>>  drivers/regulator/mt6360-regulator.c | 9 +++++++++
>>  1 file changed, 9 insertions(+)
>>
>> diff --git a/drivers/regulator/mt6360-regulator.c
>> b/drivers/regulator/mt6360-regulator.c
>> index 15308ee29c13..f7b2514feabf 100644
>> --- a/drivers/regulator/mt6360-regulator.c
>> +++ b/drivers/regulator/mt6360-regulator.c
>> @@ -445,9 +445,18 @@ static const struct platform_device_id
>> mt6360_regulator_id_table[] = {  };  MODULE_DEVICE_TABLE(platform,
>> mt6360_regulator_id_table);
>>
>> +#ifdef CONFIG_OF
>> +static const struct of_device_id mt6360_of_match[] = {
>> +{ .compatible = "mediatek,mt6360-regulator", },
>> +{ /* sentinel */ },
>> +};
>> +MODULE_DEVICE_TABLE(of, mt6360_of_match); #endif
>> +
>>  static struct platform_driver mt6360_regulator_driver = {
>>  .driver = {
>>  .name = "mt6360-regulator",
>> +.of_match_table = of_match_ptr(mt6360_of_match),
>>  },
>>  .probe = mt6360_regulator_probe,
>>  .id_table = mt6360_regulator_id_table,
>> --
>> 2.29.2
> ************* Email Confidentiality Notice ********************
> 
> The information contained in this e-mail message (including any attachments) may be confidential, proprietary, privileged, or otherwise exempt from disclosure under applicable laws. It is intended to be conveyed only to the designated recipient(s). Any use, dissemination, distribution, printing, retaining or copying of this e-mail (including its attachments) by unintended recipient(s) is strictly prohibited and may be unlawful. If you are not an intended recipient of this e-mail, or believe that you have received this e-mail in error, please notify the sender immediately (by replying to this e-mail), delete any and all copies of this e-mail (including any attachments) from your system, and do not disclose the content of this e-mail to any other person. Thank you!
> 


WARNING: multiple messages have this Message-ID (diff)
From: Matthias Brugger <mbrugger@suse.com>
To: "gene_chen(陳俊宇)" <gene_chen@richtek.com>,
	"matthias.bgg@kernel.org" <matthias.bgg@kernel.org>,
	"Liam Girdwood" <lgirdwood@gmail.com>,
	"Mark Brown" <broonie@kernel.org>
Cc: Axel Lin <axel.lin@ingics.com>,
	Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-mediatek@lists.infradead.org"
	<linux-mediatek@lists.infradead.org>,
	Hsin-Hsiung Wang <hsin-hsiung.wang@mediatek.com>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	Chen Zhong <chen.zhong@mediatek.com>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v2 1/3] regulator: mt6360: Add OF match table
Date: Mon, 11 Jan 2021 11:08:10 +0100	[thread overview]
Message-ID: <8a5b2d7a-cd31-ecbb-bdc2-35c881c9068d@suse.com> (raw)
In-Reply-To: <b358179732f940f883c12dd1276f855a@richtek.com>



On 11/01/2021 03:18, gene_chen(陳俊宇) wrote:
> [ Internal Use - External ]
> 

Please don't top-post in the future.

> Hi Matthias,
> 
> I discussed OF match table with Mark in previous mail in our PATCH v3,
> MFD should just instantiate the platform device.

Did you ever test that? Which MFD driver should instantiate the device?
I had a look at mt6360-core.c (the obvious one) but I don't see any reference to
the regulator [1]. What am I missing?

> 
>> Mark Brown <broonie@kernel.org> 於 2020年8月20日 週四 下午7:45寫道:
> 
>>> This device only exists in the context of a single parent device, there
>>> should be no need for a compatible string here - this is just a detail
>>> of how Linux does things.  The MFD should just instntiate the platform
>>> device.
> 
>> Trying to autoload module without of_id_table will cause run-time error:
>> ueventd: LoadWithAliases was unable to load
>> of:NregulatorT(null)Cmediatek,mt6360-regulator
> 
> You shouldn't have this described in the device tree at all, like I say
> the MFD should just instantiate the platform device.
> 

Well from my understanding the regulator has a device-tree entry [2], so it
needs to match against a device-tree node. My understanding is, that you need a
the devicetree node to describe the regulators provided by the device. TBH I'm a
bit puzzled about the comment from Mark here. How does another DT node be able
to reference a regulator if this is not described in DT? I think we need a DT
node here and the matching in the regulator and MFD driver to get the regulator
loaded via udev.

Regards,
Matthias

[1] https://elixir.bootlin.com/linux/latest/source/drivers/mfd/mt6360-core.c#L294
[2]
https://elixir.bootlin.com/linux/v5.10.6/source/Documentation/devicetree/bindings/regulator/mt6360-regulator.yaml

>> -----Original Message-----
>> From: matthias.bgg@kernel.org <matthias.bgg@kernel.org>
>> Sent: Saturday, January 9, 2021 7:26 PM
>> To: Liam Girdwood <lgirdwood@gmail.com>; Mark Brown
>> <broonie@kernel.org>
>> Cc: Hsin-Hsiung Wang <hsin-hsiung.wang@mediatek.com>; Axel Lin
>> <axel.lin@ingics.com>; Chen Zhong <chen.zhong@mediatek.com>;
>> gene_chen(陳俊宇) <gene_chen@richtek.com>; linux-kernel@vger.kernel.org;
>> linux-mediatek@lists.infradead.org; linux-arm-kernel@lists.infradead.org;
>> Matthias Brugger <matthias.bgg@gmail.com>; Matti Vaittinen
>> <matti.vaittinen@fi.rohmeurope.com>; Matthias Brugger
>> <mbrugger@suse.com>
>> Subject: [PATCH v2 1/3] regulator: mt6360: Add OF match table
>>
>> From: Matthias Brugger <mbrugger@suse.com>
>>
>> Binding documentation mentions that a compatible is required for the
>> MT6360 device node, but the driver doesn't provide a OF match table.
>>
>> Fixes: d321571d5e4c ("regulator: mt6360: Add support for MT6360 regulator")
>> Signed-off-by: Matthias Brugger <mbrugger@suse.com>
>>
>> ---
>>
>> Changes in v2:
>> - check for CONFIG_OF
>> - add Fixes tag
>>
>>  drivers/regulator/mt6360-regulator.c | 9 +++++++++
>>  1 file changed, 9 insertions(+)
>>
>> diff --git a/drivers/regulator/mt6360-regulator.c
>> b/drivers/regulator/mt6360-regulator.c
>> index 15308ee29c13..f7b2514feabf 100644
>> --- a/drivers/regulator/mt6360-regulator.c
>> +++ b/drivers/regulator/mt6360-regulator.c
>> @@ -445,9 +445,18 @@ static const struct platform_device_id
>> mt6360_regulator_id_table[] = {  };  MODULE_DEVICE_TABLE(platform,
>> mt6360_regulator_id_table);
>>
>> +#ifdef CONFIG_OF
>> +static const struct of_device_id mt6360_of_match[] = {
>> +{ .compatible = "mediatek,mt6360-regulator", },
>> +{ /* sentinel */ },
>> +};
>> +MODULE_DEVICE_TABLE(of, mt6360_of_match); #endif
>> +
>>  static struct platform_driver mt6360_regulator_driver = {
>>  .driver = {
>>  .name = "mt6360-regulator",
>> +.of_match_table = of_match_ptr(mt6360_of_match),
>>  },
>>  .probe = mt6360_regulator_probe,
>>  .id_table = mt6360_regulator_id_table,
>> --
>> 2.29.2
> ************* Email Confidentiality Notice ********************
> 
> The information contained in this e-mail message (including any attachments) may be confidential, proprietary, privileged, or otherwise exempt from disclosure under applicable laws. It is intended to be conveyed only to the designated recipient(s). Any use, dissemination, distribution, printing, retaining or copying of this e-mail (including its attachments) by unintended recipient(s) is strictly prohibited and may be unlawful. If you are not an intended recipient of this e-mail, or believe that you have received this e-mail in error, please notify the sender immediately (by replying to this e-mail), delete any and all copies of this e-mail (including any attachments) from your system, and do not disclose the content of this e-mail to any other person. Thank you!
> 


_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

WARNING: multiple messages have this Message-ID (diff)
From: Matthias Brugger <mbrugger@suse.com>
To: "gene_chen(陳俊宇)" <gene_chen@richtek.com>,
	"matthias.bgg@kernel.org" <matthias.bgg@kernel.org>,
	"Liam Girdwood" <lgirdwood@gmail.com>,
	"Mark Brown" <broonie@kernel.org>
Cc: Axel Lin <axel.lin@ingics.com>,
	Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-mediatek@lists.infradead.org"
	<linux-mediatek@lists.infradead.org>,
	Hsin-Hsiung Wang <hsin-hsiung.wang@mediatek.com>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	Chen Zhong <chen.zhong@mediatek.com>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v2 1/3] regulator: mt6360: Add OF match table
Date: Mon, 11 Jan 2021 11:08:10 +0100	[thread overview]
Message-ID: <8a5b2d7a-cd31-ecbb-bdc2-35c881c9068d@suse.com> (raw)
In-Reply-To: <b358179732f940f883c12dd1276f855a@richtek.com>



On 11/01/2021 03:18, gene_chen(陳俊宇) wrote:
> [ Internal Use - External ]
> 

Please don't top-post in the future.

> Hi Matthias,
> 
> I discussed OF match table with Mark in previous mail in our PATCH v3,
> MFD should just instantiate the platform device.

Did you ever test that? Which MFD driver should instantiate the device?
I had a look at mt6360-core.c (the obvious one) but I don't see any reference to
the regulator [1]. What am I missing?

> 
>> Mark Brown <broonie@kernel.org> 於 2020年8月20日 週四 下午7:45寫道:
> 
>>> This device only exists in the context of a single parent device, there
>>> should be no need for a compatible string here - this is just a detail
>>> of how Linux does things.  The MFD should just instntiate the platform
>>> device.
> 
>> Trying to autoload module without of_id_table will cause run-time error:
>> ueventd: LoadWithAliases was unable to load
>> of:NregulatorT(null)Cmediatek,mt6360-regulator
> 
> You shouldn't have this described in the device tree at all, like I say
> the MFD should just instantiate the platform device.
> 

Well from my understanding the regulator has a device-tree entry [2], so it
needs to match against a device-tree node. My understanding is, that you need a
the devicetree node to describe the regulators provided by the device. TBH I'm a
bit puzzled about the comment from Mark here. How does another DT node be able
to reference a regulator if this is not described in DT? I think we need a DT
node here and the matching in the regulator and MFD driver to get the regulator
loaded via udev.

Regards,
Matthias

[1] https://elixir.bootlin.com/linux/latest/source/drivers/mfd/mt6360-core.c#L294
[2]
https://elixir.bootlin.com/linux/v5.10.6/source/Documentation/devicetree/bindings/regulator/mt6360-regulator.yaml

>> -----Original Message-----
>> From: matthias.bgg@kernel.org <matthias.bgg@kernel.org>
>> Sent: Saturday, January 9, 2021 7:26 PM
>> To: Liam Girdwood <lgirdwood@gmail.com>; Mark Brown
>> <broonie@kernel.org>
>> Cc: Hsin-Hsiung Wang <hsin-hsiung.wang@mediatek.com>; Axel Lin
>> <axel.lin@ingics.com>; Chen Zhong <chen.zhong@mediatek.com>;
>> gene_chen(陳俊宇) <gene_chen@richtek.com>; linux-kernel@vger.kernel.org;
>> linux-mediatek@lists.infradead.org; linux-arm-kernel@lists.infradead.org;
>> Matthias Brugger <matthias.bgg@gmail.com>; Matti Vaittinen
>> <matti.vaittinen@fi.rohmeurope.com>; Matthias Brugger
>> <mbrugger@suse.com>
>> Subject: [PATCH v2 1/3] regulator: mt6360: Add OF match table
>>
>> From: Matthias Brugger <mbrugger@suse.com>
>>
>> Binding documentation mentions that a compatible is required for the
>> MT6360 device node, but the driver doesn't provide a OF match table.
>>
>> Fixes: d321571d5e4c ("regulator: mt6360: Add support for MT6360 regulator")
>> Signed-off-by: Matthias Brugger <mbrugger@suse.com>
>>
>> ---
>>
>> Changes in v2:
>> - check for CONFIG_OF
>> - add Fixes tag
>>
>>  drivers/regulator/mt6360-regulator.c | 9 +++++++++
>>  1 file changed, 9 insertions(+)
>>
>> diff --git a/drivers/regulator/mt6360-regulator.c
>> b/drivers/regulator/mt6360-regulator.c
>> index 15308ee29c13..f7b2514feabf 100644
>> --- a/drivers/regulator/mt6360-regulator.c
>> +++ b/drivers/regulator/mt6360-regulator.c
>> @@ -445,9 +445,18 @@ static const struct platform_device_id
>> mt6360_regulator_id_table[] = {  };  MODULE_DEVICE_TABLE(platform,
>> mt6360_regulator_id_table);
>>
>> +#ifdef CONFIG_OF
>> +static const struct of_device_id mt6360_of_match[] = {
>> +{ .compatible = "mediatek,mt6360-regulator", },
>> +{ /* sentinel */ },
>> +};
>> +MODULE_DEVICE_TABLE(of, mt6360_of_match); #endif
>> +
>>  static struct platform_driver mt6360_regulator_driver = {
>>  .driver = {
>>  .name = "mt6360-regulator",
>> +.of_match_table = of_match_ptr(mt6360_of_match),
>>  },
>>  .probe = mt6360_regulator_probe,
>>  .id_table = mt6360_regulator_id_table,
>> --
>> 2.29.2
> ************* Email Confidentiality Notice ********************
> 
> The information contained in this e-mail message (including any attachments) may be confidential, proprietary, privileged, or otherwise exempt from disclosure under applicable laws. It is intended to be conveyed only to the designated recipient(s). Any use, dissemination, distribution, printing, retaining or copying of this e-mail (including its attachments) by unintended recipient(s) is strictly prohibited and may be unlawful. If you are not an intended recipient of this e-mail, or believe that you have received this e-mail in error, please notify the sender immediately (by replying to this e-mail), delete any and all copies of this e-mail (including any attachments) from your system, and do not disclose the content of this e-mail to any other person. Thank you!
> 


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

  reply	other threads:[~2021-01-11 10:11 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-09 11:26 [PATCH v2 1/3] regulator: mt6360: Add OF match table matthias.bgg
2021-01-09 11:26 ` matthias.bgg
2021-01-09 11:26 ` matthias.bgg
2021-01-09 11:26 ` [PATCH v2 2/3] regulator: mt6358: " matthias.bgg
2021-01-09 11:26   ` matthias.bgg
2021-01-09 11:26   ` matthias.bgg
2021-01-09 11:26 ` [PATCH v2 3/3] regulator: mt6323: " matthias.bgg
2021-01-09 11:26   ` matthias.bgg
2021-01-09 11:26   ` matthias.bgg
2021-01-09 16:44   ` Aw: " Frank Wunderlich
2021-01-09 16:44     ` Frank Wunderlich
2021-01-09 16:44     ` Frank Wunderlich
2021-01-10 18:48     ` Matthias Brugger
2021-01-10 18:48       ` Matthias Brugger
2021-01-10 18:48       ` Matthias Brugger
2021-01-11  2:18 ` [PATCH v2 1/3] regulator: mt6360: " gene_chen(陳俊宇)
2021-01-11  2:18   ` gene_chen(陳俊宇)
2021-01-11  2:18   ` gene_chen(陳俊宇)
2021-01-11 10:08   ` Matthias Brugger [this message]
2021-01-11 10:08     ` Matthias Brugger
2021-01-11 10:08     ` Matthias Brugger
2021-01-11 10:32     ` Vaittinen, Matti
2021-01-11 10:32       ` Vaittinen, Matti
2021-01-11 10:32       ` Vaittinen, Matti
2021-01-11 12:38       ` Matthias Brugger
2021-01-11 12:38         ` Matthias Brugger
2021-01-11 12:38         ` Matthias Brugger
2021-01-11 12:53         ` Vaittinen, Matti
2021-01-11 12:53           ` Vaittinen, Matti
2021-01-11 12:53           ` Vaittinen, Matti
2021-01-11 14:42   ` Matthias Brugger
2021-01-11 14:42     ` Matthias Brugger
2021-01-11 14:42     ` Matthias Brugger
2021-01-11 16:41 ` Mark Brown
2021-01-11 16:41   ` Mark Brown
2021-01-11 16:41   ` Mark Brown
2021-01-12  9:54   ` Matthias Brugger
2021-01-12  9:54     ` Matthias Brugger
2021-01-12  9:54     ` Matthias Brugger

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=8a5b2d7a-cd31-ecbb-bdc2-35c881c9068d@suse.com \
    --to=mbrugger@suse.com \
    --cc=axel.lin@ingics.com \
    --cc=broonie@kernel.org \
    --cc=chen.zhong@mediatek.com \
    --cc=gene_chen@richtek.com \
    --cc=hsin-hsiung.wang@mediatek.com \
    --cc=lgirdwood@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=matthias.bgg@gmail.com \
    --cc=matthias.bgg@kernel.org \
    --cc=matti.vaittinen@fi.rohmeurope.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 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.