/* there's more, can't be bothered typing them tho */
 
 
-static struct of_device_id ep405_of_bus[] = {
+static __initdata struct of_device_id ep405_of_bus[] = {
        { .compatible = "ibm,plb3", },
        { .compatible = "ibm,opb", },
        { .compatible = "ibm,ebc", },
 
 #include <asm/uic.h>
 #include <asm/pci-bridge.h>
 
-static struct of_device_id kilauea_of_bus[] = {
+static __initdata struct of_device_id kilauea_of_bus[] = {
        { .compatible = "ibm,plb4", },
        { .compatible = "ibm,opb", },
        { .compatible = "ibm,ebc", },
 
 #include <asm/uic.h>
 #include <asm/pci-bridge.h>
 
-static struct of_device_id makalu_of_bus[] = {
+static __initdata struct of_device_id makalu_of_bus[] = {
        { .compatible = "ibm,plb4", },
        { .compatible = "ibm,opb", },
        { .compatible = "ibm,ebc", },
 
 #include <asm/uic.h>
 #include <asm/pci-bridge.h>
 
-static struct of_device_id walnut_of_bus[] = {
+static __initdata struct of_device_id walnut_of_bus[] = {
        { .compatible = "ibm,plb3", },
        { .compatible = "ibm,opb", },
        { .compatible = "ibm,ebc", },
        if (!machine_is(walnut))
                return 0;
 
-       /* FIXME: do bus probe here */
        of_platform_bus_probe(NULL, walnut_of_bus, NULL);
 
        return 0;
 
 
 #include "44x.h"
 
-static struct of_device_id bamboo_of_bus[] = {
+static __initdata struct of_device_id bamboo_of_bus[] = {
        { .compatible = "ibm,plb4", },
        { .compatible = "ibm,opb", },
        { .compatible = "ibm,ebc", },
 
 
 #include "44x.h"
 
-static struct of_device_id ebony_of_bus[] = {
+static __initdata struct of_device_id ebony_of_bus[] = {
        { .compatible = "ibm,plb4", },
        { .compatible = "ibm,opb", },
        { .compatible = "ibm,ebc", },
 
 
 #include "44x.h"
 
-static struct of_device_id katmai_of_bus[] = {
+static __initdata struct of_device_id katmai_of_bus[] = {
        { .compatible = "ibm,plb4", },
        { .compatible = "ibm,opb", },
        { .compatible = "ibm,ebc", },
 
 #include <asm/pci-bridge.h>
 #include "44x.h"
 
-static struct of_device_id rainier_of_bus[] = {
+static __initdata struct of_device_id rainier_of_bus[] = {
        { .compatible = "ibm,plb4", },
        { .compatible = "ibm,opb", },
        { .compatible = "ibm,ebc", },
 
 
 #include "44x.h"
 
-static struct of_device_id sequoia_of_bus[] = {
+static __initdata struct of_device_id sequoia_of_bus[] = {
        { .compatible = "ibm,plb4", },
        { .compatible = "ibm,opb", },
        { .compatible = "ibm,ebc", },
 
 
 #include "44x.h"
 
-static struct of_device_id taishan_of_bus[] = {
+static __initdata struct of_device_id taishan_of_bus[] = {
        { .compatible = "ibm,plb4", },
        { .compatible = "ibm,opb", },
        { .compatible = "ibm,ebc", },