Re: [PATCH v2 08/12] ARM: dts: imx6dl-pico: fix board compatibles
From: Ahmad Fatoum <a.fatoum@pengutronix.de>
Date: 2020-10-02 08:34:35
Also in:
linux-devicetree, lkml
Hello, On 10/2/20 10:20 AM, Krzysztof Kozlowski wrote:
On Fri, Oct 02, 2020 at 09:41:28AM +0200, Ahmad Fatoum wrote:quoted
Hello, On 10/1/20 12:37 PM, Krzysztof Kozlowski wrote:quoted
quoted
The existing binding doesn't cover these boards then and needs to be extended, no? How about following patch?What do you mean it doesn't cover? It was added exactly to handle them: + - technexion,imx6q-pico-dwarf # TechNexion i.MX6Q Pico-Dwarf + - technexion,imx6q-pico-hobbit # TechNexion i.MX6Q Pico-Hobbit + - technexion,imx6q-pico-nymph # TechNexion i.MX6Q Pico-Nymph + - technexion,imx6q-pico-pi # TechNexion i.MX6Q Pico-PiStill they are unused. So I'd think these boards should be handled like boards that predated bindings: a binding is written that doesn't break existing users.OK, let's assume the binding is not correct and DTSes are good.quoted
quoted
quoted
[I guess we need to keep the two-compatible list they were originally in for compatibility even if it's unused among upstream device trees?]You want to change both the binding (thus breaking the ABI) and update the DTS to reflect new ABI. Then why having a binding at all?If we leave the old two-compatible enumeration intact, there is no ABI broken.Just to clarify, because I don't get here the "no ABI broken" part: ABI is the binding, not the DTS. We can change intree DTS as we like, replace compatibles, add nodes, remove nodes. There is no stability requirement for DTS contents. If we leave two-compatible binding intact, it is a broken binding since beginning. Removing non-working, fake ABI is not breaking it because it could never work.
Then I misunderstood you. I was thinking about possible out-of-tree users that have boards based on this and are adhering to the binding. Dropping the binding would break those (albeit it's a quite manageable form of brokenness here).
quoted
quoted
I would assume that either binding is correct or DTS. You propose that both are wrong and both need changes... in such case this is clearly broken.IMO the DTS is the correct one. If you want to honor the author's intention that each base board has a different compatible, it should be an extra compatible and not replace the existing one that may be already in use.OK, we can go with DTS approach. I fixed few of such cases as well, assuming that DTS was intended and binding was incorrect. In such case all boards will be documented under one compatible technexion,imx6q-pico and DTS will not be changed.
Sounds good. If further differentiation proves to be needed, it can be a new compatible added in a separate commit. Thanks Ahmad
Best regards, Krzysztof
-- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel