Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  1) .. SPDX-License-Identifier: GPL-2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3) ===================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4) Devicetree (DT) ABI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5) ===================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7) I. Regarding stable bindings/ABI, we quote from the 2013 ARM mini-summit
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8)    summary document:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)      "That still leaves the question of, what does a stable binding look
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)      like?  Certainly a stable binding means that a newer kernel will not
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)      break on an older device tree, but that doesn't mean the binding is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)      frozen for all time. Grant said there are ways to change bindings that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14)      don't result in breakage. For instance, if a new property is added,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)      then default to the previous behaviour if it is missing. If a binding
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16)      truly needs an incompatible change, then change the compatible string
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)      at the same time.  The driver can bind against both the old and the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)      new. These guidelines aren't new, but they desperately need to be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)      documented."
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) II.  General binding rules
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23)   1) Maintainers, don't let perfect be the enemy of good.  Don't hold up a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24)      binding because it isn't perfect.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26)   2) Use specific compatible strings so that if we need to add a feature (DMA)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27)      in the future, we can create a new compatible string.  See I.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29)   3) Bindings can be augmented, but the driver shouldn't break when given
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30)      the old binding. ie. add additional properties, but don't change the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31)      meaning of an existing property. For drivers, default to the original
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32)      behaviour when a newly added property is missing.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34)   4) Don't submit bindings for staging or unstable.  That will be decided by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35)      the devicetree maintainers *after* discussion on the mailinglist.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) III. Notes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39)   1) This document is intended as a general familiarization with the process as
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40)      decided at the 2013 Kernel Summit.  When in doubt, the current word of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41)      devicetree maintainers overrules this document.  In that situation, a patch
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42)      updating this document would be appreciated.