On 11/05/2022 18:09, Doug Anderson wrote: >> >> So you choose they are not identical, fine. Why insisting on adding >> fallback compatible while not keeping bindings updated? Just don't add >> the compatible and work on rev3 or rev4. Doug even once wrote "_we don't >> know_ if -rev7 and -rev8 are compatible", so don't make them compatible. >> Don't add fallbacks or some generic unspecified front-compatibles and >> just work on revision. > > Somehow, it seems like we keep talking past each other here and it > feels like folks are getting upset and we're not moving forward. Maybe > the right way to make progress is to find some face-to-face time at a > future conference and sit in front of a white board and hash it out. > That being said: > > * Without changing our bootloader or having a big explosion in the > number of dts files, we really can't change our scheme. The best we > can do is document it. That's reasonable. > > * If we want to change our scheme, we'd need to sit down and come to > an agreement that satisfies everyone, if such a thing is possible. There is open CFP for ELCE 2022 (in Ireland). Maybe we could organize some session there? But we for sure would need Rob, so the arrangements should rather focus on him, not on my availability. > That would only be able to affect future boards. I would like to say that if you had bindings, then obviously we would not break them, but since there are no bindings... :) > We don't want to > change the bootloader dts loading scheme on old boards. Understood. >>>> Right now it's not possible to validate QCOM DTSes against DT bindings >>>> because they throw big fat warnings about undocumented top compatibles. >>>> This is a downside for us. >>> >>> But that's a solvable problem, right? As I understand, what Doug was >>> initially just asking was whether it made _sense_ to document all of >>> these... not that we couldn't do it. Then this whole thread went down >>> a rabbit hole of whether our compatible assignments are allowed in the >>> first place. If we can compromise on this discussion by just doing >>> whatever needs to be done to make the tool happy, I think(?) we can >>> provide that. >> >> None of recent patches from Chromium were doing it, even after >> complaining from my side, so why do you suddenly believe that it is >> "doable"? If yes, please start doing it and fix the DTSes which you >> already submitted without bindings. >> >> To remind - entire discussion started with Doug saying it is pure >> overhead for him. > > I mean, to be fair I said it _seems_ pure overhead and then said that > we could do it if it makes some tools happy. ...but before doing that, > I wanted to make sure it was actually valuable. I still have doubts > about the assertion that the most specific compatible is guaranteed to > uniquely identify hardware. So if the whole reason for doing this is > to make the validation tools happy and there's no other value, then at > least it's plausible to argue that the tools could simply be fixed to > allow this and not shout about it. Instead of adding bindings, you can indeed change/fix the tools. Go ahead. :) > Now, certainly I'm not arguing that > yaml validation in general is useless. I'm in agreement that we want > dts files to be able to be formally validated because it catches > typos, missing properties, and bugs. I am _only_ saying that I still > haven't seen a good argument for why we need to validate the top-level > compatible string. I don't feel expert enough on this topic to give you good answer. Which does not prove that there isn't or there is such good answer. > Since there no properties associated with the > top-level compatible string, it's mostly just checking did some one > copy-paste the compatible string from one file (the dts file) to the > other file (the yaml file) correctly. To me, that does not feel like a > useful check. Still it can detect messing of SoC compatibles or not defining any board-level compatible thus pretending that someone's board is just SC7180. Imagine now user-space or bootloader trying to parse it... BTW, the bindings validation of top-level compatible might actually help you - to be sure that DTSes have proper compatibles matching what bootloader expects. > The other thing I wanted to make sure was that we weren't just going > to get NAKed later if/when we had to adjust compatible strings on > existing dts files. Stable ABI is more of SoC maintainer decision and I see Bjorn responded here. > In any case, I guess I'll make an attempt to document the compatibles > for existing Chromebooks and we'll see what happens. I'm still not > convinced of the value, but as long as we're not going to get NAKed > for documenting reality it's fine. Best regards, Krzysztof