设备树 (DT) ABI¶
关于稳定的绑定/ABI,我们引用 2013 年 ARM 小型峰会总结文档中的内容
“这仍然留下了一个问题,一个稳定的绑定是什么样子的?当然,一个稳定的绑定意味着较新的内核不会在较旧的设备树上崩溃,但这并不意味着绑定会永远冻结。Grant 说,有一些方法可以在不造成破坏的情况下更改绑定。例如,如果添加了一个新属性,则在缺少该属性时默认使用之前的行为。如果绑定确实需要不兼容的更改,则同时更改 compatible 字符串。驱动程序可以绑定到旧的和新的。这些指南并不新鲜,但它们迫切需要被记录下来。”
通用绑定规则
维护者们,不要让完美成为优秀的敌人。不要因为一个绑定不完美而阻碍它。
使用特定的 compatible 字符串,以便将来我们需要添加功能 (DMA) 时,我们可以创建一个新的 compatible 字符串。请参阅 I。
绑定可以增强,但驱动程序不应该在给定旧绑定时崩溃。即,添加其他属性,但不要更改现有属性的含义。对于驱动程序,当缺少新添加的属性时,默认使用原始行为。
不要提交用于暂存或不稳定的绑定。这将由设备树维护人员在邮件列表上讨论之后决定。
备注
本文档旨在作为 2013 年内核峰会上决定的流程的一般介绍。如有疑问,设备树维护者的当前意见将覆盖本文档。在这种情况下,我们将感谢您提供更新本文档的补丁。