| .. _OPAL_GET_DEVICE_TREE: |
| |
| OPAL_GET_DEVICE_TREE |
| ==================== |
| |
| .. code-block:: c |
| |
| #define OPAL_GET_DEVICE_TREE 118 |
| |
| int64_t opal_get_device_tree(uint32_t phandle, uint64_t buf, uint64_t len); |
| |
| Get device sub-tree. |
| |
| ``uint32_t phandle`` |
| root device node phandle of the device sub-tree |
| ``uint64_t buf`` |
| FDT blob buffer or NULL |
| ``uint64_t len`` |
| length of the FDT blob buffer |
| |
| |
| Retrieve device sub-tree. The root node's phandle is identified by @phandle. |
| The typical use is for the kernel to update its device tree following a change |
| in hardware (e.g. PCI hotplug). |
| |
| Return Codes |
| ^^^^^^^^^^^^ |
| |
| FDT blob size |
| returned FDT blob buffer size when ``buf`` is NULL |
| |
| :ref:`OPAL_SUCCESS` |
| FDT blob is created successfully |
| :ref:`OPAL_PARAMETER` |
| invalid argument @phandle or @len |
| :ref:`OPAL_INTERNAL_ERROR` |
| failure creating FDT blob when calculating its size |
| :ref:`OPAL_NO_MEM` |
| not enough room in buffer for device sub-tree |
| :ref:`OPAL_EMPTY` |
| failure creating FDT blob |