提交裝置樹(DT)繫結補丁¶
一、對於補丁提交者¶
正常補丁提交規則參見 提交補丁:將程式碼納入核心的基本指南。
補丁的 Documentation/ 和 include/dt-bindings/ 部分應單獨作為補丁。繫結補丁的首選主題字首是
"dt-bindings: <binding dir>: ..."少數子系統,如 ASoC、media、regulators 和 SPI,要求字首的順序顛倒
"<binding dir>: dt-bindings: ..."主題的 80 個字元非常寶貴。建議不要使用“Documentation”或“doc”,因為這已經暗示了。所有繫結都是文件。也應避免重複“binding”。
DT 繫結檔案使用 json-schema 詞彙和 YAML 檔案格式編寫,採用 DT schema 格式。DT 繫結檔案必須透過執行以下命令進行驗證
make dt_binding_check有關 schema 和工具設定的更多詳細資訊,請參閱 使用 json-schema 編寫裝置樹繫結。
DT 繫結檔案應採用雙重許可。首選的許可標籤是 (GPL-2.0-only OR BSD-2-Clause)。
將整個系列提交到 devicetree 郵件列表:
並抄送 DT 維護者。使用 scripts/get_maintainer.pl 來識別所有 DT 維護者。
補丁的 Documentation/ 部分應在實現繫結的程式碼之前提交。
晶片或板級 DTS 檔案中使用的任何相容字串必須事先在 Documentation/devicetree/bindings 中相應的 DT 繫結檔案中記錄。即使 Linux 裝置驅動程式尚未匹配該相容字串,此規則也適用。[ 如果不遵循此步驟,checkpatch 將發出警告,從 commit bff5da4335256513497cc8c79f9a9d1665e09864 (“checkpatch: add DT compatible string documentation checks”)開始。]
DTS 通常被視為獨立於驅動程式的硬體描述,因此任何 DTS 補丁,無論使用現有繫結還是新繫結,都應放在補丁集的末尾,以表明驅動程式不依賴於 DTS。DTS 將透過獨立的樹或分支應用,因此不同的順序將表明該系列無法進行二分法查詢。
如果驅動程式子系統維護者傾向於應用整個集合,而不是補丁集的相關部分,請將 DTS 補丁拆分為單獨的補丁集,並在變更日誌或附函中引用郵件列表上的繫結提交。
如果文件化的相容字串尚未被驅動程式匹配,文件還應包含一個已被驅動程式匹配的相容字串。
繫結被除 Linux 核心之外的多個專案積極使用,因此在更改現有繫結時可能需要格外小心和考慮。
二、對於核心維護者¶
如果您不熟悉審查某個繫結,請回復並向 devicetree 維護者尋求指導。這將有助於他們確定哪些需要審查,哪些可以放行。
對於驅動程式(非子系統)繫結:如果您對繫結感到滿意,並且在幾周後仍未收到 devicetree 維護者的 Acked-by,請繼續接受它。
對於子系統繫結(影響多個裝置的任何內容),需要由 devicetree 維護者進行審查。
對於透過多棵樹的系列,繫結補丁應與使用該繫結的驅動程式一起保留。
然而,DTS 檔案絕不應透過驅動程式子系統樹應用,而應始終透過平臺 SoC 樹在專用分支上應用(另請參閱 SoC 子系統)。
三、注意事項¶
有關裝置樹 ABI 的詳細資訊,請參閱 裝置樹(DT)ABI。
本文件旨在作為對 2013 年核心峰會上決定的流程的普遍熟悉。如有疑問,devicetree 維護者當前的說法優先於本文件。在這種情況下,更新本文件的補丁將不勝感激。