Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 14 Mar 2018 03:47:58 +0000 (UTC)
From:      Kyle Evans <kevans@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org
Subject:   svn commit: r330905 - stable/11/sys/dev/ofw
Message-ID:  <201803140347.w2E3lwrg051568@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kevans
Date: Wed Mar 14 03:47:58 2018
New Revision: 330905
URL: https://svnweb.freebsd.org/changeset/base/330905

Log:
  MFC r327391: Avoid use of the fdt_get_property_*() API
  
  [It is] intrinsically incompatible with FDT versions < 16. This also
  simplifies the code a bit.

Modified:
  stable/11/sys/dev/ofw/ofw_fdt.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sys/dev/ofw/ofw_fdt.c
==============================================================================
--- stable/11/sys/dev/ofw/ofw_fdt.c	Wed Mar 14 03:45:33 2018	(r330904)
+++ stable/11/sys/dev/ofw/ofw_fdt.c	Wed Mar 14 03:47:58 2018	(r330905)
@@ -227,7 +227,7 @@ ofw_fdt_instance_to_package(ofw_t ofw, ihandle_t insta
 static ssize_t
 ofw_fdt_getproplen(ofw_t ofw, phandle_t package, const char *propname)
 {
-	const struct fdt_property *prop;
+	const void *prop;
 	int offset, len;
 
 	offset = fdt_phandle_offset(package);
@@ -235,7 +235,7 @@ ofw_fdt_getproplen(ofw_t ofw, phandle_t package, const
 		return (-1);
 
 	len = -1;
-	prop = fdt_get_property(fdtp, offset, propname, &len);
+	prop = fdt_getprop(fdtp, offset, propname, &len);
 
 	if (prop == NULL && strcmp(propname, "name") == 0) {
 		/* Emulate the 'name' property */
@@ -312,7 +312,7 @@ static int
 ofw_fdt_nextprop(ofw_t ofw, phandle_t package, const char *previous, char *buf,
     size_t size)
 {
-	const struct fdt_property *prop;
+	const void *prop;
 	const char *name;
 	int offset;
 
@@ -327,7 +327,7 @@ ofw_fdt_nextprop(ofw_t ofw, phandle_t package, const c
 
 	if (previous != NULL) {
 		while (offset >= 0) {
-			prop = fdt_get_property_by_offset(fdtp, offset, NULL);
+			prop = fdt_getprop_by_offset(fdtp, offset, &name, NULL);
 			if (prop == NULL)
 				return (-1); /* Internal error */
 
@@ -336,17 +336,16 @@ ofw_fdt_nextprop(ofw_t ofw, phandle_t package, const c
 				return (0); /* No more properties */
 
 			/* Check if the last one was the one we wanted */
-			name = fdt_string(fdtp, fdt32_to_cpu(prop->nameoff));
 			if (strcmp(name, previous) == 0)
 				break;
 		}
 	}
 
-	prop = fdt_get_property_by_offset(fdtp, offset, &offset);
+	prop = fdt_getprop_by_offset(fdtp, offset, &name, &offset);
 	if (prop == NULL)
 		return (-1); /* Internal error */
 
-	strncpy(buf, fdt_string(fdtp, fdt32_to_cpu(prop->nameoff)), size);
+	strncpy(buf, name, size);
 
 	return (1);
 }



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201803140347.w2E3lwrg051568>