英语
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()
来完成。