From e25c47ffa97ca5e4602593b03ce6d21cff652864 Mon Sep 17 00:00:00 2001 From: Grant Likely Date: Thu, 3 Jan 2008 06:14:36 +1100 Subject: [PATCH] [POWERPC] cell: Use machine_*_initcall() hooks in platform code Signed-off-by: Grant Likely Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras --- arch/powerpc/platforms/cell/io-workarounds.c | 5 +---- arch/powerpc/platforms/cell/iommu.c | 7 ++----- arch/powerpc/platforms/cell/pmu.c | 5 +---- arch/powerpc/platforms/cell/setup.c | 5 +---- arch/powerpc/platforms/celleb/iommu.c | 5 +---- arch/powerpc/platforms/celleb/setup.c | 7 ++----- 6 files changed, 8 insertions(+), 26 deletions(-) diff --git a/arch/powerpc/platforms/cell/io-workarounds.c b/arch/powerpc/platforms/cell/io-workarounds.c index b86076e3c09e..979d4b67efb4 100644 --- a/arch/powerpc/platforms/cell/io-workarounds.c +++ b/arch/powerpc/platforms/cell/io-workarounds.c @@ -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); diff --git a/arch/powerpc/platforms/cell/iommu.c b/arch/powerpc/platforms/cell/iommu.c index 1221c6d8650f..bceb5e13da5c 100644 --- a/arch/powerpc/platforms/cell/iommu.c +++ b/arch/powerpc/platforms/cell/iommu.c @@ -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); diff --git a/arch/powerpc/platforms/cell/pmu.c b/arch/powerpc/platforms/cell/pmu.c index 99d688e88cbe..69ed0d7f1646 100644 --- a/arch/powerpc/platforms/cell/pmu.c +++ b/arch/powerpc/platforms/cell/pmu.c @@ -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) { diff --git a/arch/powerpc/platforms/cell/setup.c b/arch/powerpc/platforms/cell/setup.c index 4f6347c9fe68..e6534b519c9a 100644 --- a/arch/powerpc/platforms/cell/setup.c +++ b/arch/powerpc/platforms/cell/setup.c @@ -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) { diff --git a/arch/powerpc/platforms/celleb/iommu.c b/arch/powerpc/platforms/celleb/iommu.c index fbe718d517a6..41e1e6f8e059 100644 --- a/arch/powerpc/platforms/celleb/iommu.c +++ b/arch/powerpc/platforms/celleb/iommu.c @@ -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); diff --git a/arch/powerpc/platforms/celleb/setup.c b/arch/powerpc/platforms/celleb/setup.c index 0f0c4680bf01..f27ae1e3fb58 100644 --- a/arch/powerpc/platforms/celleb/setup.c +++ b/arch/powerpc/platforms/celleb/setup.c @@ -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); /* -- 2.34.1