OF_finddevice —
find node in device tree
#include
<dev/ofw/ofw_bus.h>
#include
<dev/ofw/ofw_bus_subr.h>
phandle_t
OF_finddevice(
const
char *path);
OF_finddevice() returns phandle for the node
specified by the
path. -1 if the path cannot
be found in the tree.
Return value should be checked only using equality operators (==, !=) and not
relational comparison ( <, > ). There is a discrepancy between IEEE 1275
standard and FreeBSD internal representation of phandle: IEEE 1275 requires
return value of this function to be -1 if path is not found but phandle_t is
unsigned type, so it cannot be relationally compared with -1 or 0, this
comparison is always true or always false.
phandle_t root, i2c;
root = OF_finddevice("/");
i2c = OF_finddevice("/soc/axi/i2c@a0e0000");
if (i2c != -1) {
...
}
OF_child(9)
OF_parent(9)
OF_peer(9)
This manual page was written by
Oleksandr
Tymoshenko
<
gonzo@FreeBSD.org>.