Horus systems don't have anything on bus 0 which makes
the Type 1 sanity checks fail.  Use the DMI BIOS year to
check for newer systems and always assume Type 1 works on them.
I used 2001 as an pretty arbitary cutoff year.
Cc: gregkh@suse.de
Cc: Navin Boppuri <navin.boppuri@newisys.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
 
 #include <linux/pci.h>
 #include <linux/init.h>
+#include <linux/dmi.h>
 #include "pci.h"
 
 /*
 
        if (pci_probe & PCI_NO_CHECKS)
                return 1;
+       /* Assume Type 1 works for newer systems.
+          This handles machines that don't have anything on PCI Bus 0. */
+       if (dmi_get_year(DMI_BIOS_DATE) >= 2001)
+               return 1;
 
        for (devfn = 0; devfn < 0x100; devfn++) {
                if (o->read(0, 0, devfn, PCI_CLASS_DEVICE, 2, &x))