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);
 }
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to