Date: Wed, 20 Jan 2016 13:35:07 +0000 (UTC) From: Zbigniew Bodek <zbb@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r294419 - in head/sys: arm/mv dev/fdt Message-ID: <201601201335.u0KDZ7ss061471@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: zbb Date: Wed Jan 20 13:35:06 2016 New Revision: 294419 URL: https://svnweb.freebsd.org/changeset/base/294419 Log: Do not require strict compatibility on simplebus Strict compatibility requirement is a root of problems when simplebus' node has two compatibility strings (i.e. on Armada38x). Removing this requirement should not interfere with other platforms. fdt_is_compatible_strict() and fdt_find_compatible() calls were changed in fdt_common.c and mv_common.c. Reviewed by: ian, imp Obtained from: Semihalf Sponsored by: Stormshield Submitted by: Bartosz Szczepanek <bsz@semihalf.com> Differential revision: https://reviews.freebsd.org/D4602 Modified: head/sys/arm/mv/mv_common.c head/sys/dev/fdt/fdt_common.c Modified: head/sys/arm/mv/mv_common.c ============================================================================== --- head/sys/arm/mv/mv_common.c Wed Jan 20 13:32:13 2016 (r294418) +++ head/sys/arm/mv/mv_common.c Wed Jan 20 13:35:06 2016 (r294419) @@ -2064,7 +2064,7 @@ fdt_win_setup(void) */ child = OF_peer(child); if ((child == 0) && (node == OF_finddevice("/"))) { - node = fdt_find_compatible(node, "simple-bus", 1); + node = fdt_find_compatible(node, "simple-bus", 0); if (node == 0) return (ENXIO); child = OF_child(node); Modified: head/sys/dev/fdt/fdt_common.c ============================================================================== --- head/sys/dev/fdt/fdt_common.c Wed Jan 20 13:32:13 2016 (r294418) +++ head/sys/dev/fdt/fdt_common.c Wed Jan 20 13:35:06 2016 (r294419) @@ -212,7 +212,7 @@ fdt_immr_addr(vm_offset_t immr_va) * Try to access the SOC node directly i.e. through /aliases/. */ if ((node = OF_finddevice("soc")) != 0) - if (fdt_is_compatible_strict(node, "simple-bus")) + if (fdt_is_compatible(node, "simple-bus")) goto moveon; /* * Find the node the long way. @@ -220,7 +220,7 @@ fdt_immr_addr(vm_offset_t immr_va) if ((node = OF_finddevice("/")) == 0) return (ENXIO); - if ((node = fdt_find_compatible(node, "simple-bus", 1)) == 0) + if ((node = fdt_find_compatible(node, "simple-bus", 0)) == 0) return (ENXIO); moveon:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201601201335.u0KDZ7ss061471>