Hi,

with the feedback received on the fdt bus, the fdt stuff will now be
replacing the mainbus.  While doing that I noticed that the cortex
bus matches every time on config_found, which is because it doesn't
check the attach args.

ok?

Patrick

diff --git sys/arch/arm/cortex/cortex.c sys/arch/arm/cortex/cortex.c
index 73aa315..db878b7 100644
--- sys/arch/arm/cortex/cortex.c
+++ sys/arch/arm/cortex/cortex.c
@@ -51,6 +51,7 @@
 #include <arm/cpufunc.h>
 #include <arm/armv7/armv7var.h>
 #include <arm/cortex/cortex.h>
+#include <arm/mainbus/mainbus.h>
 
 struct arm32_bus_dma_tag cortex_bus_dma_tag = {
        0,
@@ -94,10 +95,15 @@ struct cfdriver cortex_cd = {
  */
 
 int
-cortexmatch(struct device *parent, void *cf, void *aux)
+cortexmatch(struct device *parent, void *cfdata, void *aux)
 {
+       struct mainbus_attach_args *ma = aux;
+       struct cfdata *cf = (struct cfdata *)cfdata;
        int cputype = cpufunc_id();
 
+       if (strcmp(cf->cf_driver->cd_name, ma->ma_name) != 0)
+               return (0);
+
        if ((cputype & CPU_ID_CORTEX_A7_MASK) == CPU_ID_CORTEX_A7 ||
            (cputype & CPU_ID_CORTEX_A9_MASK) == CPU_ID_CORTEX_A9 ||
            (cputype & CPU_ID_CORTEX_A15_MASK) == CPU_ID_CORTEX_A15 ||

Reply via email to