• Pantelis Antoniou's avatar
    of/overlay: Introduce DT overlay support · 7518b589
    Pantelis Antoniou authored
    Overlays are a method to dynamically modify part of the kernel's
    device tree with dynamically loaded data. Add the core functionality to
    parse, apply and remove an overlay changeset. The core functionality
    takes care of managing the overlay data format and performing the add
    and remove. Drivers are expected to use the overlay functionality to
    support custom expansion busses commonly found on consumer development
    boards like the BeagleBone or Raspberry Pi.
    
    The overlay code uses CONFIG_OF_DYNAMIC changesets to perform the low
    level work of modifying the devicetree.
    
    Documentation about internal and APIs is provided in
    	Documentation/devicetree/overlay-notes.txt
    
    v2:
    - Switch from __of_node_alloc() to __of_node_dup()
    - Documentation fixups
    - Remove 2-pass processing of properties
    - Remove separate ov_lock; just use the DT mutex.
    v1:
    - Drop delete capability using '-' prefix. The '-' prefixed names
    are valid properties and nodes and there is no need for it just yet.
    - Do not update special properties - name & phandle ones.
    - Change order of node attachment, so that the special property update
    works.
    Signed-off-by: default avatarPantelis Antoniou <pantelis.antoniou@konsulko.com>
    Signed-off-by: default avatarGrant Likely <grant.likely@linaro.org>
    7518b589
of.h 29.2 KB