static int __init mpc832x_declare_of_platform_devices(void)
 {
-       if (!machine_is(mpc832x_mds))
-               return 0;
-
        /* Publish the QE devices */
        of_platform_bus_probe(NULL, mpc832x_ids, NULL);
 
        return 0;
 }
-device_initcall(mpc832x_declare_of_platform_devices);
+machine_device_initcall(mpc832x_mds, mpc832x_declare_of_platform_devices);
 
 static void __init mpc832x_sys_init_IRQ(void)
 {
 
 
 static int __init mpc832x_spi_init(void)
 {
-       if (!machine_is(mpc832x_rdb))
-               return 0;
-
        par_io_config_pin(3,  0, 3, 0, 1, 0); /* SPI1 MOSI, I/O */
        par_io_config_pin(3,  1, 3, 0, 1, 0); /* SPI1 MISO, I/O */
        par_io_config_pin(3,  2, 3, 0, 1, 0); /* SPI1 CLK,  I/O */
                            mpc83xx_spi_deactivate_cs);
 }
 
-device_initcall(mpc832x_spi_init);
+machine_device_initcall(mpc832x_rdb, mpc832x_spi_init);
 
 /* ************************************************************************
  *
 
 static int __init mpc832x_declare_of_platform_devices(void)
 {
-       if (!machine_is(mpc832x_rdb))
-               return 0;
-
        /* Publish the QE devices */
        of_platform_bus_probe(NULL, mpc832x_ids, NULL);
 
        return 0;
 }
-device_initcall(mpc832x_declare_of_platform_devices);
+machine_device_initcall(mpc832x_rdb, mpc832x_declare_of_platform_devices);
 
 void __init mpc832x_rdb_init_IRQ(void)
 {
 
 
 static int __init mpc834x_declare_of_platform_devices(void)
 {
-       if (!machine_is(mpc834x_mds))
-               return 0;
-
        of_platform_bus_probe(NULL, mpc834x_ids, NULL);
        return 0;
 }
-device_initcall(mpc834x_declare_of_platform_devices);
+machine_device_initcall(mpc834x_mds, mpc834x_declare_of_platform_devices);
 
 /*
  * Called very early, MMU is off, device-tree isn't unflattened
 
 
 static int __init mpc836x_declare_of_platform_devices(void)
 {
-       if (!machine_is(mpc836x_mds))
-               return 0;
-
        /* Publish the QE devices */
        of_platform_bus_probe(NULL, mpc836x_ids, NULL);
 
        return 0;
 }
-device_initcall(mpc836x_declare_of_platform_devices);
+machine_device_initcall(mpc836x_mds, mpc836x_declare_of_platform_devices);
 
 static void __init mpc836x_mds_init_IRQ(void)
 {
 
 
 static int __init mpc837x_declare_of_platform_devices(void)
 {
-       if (!machine_is(mpc837x_mds))
-               return 0;
-
        /* Publish of_device */
        of_platform_bus_probe(NULL, mpc837x_ids, NULL);
 
        return 0;
 }
-device_initcall(mpc837x_declare_of_platform_devices);
+machine_device_initcall(mpc837x_mds, mpc837x_declare_of_platform_devices);
 
 static void __init mpc837x_mds_init_IRQ(void)
 {