svn commit: r330905 - stable/11/sys/dev/ofw
Kyle Evans
kevans at FreeBSD.org
Wed Mar 14 03:47:59 UTC 2018
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);
}
More information about the svn-src-all
mailing list