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
This commit is contained in:
parent
ed5d3a971c
commit
b2ea73e3bb
@ -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);
|
||||
|
@ -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:
|
||||
|
Loading…
Reference in New Issue
Block a user