[POWERPC] cell: Use machine_*_initcall() hooks in platform code
authorGrant Likely <grant.likely@secretlab.ca>
Wed, 2 Jan 2008 19:14:36 +0000 (06:14 +1100)
committerPaul Mackerras <paulus@samba.org>
Thu, 17 Jan 2008 03:57:15 +0000 (14:57 +1100)
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/platforms/cell/io-workarounds.c
arch/powerpc/platforms/cell/iommu.c
arch/powerpc/platforms/cell/pmu.c
arch/powerpc/platforms/cell/setup.c
arch/powerpc/platforms/celleb/iommu.c
arch/powerpc/platforms/celleb/setup.c

index b86076e..979d4b6 100644 (file)
@@ -309,9 +309,6 @@ static int __init spider_pci_workaround_init(void)
 {
        struct pci_controller *phb;
 
-       if (!machine_is(cell))
-               return 0;
-
        /* Find spider bridges. We assume they have been all probed
         * in setup_arch(). If that was to change, we would need to
         * update this code to cope with dynamically added busses
@@ -343,4 +340,4 @@ static int __init spider_pci_workaround_init(void)
 
        return 0;
 }
-arch_initcall(spider_pci_workaround_init);
+machine_arch_initcall(cell, spider_pci_workaround_init);
index 1221c6d..bceb5e1 100644 (file)
@@ -700,10 +700,6 @@ static int __init cell_iommu_init(void)
 {
        struct device_node *np;
 
-       if (!machine_is(cell) &&
-           !machine_is(celleb_native))
-               return -ENODEV;
-
        /* If IOMMU is disabled or we have little enough RAM to not need
         * to enable it, we setup a direct mapping.
         *
@@ -746,5 +742,6 @@ static int __init cell_iommu_init(void)
 
        return 0;
 }
-arch_initcall(cell_iommu_init);
+machine_arch_initcall(cell, cell_iommu_init);
+machine_arch_initcall(celleb_native, cell_iommu_init);
 
index 99d688e..69ed0d7 100644 (file)
@@ -381,9 +381,6 @@ static int __init cbe_init_pm_irq(void)
        unsigned int irq;
        int rc, node;
 
-       if (!machine_is(cell))
-               return 0;
-
        for_each_node(node) {
                irq = irq_create_mapping(NULL, IIC_IRQ_IOEX_PMI |
                                               (node << IIC_IRQ_NODE_SHIFT));
@@ -404,7 +401,7 @@ static int __init cbe_init_pm_irq(void)
 
        return 0;
 }
-arch_initcall(cbe_init_pm_irq);
+machine_arch_initcall(cell, cbe_init_pm_irq);
 
 void cbe_sync_irq(int node)
 {
index 4f6347c..e6534b5 100644 (file)
@@ -85,9 +85,6 @@ static int __init cell_publish_devices(void)
 {
        int node;
 
-       if (!machine_is(cell))
-               return 0;
-
        /* Publish OF platform devices for southbridge IOs */
        of_platform_bus_probe(NULL, NULL, NULL);
 
@@ -101,7 +98,7 @@ static int __init cell_publish_devices(void)
        }
        return 0;
 }
-device_initcall(cell_publish_devices);
+machine_device_initcall(cell, cell_publish_devices);
 
 static void cell_mpic_cascade(unsigned int irq, struct irq_desc *desc)
 {
index fbe718d..41e1e6f 100644 (file)
@@ -92,9 +92,6 @@ static struct notifier_block celleb_of_bus_notifier = {
 
 static int __init celleb_init_iommu(void)
 {
-       if (!machine_is(celleb_beat))
-               return -ENODEV;
-
        celleb_init_direct_mapping();
        set_pci_dma_ops(&dma_direct_ops);
        bus_register_notifier(&of_platform_bus_type, &celleb_of_bus_notifier);
@@ -102,4 +99,4 @@ static int __init celleb_init_iommu(void)
        return 0;
 }
 
-arch_initcall(celleb_init_iommu);
+machine_arch_initcall(celleb_beat, celleb_init_iommu);
index 0f0c468..f27ae1e 100644 (file)
@@ -111,10 +111,6 @@ static struct of_device_id celleb_bus_ids[] __initdata = {
 
 static int __init celleb_publish_devices(void)
 {
-       if (!machine_is(celleb_beat) &&
-           !machine_is(celleb_native))
-               return -ENODEV;
-
        /* Publish OF platform devices for southbridge IOs */
        of_platform_bus_probe(NULL, celleb_bus_ids, NULL);
 
@@ -122,7 +118,8 @@ static int __init celleb_publish_devices(void)
 
        return 0;
 }
-device_initcall(celleb_publish_devices);
+machine_device_initcall(celleb_beat, celleb_publish_devices);
+machine_device_initcall(celleb_native, celleb_publish_devices);
 
 
 /*