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 the phandle for the
node specified by the
path. Returns -1 if the
path cannot be found in the tree.
The return value should only be checked with equality operators (equal to, not
equal to) and not relational comparison (less than, greater than ). There is a
discrepancy between IEEE 1275 standard and
FreeBSD's
internal representation of a phandle: IEEE 1275 requires the return value of
this function to be -1 if the path is not found. But phandle_t is an 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>.