Merge 4.14.82 into android-4.14-p
[GitHub/moto-9609/android_kernel_motorola_exynos9610.git] / Documentation / devicetree / changesets.txt
CommitLineData
201c910b
PA
1A DT changeset is a method which allows one to apply changes
2in the live tree in such a way that either the full set of changes
3will be applied, or none of them will be. If an error occurs partway
4through applying the changeset, then the tree will be rolled back to the
5previous state. A changeset can also be removed after it has been
6applied.
7
8When a changeset is applied, all of the changes get applied to the tree
9at once before emitting OF_RECONFIG notifiers. This is so that the
10receiver sees a complete and consistent state of the tree when it
11receives the notifier.
12
13The sequence of a changeset is as follows.
14
151. of_changeset_init() - initializes a changeset
16
172. A number of DT tree change calls, of_changeset_attach_node(),
18of_changeset_detach_node(), of_changeset_add_property(),
19of_changeset_remove_property, of_changeset_update_property() to prepare
20a set of changes. No changes to the active tree are made at this point.
21All the change operations are recorded in the of_changeset 'entries'
22list.
23
63b77d6d 243. of_changeset_apply() - Apply the changes to the tree. Either the
201c910b 25entire changeset will get applied, or if there is an error the tree will
63b77d6d
WS
26be restored to the previous state. The core ensures proper serialization
27through locking. An unlocked version __of_changeset_apply is available,
28if needed.
201c910b
PA
29
30If a successfully applied changeset needs to be removed, it can be done
63b77d6d 31with of_changeset_revert().