A DT changeset is a method which allows one to apply changesin the live tree in such a way that either the full set of changeswill be applied, or none of them will be. If an error occurs partwaythrough applying the changeset, then the tree will be rolled back to theprevious state. A changeset can also be removed after it has beenapplied.When a changeset is applied, all of the changes get applied to the treeat once before emitting OF_RECONFIG notifiers. This is so that thereceiver sees a complete and consistent state of the tree when itreceives the notifier.The sequence of a changeset is as follows.1. of_changeset_init() - initializes a changeset2. A number of DT tree change calls, of_changeset_attach_node(),of_changeset_detach_node(), of_changeset_add_property(),of_changeset_remove_property, of_changeset_update_property() to preparea set of changes. No changes to the active tree are made at this point.All the change operations are recorded in the of_changeset 'entries'list.3. mutex_lock(of_mutex) - starts a changeset; The global of_mutexensures there can only be one editor at a time.4. of_changeset_apply() - Apply the changes to the tree. Either theentire changeset will get applied, or if there is an error the tree willbe restored to the previous state5. mutex_unlock(of_mutex) - All operations complete, release the mutexIf a successfully applied changeset needs to be removed, it can be donewith the following sequence.1. mutex_lock(of_mutex)2. of_changeset_revert()3. mutex_unlock(of_mutex)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。