~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/changesets.rst

Version: ~ [ linux-6.11-rc3 ] ~ [ linux-6.10.4 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.45 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.104 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.164 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.223 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.281 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.319 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 .. SPDX-License-Identifier: GPL-2.0
  2 
  3 =====================
  4 Devicetree Changesets
  5 =====================
  6 
  7 A Devicetree changeset is a method which allows one to apply changes
  8 in the live tree in such a way that either the full set of changes
  9 will be applied, or none of them will be. If an error occurs partway
 10 through applying the changeset, then the tree will be rolled back to the
 11 previous state. A changeset can also be removed after it has been
 12 applied.
 13 
 14 When a changeset is applied, all of the changes get applied to the tree
 15 at once before emitting OF_RECONFIG notifiers. This is so that the
 16 receiver sees a complete and consistent state of the tree when it
 17 receives the notifier.
 18 
 19 The sequence of a changeset is as follows.
 20 
 21 1. of_changeset_init() - initializes a changeset
 22 
 23 2. A number of DT tree change calls, of_changeset_attach_node(),
 24    of_changeset_detach_node(), of_changeset_add_property(),
 25    of_changeset_remove_property, of_changeset_update_property() to prepare
 26    a set of changes. No changes to the active tree are made at this point.
 27    All the change operations are recorded in the of_changeset 'entries'
 28    list.
 29 
 30 3. of_changeset_apply() - Apply the changes to the tree. Either the
 31    entire changeset will get applied, or if there is an error the tree will
 32    be restored to the previous state. The core ensures proper serialization
 33    through locking. An unlocked version __of_changeset_apply is available,
 34    if needed.
 35 
 36 If a successfully applied changeset needs to be removed, it can be done
 37 with of_changeset_revert().

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php