summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms/85xx/ksi8560.c
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt2011-11-25 05:25:39 +0100
committerBenjamin Herrenschmidt2011-11-25 05:25:39 +0100
commit56368797d6c2d093bb0e7a7e5fe7b267274b6c58 (patch)
treefc74d34be3628d31e50d3987dd372b73dd50c352 /arch/powerpc/platforms/85xx/ksi8560.c
parentpowerpc/mpic: Remove extra semicolon. (diff)
parentdrivers/serial/ucc_uart.c: Add missing call to init UCC UART port timeout (diff)
downloadkernel-qcow2-linux-56368797d6c2d093bb0e7a7e5fe7b267274b6c58.tar.gz
kernel-qcow2-linux-56368797d6c2d093bb0e7a7e5fe7b267274b6c58.tar.xz
kernel-qcow2-linux-56368797d6c2d093bb0e7a7e5fe7b267274b6c58.zip
Merge remote-tracking branch 'kumar/next' into next
Diffstat (limited to 'arch/powerpc/platforms/85xx/ksi8560.c')
-rw-r--r--arch/powerpc/platforms/85xx/ksi8560.c46
1 files changed, 3 insertions, 43 deletions
diff --git a/arch/powerpc/platforms/85xx/ksi8560.c b/arch/powerpc/platforms/85xx/ksi8560.c
index c46f9359be15..0f3e68832657 100644
--- a/arch/powerpc/platforms/85xx/ksi8560.c
+++ b/arch/powerpc/platforms/85xx/ksi8560.c
@@ -35,6 +35,7 @@
#include <asm/cpm2.h>
#include <sysdev/cpm2_pic.h>
+#include "mpc85xx.h"
#define KSI8560_CPLD_HVR 0x04 /* Hardware Version Register */
#define KSI8560_CPLD_PVR 0x08 /* PLD Version Register */
@@ -54,25 +55,11 @@ static void machine_restart(char *cmd)
for (;;);
}
-static void cpm2_cascade(unsigned int irq, struct irq_desc *desc)
-{
- struct irq_chip *chip = irq_desc_get_chip(desc);
- int cascade_irq;
-
- while ((cascade_irq = cpm2_get_irq()) >= 0)
- generic_handle_irq(cascade_irq);
-
- chip->irq_eoi(&desc->irq_data);
-}
-
static void __init ksi8560_pic_init(void)
{
struct mpic *mpic;
struct resource r;
struct device_node *np;
-#ifdef CONFIG_CPM2
- int irq;
-#endif
np = of_find_node_by_type(NULL, "open-pic");
@@ -95,19 +82,7 @@ static void __init ksi8560_pic_init(void)
mpic_init(mpic);
-#ifdef CONFIG_CPM2
- /* Setup CPM2 PIC */
- np = of_find_compatible_node(NULL, NULL, "fsl,cpm2-pic");
- if (np == NULL) {
- printk(KERN_ERR "PIC init: can not find fsl,cpm2-pic node\n");
- return;
- }
- irq = irq_of_parse_and_map(np, 0);
-
- cpm2_pic_init(np);
- of_node_put(np);
- irq_set_chained_handler(irq, cpm2_cascade);
-#endif
+ mpc85xx_cpm2_pic_init();
}
#ifdef CONFIG_CPM2
@@ -215,22 +190,7 @@ static void ksi8560_show_cpuinfo(struct seq_file *m)
seq_printf(m, "PLL setting\t: 0x%x\n", ((phid1 >> 24) & 0x3f));
}
-static struct of_device_id __initdata of_bus_ids[] = {
- { .type = "soc", },
- { .type = "simple-bus", },
- { .name = "cpm", },
- { .name = "localbus", },
- { .compatible = "gianfar", },
- {},
-};
-
-static int __init declare_of_platform_devices(void)
-{
- of_platform_bus_probe(NULL, of_bus_ids, NULL);
-
- return 0;
-}
-machine_device_initcall(ksi8560, declare_of_platform_devices);
+machine_device_initcall(ksi8560, mpc85xx_common_publish_devices);
/*
* Called very early, device-tree isn't unflattened