
  Submitting devicetree (DT) binding patches

I. For patch submitters

  0) Normal patch submission rules from Documentation/SubmittingPatches
     applies.

  1) The Documentation/ portion of the patch should be a separate patch.

  2) Submit the entire series to the devicetree mailinglist at

       devicetree@vger.kernel.org

II. For kernel maintainers

  1) If you aren't comfortable reviewing a given binding, reply to it and ask
     the devicetree maintainers for guidance.  This will help them prioritize
     which ones to review and which ones are ok to let go.

  2) For driver (not subsystem) bindings: If you are comfortable with the
     binding, and it hasn't received an Acked-by from the devicetree
     maintainers after a few weeks, go ahead and take it.

     Subsystem bindings (anything affecting more than a single device)
     then getting a devicetree maintainer to review it is required.

  3) For a series going though multiple trees, the binding patch should be
     kept with the driver using the binding.

III. Notes

  0) Please see ...bindings/ABI.txt for details regarding devicetree ABI.

  1) This document is intended as a general familiarization with the process as
     decided at the 2013 Kernel Summit.  When in doubt, the current word of the
     devicetree maintainers overrules this document.  In that situation, a patch
     updating this document would be appreciated.
