[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <9e13c2f5-b8e2-410c-9bf4-1ed4a4735dbb@quicinc.com>
Date: Wed, 10 Jan 2024 10:10:01 +0800
From: Zhenhua Huang <quic_zhenhuah@...cinc.com>
To: Rob Herring <robh@...nel.org>, Bjorn Andersson <quic_bjorande@...cinc.com>
CC: <miquel.raynal@...tlin.com>, <richard@....at>, <vigneshr@...com>,
<krzysztof.kozlowski+dt@...aro.org>, <conor+dt@...nel.org>,
<linux-mtd@...ts.infradead.org>, <devicetree@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <quic_tingweiz@...cinc.com>
Subject: Re: [PATCH] dt-bindings: mtd: Change the schema for nodename which
includes "sram"
On 2024/1/10 5:22, Rob Herring wrote:
> On Tue, Jan 09, 2024 at 10:43:23AM -0800, Bjorn Andersson wrote:
>> On Thu, Jan 04, 2024 at 07:23:02PM +0800, Zhenhua Huang wrote:
>>> Node name which includes "sram" not only represents MTD devices, but also
>>> lots of sram devices(eg, qcom,imem.yaml, rules in folder sram/*).
>>>
>>> To avoid the conflicts, change the schema as:
>>> - if node name includes "sram", must select "compatible" to match
>>> (I have listed all "comptible" string in mtd.yaml by searching
>>> drivers/mtd/* to find applicable drivers)
>>> - if node name is nand/flash, use "nodename" to select.
>>>
>>
>> You're right, it doesn't seem appropriate for the mtd binding to be
>> selected for nodes intended to match e.g. the qcom,imem binding.
>>
>>> Fixes: 7bdc671822e9 ("dt-bindings: mtd: physmap: Reuse the generic definitions")
>>> Signed-off-by: Zhenhua Huang <quic_zhenhuah@...cinc.com>
>>> ---
>>> Hello,
>>>
>>> Tested a few devicetree nodes, which confirms:
>>> "qcom,imem.yaml" which in sram/ not matches with mtd.yaml anymore.
>>> All nodes include string "sram" must have "compatible" which listed in
>>> mtd.yaml to be matched.
>>>
>>> Current I just modify the rule for "sram" as it is definitely conflicting with
>>> rules in sram/*. I have not much backgrounds on nand/flash whether they may have
>>> similar conflicts.
>>>
>>> Documentation/devicetree/bindings/mtd/mtd.yaml | 24 +++++++++++++++++++++---
>>> 1 file changed, 21 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/Documentation/devicetree/bindings/mtd/mtd.yaml b/Documentation/devicetree/bindings/mtd/mtd.yaml
>>> index f322290..1704437 100644
>>> --- a/Documentation/devicetree/bindings/mtd/mtd.yaml
>>> +++ b/Documentation/devicetree/bindings/mtd/mtd.yaml
>>> @@ -10,10 +10,28 @@ maintainers:
>>> - Miquel Raynal <miquel.raynal@...tlin.com>
>>> - Richard Weinberger <richard@....at>
>>>
>>> -properties:
>>> - $nodename:
>>
>> The mtd binding is $ref'ed by other bindings, similar to how we do with
>> other bindings of common properties.
>>
>> So, I think the problem with mtd is that this ($nodename) turns into a
>> "select" automatically, which causes this binding to match nodes by
>> name, rather than just those $ref'ing it.
>>
>>
>> We should be able to avoid the automatically created select from the
>> $nodename, and rely on $ref, by just adding:
>>
>> select: false
>
> Yes.
>
> Rob
Thanks Bjorn and Rob for your suggestion. Let me try and update one new
version.
Thanks,
Zhenhua
Powered by blists - more mailing lists