svn commit: r271199 - head/sys/dev/ofw

Ian Lepore ian at FreeBSD.org
Sat Sep 6 17:51:02 UTC 2014


Author: ian
Date: Sat Sep  6 17:50:59 2014
New Revision: 271199
URL: http://svnweb.freebsd.org/changeset/base/271199

Log:
  Revert rr271190, it was based on a misunderstanding.  The problem of
  non-existant device<->xref info needs to be handled by creating the info,
  which will come in a subsequent commit.

Modified:
  head/sys/dev/ofw/openfirm.c
  head/sys/dev/ofw/openfirm.h

Modified: head/sys/dev/ofw/openfirm.c
==============================================================================
--- head/sys/dev/ofw/openfirm.c	Sat Sep  6 17:33:41 2014	(r271198)
+++ head/sys/dev/ofw/openfirm.c	Sat Sep  6 17:50:59 2014	(r271199)
@@ -554,15 +554,15 @@ OF_node_from_xref(phandle_t xref)
 	return (node);
 }
 
-static phandle_t
-xref_from_node(phandle_t node, phandle_t notfoundvalue)
+phandle_t
+OF_xref_from_node(phandle_t node)
 {
 	struct xrefinfo *xi;
 	phandle_t xref;
 
 	if (xref_init_done) {
 		if ((xi = xrefinfo_find(node, FIND_BY_NODE)) == NULL)
-			return (notfoundvalue);
+			return (node);
 		return (xi->xref);
 	}
 
@@ -570,24 +570,10 @@ xref_from_node(phandle_t node, phandle_t
 	    -1 && OF_getencprop(node, "ibm,phandle", &xref,
 	    sizeof(xref)) == -1 && OF_getencprop(node,
 	    "linux,phandle", &xref, sizeof(xref)) == -1)
-		return (notfoundvalue);
+		return (node);
 	return (xref);
 }
 
-phandle_t
-OF_xref_from_node(phandle_t node)
-{
-
-	return (xref_from_node(node, node));
-}
-
-phandle_t
-OF_xref_from_node_strict(phandle_t node)
-{
-
-	return (xref_from_node(node, -1));
-}
-
 device_t
 OF_device_from_xref(phandle_t xref)
 {

Modified: head/sys/dev/ofw/openfirm.h
==============================================================================
--- head/sys/dev/ofw/openfirm.h	Sat Sep  6 17:33:41 2014	(r271198)
+++ head/sys/dev/ofw/openfirm.h	Sat Sep  6 17:50:59 2014	(r271199)
@@ -128,12 +128,10 @@ ssize_t		OF_package_to_path(phandle_t no
  * Some OF implementations (IBM, FDT) have a concept of effective phandles
  * used for device-tree cross-references. Given one of these, returns the
  * real phandle. If one can't be found (or running on OF implementations
- * without this property), OF_xref_from_node() returns its input, while the
- * strict version returns -1.
+ * without this property), returns its input.
  */
 phandle_t	OF_node_from_xref(phandle_t xref);
 phandle_t	OF_xref_from_node(phandle_t node);
-phandle_t	OF_xref_from_node_strict(phandle_t node);
 
 /*
  * When properties contain references to other nodes using xref handles it is


More information about the svn-src-all mailing list