英语
设备树变更集¶
设备树变更集是一种方法,它允许以这样一种方式在实时树中应用更改:要么应用全部更改,要么不应用任何更改。如果在应用变更集的过程中发生错误,则树将回滚到之前的状态。变更集在应用后也可以被移除。
当应用变更集时,所有更改会一次性应用到树上,然后发出 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()
来完成。