<div dir="ltr">Hi,<div><br></div><div>Yes I agree.</div><div>We should keep the behaviour as close to FreeBSD as possible.</div><div><br></div><div>Best,</div><div>Nils</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, 12 Aug 2019 at 07:48, Sebastian Huber <<a href="mailto:sebastian.huber@embedded-brains.de">sebastian.huber@embedded-brains.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 12/08/2019 00:23, Chris Johns wrote:<br>
> On 10/8/19 4:33 am, Christian Mauderer wrote:<br>
>> thanks for the patch. It sounds like we will get a behaviour that is<br>
>> more similar to FreeBSD one with it.<br>
> <br>
> Yes.<br>
> <br>
>> But it has the potential to have a<br>
>> big influence on existing BSPs so it would be good to have some more<br>
>> feedback for it before merging it.<br>
> <br>
> Do you have specific BSPs in mind? If we agree this behaviour is more like<br>
> FreeBSD would that mean a BSP that breaks needs to be fixed?<br>
<br>
The FreeBSD nexus bus use this:<br>
<br>
freebsd-org/sys/arm/arm/nexus.c:EARLY_DRIVER_MODULE(nexus, root, <br>
nexus_driver, nexus_devclass, 0, 0,<br>
freebsd-org/sys/arm/arm/nexus.c-    BUS_PASS_BUS + BUS_PASS_ORDER_EARLY);<br>
freebsd-org/sys/arm/arm/nexus.c-<br>
--<br>
freebsd-org/sys/i386/acpica/acpi_machdep.c:DRIVER_MODULE(nexus_acpi, <br>
root, nexus_acpi_driver, nexus_devclass, 0, 0);<br>
--<br>
freebsd-org/sys/powerpc/powerpc/nexus.c:EARLY_DRIVER_MODULE(nexus, root, <br>
nexus_driver, nexus_devclass, 0, 0,<br>
freebsd-org/sys/powerpc/powerpc/nexus.c-    BUS_PASS_BUS);<br>
freebsd-org/sys/powerpc/powerpc/nexus.c-MODULE_VERSION(nexus, 1);<br>
--<br>
freebsd-org/sys/mips/mips/nexus.c:EARLY_DRIVER_MODULE(nexus, root, <br>
nexus_driver, nexus_devclass, 0, 0,<br>
freebsd-org/sys/mips/mips/nexus.c-    BUS_PASS_BUS + BUS_PASS_ORDER_EARLY);<br>
--<br>
freebsd-org/sys/arm64/arm64/nexus.c:EARLY_DRIVER_MODULE(nexus_fdt, root, <br>
nexus_fdt_driver, nexus_fdt_devclass,<br>
freebsd-org/sys/arm64/arm64/nexus.c-    0, 0, BUS_PASS_BUS + <br>
BUS_PASS_ORDER_FIRST);<br>
freebsd-org/sys/arm64/arm64/nexus.c-<br>
--<br>
freebsd-org/sys/arm64/arm64/nexus.c:EARLY_DRIVER_MODULE(nexus_acpi, <br>
root, nexus_acpi_driver, nexus_acpi_devclass,<br>
freebsd-org/sys/arm64/arm64/nexus.c-    0, 0, BUS_PASS_BUS + <br>
BUS_PASS_ORDER_FIRST);<br>
freebsd-org/sys/arm64/arm64/nexus.c-<br>
--<br>
freebsd-org/sys/amd64/acpica/acpi_machdep.c:DRIVER_MODULE(nexus_acpi, <br>
root, nexus_acpi_driver, nexus_devclass, 0, 0);<br>
--<br>
freebsd-org/sys/sparc64/sparc64/nexus.c:EARLY_DRIVER_MODULE(nexus, root, <br>
nexus_driver, nexus_devclass, 0, 0,<br>
freebsd-org/sys/sparc64/sparc64/nexus.c-    BUS_PASS_BUS);<br>
freebsd-org/sys/sparc64/sparc64/nexus.c-MODULE_VERSION(nexus, 1);<br>
--<br>
freebsd-org/sys/riscv/riscv/nexus.c:EARLY_DRIVER_MODULE(nexus_fdt, root, <br>
nexus_fdt_driver, nexus_fdt_devclass,<br>
freebsd-org/sys/riscv/riscv/nexus.c-    0, 0, BUS_PASS_BUS + <br>
BUS_PASS_ORDER_FIRST);<br>
freebsd-org/sys/riscv/riscv/nexus.c-<br>
--<br>
freebsd-org/sys/x86/xen/xen_nexus.c:DRIVER_MODULE(nexus_xen, root, <br>
nexus_xen_driver, nexus_devclass, 0, 0);<br>
--<br>
freebsd-org/sys/x86/x86/nexus.c:DRIVER_MODULE(nexus, root, nexus_driver, <br>
nexus_devclass, 0, 0);<br>
freebsd-org/sys/x86/x86/nexus.c-<br>
freebsd-org/sys/x86/x86/nexus.c-static int<br>
<br>
So, I think we should change it to:<br>
<br>
EARLY_DRIVER_MODULE(nexus, root, nexus_driver, nexus_devclass, 0, 0,<br>
     BUS_PASS_BUS + BUS_PASS_ORDER_EARLY);<br>
<br>
-- <br>
Sebastian Huber, embedded brains GmbH<br>
<br>
Address : Dornierstr. 4, D-82178 Puchheim, Germany<br>
Phone   : +49 89 189 47 41-16<br>
Fax     : +49 89 189 47 41-09<br>
E-Mail  : <a href="mailto:sebastian.huber@embedded-brains.de" target="_blank">sebastian.huber@embedded-brains.de</a><br>
PGP     : Public key available on request.<br>
<br>
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.<br>
</blockquote></div>