英語
Devicetree 變更集¶
Devicetree 變更集是一種允許在即時樹中應用更改的方法,其方式是,要麼應用整個更改集,要麼不應用任何更改。 如果在應用變更集的過程中出現錯誤,則樹將回滾到先前的狀態。 變更集在應用後也可以刪除。
當應用變更集時,所有更改都會一次性應用到樹中,然後再發出 OF_RECONFIG 通知器。 這是為了讓接收者在接收到通知器時看到樹的完整且一致的狀態。
變更集的順序如下。
of_changeset_init()- 初始化一個變更集一些 DT 樹更改呼叫,of_changeset_attach_node(),of_changeset_detach_node(),of_changeset_add_property(),of_changeset_remove_property,of_changeset_update_property() 來準備一組更改。 此時不會對活動樹進行任何更改。 所有更改操作都記錄在 of_changeset ‘entries’ 列表中。
of_changeset_apply()- 將更改應用到樹。 要麼應用整個變更集,要麼如果出現錯誤,樹將恢復到以前的狀態。 核心透過鎖定確保正確的序列化。 如果需要,可以使用未鎖定的版本 __of_changeset_apply。
如果需要刪除成功應用的變更集,可以使用 of_changeset_revert() 來完成。