On Sat, Jul 11, 2020 at 10:52 AM Andrew Lunn <andrew@xxxxxxx> wrote: > > On Sat, Jul 11, 2020 at 01:35:12PM +0200, Kurt Kanzenbach wrote: > > On Fri Jul 10 2020, Rob Herring wrote: > > > On Fri, 10 Jul 2020 11:06:18 +0200, Kurt Kanzenbach wrote: > > >> For future DSA drivers it makes sense to add a generic DSA yaml binding which > > >> can be used then. This was created using the properties from dsa.txt. It > > >> includes the ports and the dsa,member property. > > >> > > >> Suggested-by: Florian Fainelli <f.fainelli@xxxxxxxxx> > > >> Signed-off-by: Kurt Kanzenbach <kurt@xxxxxxxxxxxxx> > > >> --- > > >> .../devicetree/bindings/net/dsa/dsa.yaml | 80 +++++++++++++++++++ > > >> 1 file changed, 80 insertions(+) > > >> create mode 100644 Documentation/devicetree/bindings/net/dsa/dsa.yaml > > >> > > > > > > > > > My bot found errors running 'make dt_binding_check' on your patch: > > > > > > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/net/ti,cpsw-switch.example.dt.yaml: switch@0: 'ports' is a required property > > > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/net/qcom,ipq8064-mdio.example.dt.yaml: switch@10: 'ports' is a required property > > > > Okay, the requirement for 'ports' has be to removed. > > Hummm.... > > ti.cpsw is not a DSA switch. So this binding should not apply to > it. It is a plain switchdev switch. Well, the binding looks very similar with the same ethernet-ports/port@X structure. So maybe we need a switch schema that covers both and then a DSA schema. > The qcom,ipq806 is just an MDIO bus master. The DSA binding might > apply, for a specific .dts file, if that dts file has a DSA switch on > the bus. But in general, it should not apply. > > So i actually think you need to work out why this binding is being > applied when it should not be. > > I suspect it is the keyword 'switch'. switch does not imply it is a > DSA switch. There are other sorts of switches as well. Yes, by default, we match on compatible or node name if no compatible. The simple solution here is adding 'select: false' and then dsa.yaml will only be applied when explicitly referenced by the h/w specific bindings. There's also mscc-ocelot which is not yet a schema. Rob