裝置樹 (DT) ABI

  1. 關於穩定的繫結/ABI,我們引用 2013 年 ARM 小型峰會總結文件中的內容:

    “這仍然留下了一個問題,即穩定的繫結是什麼樣的?當然,穩定的繫結意味著較新的核心不會在舊的裝置樹上中斷,但這並不意味著繫結會永遠凍結。Grant 表示,有辦法在不導致中斷的情況下更改繫結。例如,如果添加了一個新屬性,那麼在缺少該屬性時,預設採用之前的行為。如果一個繫結確實需要不相容的更改,那麼同時更改相容字串。驅動程式可以同時繫結舊的和新的。這些準則並不新鮮,但它們迫切需要被記錄下來。”

  2. 通用繫結規則

  1. 維護者們,不要讓完美成為優秀的敵人。不要因為繫結不完美就阻礙它。

  2. 使用特定的相容字串,這樣如果未來需要新增某個功能(如 DMA),我們可以建立一個新的相容字串。參見 I。

  3. 繫結可以擴充,但當使用舊繫結時,驅動程式不應中斷。即,可以新增額外的屬性,但不要更改現有屬性的含義。對於驅動程式,當新新增的屬性缺失時,預設採用原始行為。

  4. 不要提交用於 staging 或不穩定的繫結。這將在郵件列表討論由裝置樹維護者決定。

  1. 說明

  1. 本文件旨在讓讀者大致瞭解 2013 年核心峰會所確定的流程。如有疑問,以裝置樹維護者目前的意見為準,而非本文件。在這種情況下,更新本文件的補丁將不勝感激。