GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
OF_NODE_FROM_XREF(9) FreeBSD Kernel Developer's Manual OF_NODE_FROM_XREF(9)

OF_node_from_xref, OF_xref_from_node
convert between kernel phandle and effective phandle

#include <dev/ofw/ofw_bus.h>
#include <dev/ofw/ofw_bus_subr.h>

phandle_t
OF_node_from_xref(phandle_t xref);

phandle_t
OF_xref_from_node(phandle_t node);

Some OpenFirmware implementations (FDT, IBM) have a concept of effective phandle or xrefs. They are used to cross-reference device tree nodes. For instance, a framebuffer controller may refer to a GPIO controller and pin that controls the backlight. In this example, the GPIO node would have a cell (32-bit integer) property with a reserved name like "phandle" or "linux,phandle" whose value uniquely identifies the node. The actual name depends on the implementation. The framebuffer node would have a property with the name described by device bindings (device-specific set of properties). It can be a cell property or a combined property with one part of it being a cell. The value of the framebuffer node's property would be the same as the value of the GPIO "phandle" property so it can be said that the framebuffer node refers to the GPIO node. The kernel uses internal logic to assign unique identifiers to the device tree nodes, and these values do not match the values of "phandle" properties. OF_node_from_xref() and OF_xref_from_node() are used to perform conversion between these two kinds of node identifiers.

OF_node_from_xref() returns the kernel phandle for the effective phandle xref. If one cannot be found or the OpenFirmware implementation does not support effective phandles, the function returns the input value.

OF_xref_from_xref() returns the effective phandle for the kernel phandle xref. If one cannot be found or the OpenFirmware implementation does not support effective phandles, the function returns the input value.

    phandle_t panelnode, panelxref;
    char *model;

    if (OF_getencprop(node, "lcd-panel", &panelxref) <= 0)
        return;

    panelnode = OF_node_from_xref(panelxref);
    if (OF_getprop_alloc(hdminode, "model", (void **)&model) <= 0)
        return;

OF_device_from_xref(9) OF_device_register_xref(9)

This manual page was written by Oleksandr Tymoshenko <gonzo@FreeBSD.org>.
April 9, 2018 FreeBSD 13.1-RELEASE

Search for    or go to Top of page |  Section 9 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.