Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[sfrench/cifs-2.6.git] / arch / x86 / kernel / olpc.c
index 9d1d263f786fdd694513ba8383b635bcdcea319e..8297160c41b3949058e1a6a55bcb9979d0cfa88a 100644 (file)
@@ -17,7 +17,9 @@
 #include <linux/spinlock.h>
 #include <linux/io.h>
 #include <linux/string.h>
+
 #include <asm/geode.h>
+#include <asm/setup.h>
 #include <asm/olpc.h>
 
 #ifdef CONFIG_OPEN_FIRMWARE
@@ -243,9 +245,11 @@ static int __init olpc_init(void)
        olpc_ec_cmd(EC_FIRMWARE_REV, NULL, 0,
                        (unsigned char *) &olpc_platform_info.ecver, 1);
 
-       /* check to see if the VSA exists */
-       if (cs5535_has_vsa2())
-               olpc_platform_info.flags |= OLPC_F_VSA;
+#ifdef CONFIG_PCI_OLPC
+       /* If the VSA exists let it emulate PCI, if not emulate in kernel */
+       if (!cs5535_has_vsa2())
+               x86_init.pci.arch_init = pci_olpc_init;
+#endif
 
        printk(KERN_INFO "OLPC board revision %s%X (EC=%x)\n",
                        ((olpc_platform_info.boardrev & 0xf) < 8) ? "pre" : "",