brintos

brintos / linux-shallow public Read only

0
0
Text · 1.9 KiB · a885713 Raw
43 lines · plain
1.. SPDX-License-Identifier: GPL-2.02 3===================4Devicetree (DT) ABI5===================6 7I. Regarding stable bindings/ABI, we quote from the 2013 ARM mini-summit8   summary document:9 10     "That still leaves the question of, what does a stable binding look11     like?  Certainly a stable binding means that a newer kernel will not12     break on an older device tree, but that doesn't mean the binding is13     frozen for all time. Grant said there are ways to change bindings that14     don't result in breakage. For instance, if a new property is added,15     then default to the previous behaviour if it is missing. If a binding16     truly needs an incompatible change, then change the compatible string17     at the same time.  The driver can bind against both the old and the18     new. These guidelines aren't new, but they desperately need to be19     documented."20 21II.  General binding rules22 23  1) Maintainers, don't let perfect be the enemy of good.  Don't hold up a24     binding because it isn't perfect.25 26  2) Use specific compatible strings so that if we need to add a feature (DMA)27     in the future, we can create a new compatible string.  See I.28 29  3) Bindings can be augmented, but the driver shouldn't break when given30     the old binding. ie. add additional properties, but don't change the31     meaning of an existing property. For drivers, default to the original32     behaviour when a newly added property is missing.33 34  4) Don't submit bindings for staging or unstable.  That will be decided by35     the devicetree maintainers *after* discussion on the mailinglist.36 37III. Notes38 39  1) This document is intended as a general familiarization with the process as40     decided at the 2013 Kernel Summit.  When in doubt, the current word of the41     devicetree maintainers overrules this document.  In that situation, a patch42     updating this document would be appreciated.43