forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'devicetree/next-overlay' into devicetree/next
Conflicts: drivers/of/testcase-data/testcases.dts
- Loading branch information
Showing
14 changed files
with
1,054 additions
and
443 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
A DT changeset is a method which allows one to apply changes | ||
in the live tree in such a way that either the full set of changes | ||
will be applied, or none of them will be. If an error occurs partway | ||
through applying the changeset, then the tree will be rolled back to the | ||
previous state. A changeset can also be removed after it has been | ||
applied. | ||
|
||
When a changeset is applied, all of the changes get applied to the tree | ||
at once before emitting OF_RECONFIG notifiers. This is so that the | ||
receiver sees a complete and consistent state of the tree when it | ||
receives the notifier. | ||
|
||
The sequence of a changeset is as follows. | ||
|
||
1. of_changeset_init() - initializes a changeset | ||
|
||
2. 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 prepare | ||
a 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_mutex | ||
ensures there can only be one editor at a time. | ||
|
||
4. of_changeset_apply() - Apply the changes to the tree. Either the | ||
entire changeset will get applied, or if there is an error the tree will | ||
be restored to the previous state | ||
|
||
5. mutex_unlock(of_mutex) - All operations complete, release the mutex | ||
|
||
If a successfully applied changeset needs to be removed, it can be done | ||
with the following sequence. | ||
|
||
1. mutex_lock(of_mutex) | ||
|
||
2. of_changeset_revert() | ||
|
||
3. mutex_unlock(of_mutex) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.