From: Rob Herring <robh@kernel.org>
To: William Zhang <william.zhang@broadcom.com>
Cc: "Rafał Miłecki" <rafal@milecki.pl>,
"Krzysztof Kozlowski" <krzysztof.kozlowski@linaro.org>,
"Linux ARM List" <linux-arm-kernel@lists.infradead.org>,
kursad.oney@broadcom.com, anand.gore@broadcom.com,
dan.beygelman@broadcom.com, f.fainelli@gmail.com,
"Broadcom Kernel List" <bcm-kernel-feedback-list@broadcom.com>,
joel.peshkin@broadcom.com,
"Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH 1/3] dt-bindings: arm64: bcmbca: Merge BCM4908 into BCMBCA
Date: Mon, 18 Jul 2022 14:02:10 -0600 [thread overview]
Message-ID: <20220718200210.GA3436421-robh@kernel.org> (raw)
In-Reply-To: <147bc812-3971-9832-fb39-5545e280f562@broadcom.com>
On Wed, Jul 13, 2022 at 11:37:18AM -0700, William Zhang wrote:
> Hi Rafal,
>
> On 7/13/22 03:58, Rafał Miłecki wrote:
> > On 2022-07-13 12:50, Rafał Miłecki wrote:
> > > On 2022-07-13 02:57, William Zhang wrote:
> > > > On 7/12/22 11:18, Krzysztof Kozlowski wrote:
> > > > > On 12/07/2022 19:37, William Zhang wrote:
> > > > > > > > + - description: BCM4908 Family based boards
> > > > > > > > + items:
> > > > > > > > + - enum:
> > > > > > > > + # BCM4908 SoC based boards
> > > > > > > > + - brcm,bcm94908
> > > > > > > > + - asus,gt-ac5300
> > > > > > > > + - netgear,raxe500
> > > > > > > > + # BCM4906 SoC based boards
> > > > > > > > + - brcm,bcm94906
> > > > > > > > + - netgear,r8000p
> > > > > > > > + - tplink,archer-c2300-v1
> > > > > > > > + - enum:
> > > > > > > > + - brcm,bcm4908
> > > > > > > > + - brcm,bcm4906
> > > > > > > > + - brcm,bcm49408
> > > > > > >
> > > > > > > This is wrong. brcm,bcm94908 followed by brcm,bcm4906 does not look
> > > > > > > like valid list of compatibles.
> > > > > > >
> > > > > > For 4908 board variant, it will need to be followed by
> > > > > > 4908 chip. Sorry
> > > > > > for the basic question but is there any requirement to
> > > > > > enforce this kind
> > > > > > of rule? I would assume dts writer know what he/she is
> > > > > > doing and select
> > > > > > the right combination.
> > > > >
> > > > > The entire point of DT schema is to validate DTS.
> > > > > Combination like above
> > > > > prevents that goal.
> > > > >
> > > > > Best regards,
> > > > > Krzysztof
> > > > Understand the DT schema purpose. But items property allows multiple
> > > > enums in the list which gives a lot of flexibility but make it hard to
> > > > validate. I am not familiar with DT schema, is there any directive to
> > > > specify one enum value depending on another so dts validation tool can
> > > > report error if combination is wrong?
> > > >
> > > > This is our preferred format of all bcmbca compatible string
> > > > especially when we could have more than 10 chip variants for the same
> > > > chip family and we really want to work on the chip family id. We will
> > > > make sure they are in the right combination in our own patch and patch
> > > > from other contributors. Would this work? If not, I will probably have
> > > > to revert the change of 4908(maybe append brcm,bcmbca as this chip
> > > > belongs to the same bca group) and use "enum board variant", "const
> > > > main chip id", "brcm,bca" for all other chips as our secondary choice.
> > >
> > > I'm not sure why I didn't even receive 1/3 and half of discussion
> > > e-mails.
> > >
> > > You can't just put all strings into a single bag and allow mixing them
> > > in any combos. Please check how it's properly handled in the current
> > > existing binding:
> > > Documentation/devicetree/bindings/arm/bcm/brcm,bcm4908.yaml
> > >
> > > Above binding enforces that non-matching compatible strings are not used
> > > together.
> >
> > I just noticed you're actually removing brcm,bcm4908.yaml in the 2/3 so
> > you must be aware of that file.
> >
> > So you see a cleanly working binding in the brcm,bcm4908.yaml but
> > instead copying it you decided to wrote your own one from scratch.
> > Incorrectly.
> >
> > This smells of NIH (not invented here). Please just use that binding I
> > wrote and move if it needed.
>
> Not mean to discredit any of your work and I did copy over your binding and
> combine them into one SoC entry to the new bcmbca.yaml and add you as one of
> the maintainer to this file. As this change would certainly concern you,
> that's why I sent RFC first. As I explained in the cover letter, the
> purpose of the change is to reduce the number of compatible strings and keep
> one entry for one chip family due to possible large number of chip variants.
> But since there is no way to validate the combination, I will copy the
> existing 4908 bindings as they are now but I would propose to append "brcm,
> bcmbca" as it is part of bcmbca chip. And for the other chips, we would just
> use enum "board variant", const "main chip id", const "brcm,bca". Does that
> sound good to you?
If you want fewer combinations of compatibles, adding a genericish
"brcm,bcmbca" is not going to help. Is there much value to adding it?
What can you do with that information (and nothing else) is the
question to ask.
Rob
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2022-07-18 20:03 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-12 2:11 [RFC PATCH 0/3] arm: bcmbca: Update BCM4908 dts for BCMBCA merge William Zhang
2022-07-12 2:11 ` [RFC PATCH 1/3] dt-bindings: arm64: bcmbca: Merge BCM4908 into BCMBCA William Zhang
2022-07-12 7:45 ` Krzysztof Kozlowski
2022-07-12 17:37 ` William Zhang
2022-07-12 18:18 ` Krzysztof Kozlowski
2022-07-13 0:57 ` William Zhang
2022-07-13 10:50 ` Rafał Miłecki
2022-07-13 10:58 ` Rafał Miłecki
2022-07-13 18:37 ` William Zhang
2022-07-13 20:23 ` Rafał Miłecki
2022-07-13 20:29 ` William Zhang
2022-07-18 20:02 ` Rob Herring [this message]
2022-07-18 22:59 ` William Zhang
2022-07-13 16:21 ` Florian Fainelli
2022-07-12 2:11 ` [RFC PATCH 2/3] dt-bindings: arm64: bcm4908: remove binding document William Zhang
2022-07-12 7:46 ` Krzysztof Kozlowski
2022-07-12 2:11 ` [RFC PATCH 3/3] arm64: dts: bcmbca: update bcm4808 board dts file William Zhang
2022-07-12 7:47 ` Krzysztof Kozlowski
2022-07-12 15:36 ` Florian Fainelli
2022-07-12 15:50 ` Krzysztof Kozlowski
2022-07-12 17:48 ` William Zhang
2022-07-12 18:20 ` Krzysztof Kozlowski
2022-07-13 0:59 ` William Zhang
2022-07-13 10:55 ` Rafał Miłecki
2022-07-13 11:09 ` Krzysztof Kozlowski
2022-07-13 12:00 ` Rafał Miłecki
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=20220718200210.GA3436421-robh@kernel.org \
--to=robh@kernel.org \
--cc=anand.gore@broadcom.com \
--cc=bcm-kernel-feedback-list@broadcom.com \
--cc=dan.beygelman@broadcom.com \
--cc=devicetree@vger.kernel.org \
--cc=f.fainelli@gmail.com \
--cc=joel.peshkin@broadcom.com \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=krzysztof.kozlowski@linaro.org \
--cc=kursad.oney@broadcom.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rafal@milecki.pl \
--cc=william.zhang@broadcom.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).