diff options
author | Benjamin Herrenschmidt | 2011-11-25 05:25:39 +0100 |
---|---|---|
committer | Benjamin Herrenschmidt | 2011-11-25 05:25:39 +0100 |
commit | 56368797d6c2d093bb0e7a7e5fe7b267274b6c58 (patch) | |
tree | fc74d34be3628d31e50d3987dd372b73dd50c352 /arch/powerpc/platforms/85xx/sbc8560.c | |
parent | powerpc/mpic: Remove extra semicolon. (diff) | |
parent | drivers/serial/ucc_uart.c: Add missing call to init UCC UART port timeout (diff) | |
download | kernel-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/sbc8560.c')
-rw-r--r-- | arch/powerpc/platforms/85xx/sbc8560.c | 52 |
1 files changed, 4 insertions, 48 deletions
diff --git a/arch/powerpc/platforms/85xx/sbc8560.c b/arch/powerpc/platforms/85xx/sbc8560.c index cebd786dc334..e9a7ed228d73 100644 --- a/arch/powerpc/platforms/85xx/sbc8560.c +++ b/arch/powerpc/platforms/85xx/sbc8560.c @@ -32,34 +32,18 @@ #include <sysdev/fsl_soc.h> #include <sysdev/fsl_pci.h> +#include "mpc85xx.h" + #ifdef CONFIG_CPM2 #include <asm/cpm2.h> #include <sysdev/cpm2_pic.h> #endif -#ifdef CONFIG_CPM2 - -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); -} - -#endif /* CONFIG_CPM2 */ - static void __init sbc8560_pic_init(void) { struct mpic *mpic; struct resource r; struct device_node *np = NULL; -#ifdef CONFIG_CPM2 - int irq; -#endif np = of_find_node_by_type(np, "open-pic"); if (!np) { @@ -81,19 +65,7 @@ static void __init sbc8560_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(); } /* @@ -208,23 +180,7 @@ static void sbc8560_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[] = { - { .name = "soc", }, - { .type = "soc", }, - { .name = "cpm", }, - { .name = "localbus", }, - { .compatible = "simple-bus", }, - { .compatible = "gianfar", }, - {}, -}; - -static int __init declare_of_platform_devices(void) -{ - of_platform_bus_probe(NULL, of_bus_ids, NULL); - - return 0; -} -machine_device_initcall(sbc8560, declare_of_platform_devices); +machine_device_initcall(sbc8560, mpc85xx_common_publish_devices); /* * Called very early, device-tree isn't unflattened |