]> xenbits.xensource.com Git - people/liuw/freebsd.git/commitdiff
Mark the arm64 nexus devices to be attached early. This allows multipass
authorandrew <andrew@FreeBSD.org>
Fri, 6 Nov 2015 14:36:21 +0000 (14:36 +0000)
committerandrew <andrew@FreeBSD.org>
Fri, 6 Nov 2015 14:36:21 +0000 (14:36 +0000)
to work correctly. Without it the pass quickly moves to the final pass
before the nexus device attaches.

Sponsored by: ABT Systems Ltd

sys/arm64/arm64/nexus.c

index 764012e94154e4512d12e973f687a1c3889aa81e..807993bedf752d5f430d2a52d3e7c59542be9e67 100644 (file)
@@ -134,13 +134,11 @@ static device_method_t nexus_methods[] = {
        { 0, 0 }
 };
 
-static devclass_t nexus_devclass;
 static driver_t nexus_driver = {
        "nexus",
        nexus_methods,
        1                       /* no softc */
 };
-DRIVER_MODULE(nexus, root, nexus_driver, nexus_devclass, 0, 0);
 
 static int
 nexus_attach(device_t dev)
@@ -380,7 +378,8 @@ DEFINE_CLASS_1(nexus, nexus_fdt_driver, nexus_fdt_methods, 1, nexus_driver);
 #undef nexus_baseclasses
 static devclass_t nexus_fdt_devclass;
 
-DRIVER_MODULE(nexus_fdt, root, nexus_fdt_driver, nexus_fdt_devclass, 0, 0);
+EARLY_DRIVER_MODULE(nexus_fdt, root, nexus_fdt_driver, nexus_fdt_devclass,
+    0, 0, BUS_PASS_BUS + BUS_PASS_ORDER_FIRST);
 
 static int
 nexus_fdt_probe(device_t dev)
@@ -433,7 +432,8 @@ DEFINE_CLASS_1(nexus, nexus_acpi_driver, nexus_acpi_methods, 1,
 #undef nexus_baseclasses
 static devclass_t nexus_acpi_devclass;
 
-DRIVER_MODULE(nexus_acpi, root, nexus_acpi_driver, nexus_acpi_devclass, 0, 0);
+EARLY_DRIVER_MODULE(nexus_acpi, root, nexus_acpi_driver, nexus_acpi_devclass,
+    0, 0, BUS_PASS_BUS + BUS_PASS_ORDER_FIRST);
 
 static int
 nexus_acpi_probe(device_t dev)