svn commit: r290447 - head/sys/arm64/arm64

Andrew Turner andrew at FreeBSD.org
Fri Nov 6 14:36:23 UTC 2015


Author: andrew
Date: Fri Nov  6 14:36:21 2015
New Revision: 290447
URL: https://svnweb.freebsd.org/changeset/base/290447

Log:
  Mark the arm64 nexus devices to be attached early. This allows multipass
  to work correctly. Without it the pass quickly moves to the final pass
  before the nexus device attaches.
  
  Sponsored by:	ABT Systems Ltd

Modified:
  head/sys/arm64/arm64/nexus.c

Modified: head/sys/arm64/arm64/nexus.c
==============================================================================
--- head/sys/arm64/arm64/nexus.c	Fri Nov  6 14:35:22 2015	(r290446)
+++ head/sys/arm64/arm64/nexus.c	Fri Nov  6 14:36:21 2015	(r290447)
@@ -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, 
 #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,
 #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)


More information about the svn-src-all mailing list