Index: sys/dev/pci/pci.c =================================================================== --- sys/dev/pci/pci.c +++ sys/dev/pci/pci.c @@ -30,6 +30,7 @@ __FBSDID("$FreeBSD$"); #include "opt_bus.h" +#include "opt_platform.h" #include #include @@ -48,6 +49,12 @@ #include #include +#ifdef FDT +#include +#include +#include +#endif + #include #include #include @@ -4065,6 +4072,12 @@ pci_probe(device_t dev) { +#ifdef FDT + /* Do not attach generic PCI driver if the device has OFW node */ + if ((int)ofw_bus_get_node(dev) > 0) + return (ENXIO); +#endif + device_set_desc(dev, "PCI bus"); /* Allow other subclasses to override this driver. */