Re: [PATCH] dt-bindings: mtd: Change the schema for nodename which includes "sram"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





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@xxxxxxxxxxx>
---
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@xxxxxxxxxxx>
    - Richard Weinberger <richard@xxxxxx>
-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




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux