docs: dt: writing-bindings: Extend compatible fallbacks guideline

Extend the guidelines when to use fallback compatibles to cover to
common review responses.  Devices are most likely compatible and should
use fallbacks when having:

1. Compatible programming interface, meaning one is a subset, and Linux
   device drivers can use the subset to correctly match/bind and still
   operate with the subset features.

2. Device variant discovery through some means, like registers.

Devices are incompatible and fallback is not suitable when that
fallback cannot be used by the drivers to match/bind.  In the same time
commit message should clearly explain when the code suggests devices
are compatible, but the binding does not define them as such.

Acked-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Link: https://patch.msgid.link/20260427160739.175451-2-krzysztof.kozlowski@oss.qualcomm.com
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
This commit is contained in:
Krzysztof Kozlowski
2026-04-27 18:07:40 +02:00
committed by Rob Herring (Arm)
parent 63353810c0
commit cdd5ffcec0

View File

@@ -53,7 +53,17 @@ Properties
- DON'T use wildcards or device-family names in compatible strings.
- DO use fallback compatibles when devices are the same as or a superset of
prior implementations.
prior implementations. Fallback compatibles are applicable especially
when sharing a programming interface or when able to discover the
variants.
- DON'T add fake fallback compatibles when software cannot use such to match
and bind to a device, and still operate correctly.
- DO use the commit message to explain why devices that may appear
compatible in a diff (e.g. no differences in property use, same handling
by the software) but are not made compatible in the binding, are not
compatible.
- DO add new compatibles in case there are new features or bugs.