svn commit: r258805 - head/sys/dev/ofw
Nathan Whitehorn
nwhitehorn at FreeBSD.org
Sun Dec 1 19:03:21 UTC 2013
Author: nwhitehorn
Date: Sun Dec 1 19:03:20 2013
New Revision: 258805
URL: http://svnweb.freebsd.org/changeset/base/258805
Log:
Open Firmware mandates that certain cross-references, in particular those
in /chosen, be ihandles. The ePAPR spec makes those cross-reference phandles,
since FDT has no concept of ihandles. Have the OF FDT CI module interpret
queries about ihandles as cross-reference phandles.
Modified:
head/sys/dev/ofw/ofw_fdt.c
Modified: head/sys/dev/ofw/ofw_fdt.c
==============================================================================
--- head/sys/dev/ofw/ofw_fdt.c Sun Dec 1 18:37:31 2013 (r258804)
+++ head/sys/dev/ofw/ofw_fdt.c Sun Dec 1 19:03:20 2013 (r258805)
@@ -207,7 +207,8 @@ static phandle_t
ofw_fdt_instance_to_package(ofw_t ofw, ihandle_t instance)
{
- return (-1);
+ /* Where real OF uses ihandles in the tree, FDT uses xref phandles */
+ return (OF_xref_phandle(instance));
}
/* Get the length of a property of a package. */
@@ -350,8 +351,13 @@ ofw_fdt_finddevice(ofw_t ofw, const char
static ssize_t
ofw_fdt_instance_to_path(ofw_t ofw, ihandle_t instance, char *buf, size_t len)
{
+ phandle_t phandle;
- return (-1);
+ phandle = OF_instance_to_package(instance);
+ if (phandle == -1)
+ return (-1);
+
+ return (OF_package_to_path(phandle, buf, len));
}
/* Return the fully qualified pathname corresponding to a package. */
More information about the svn-src-head
mailing list