From d5ca9a3175bf085f014337244f10955480810ad7 Mon Sep 17 00:00:00 2001 From: Michael Ellerman Date: Tue, 1 Apr 2008 17:42:26 +1100 Subject: [PATCH] --- yaml --- r: 91613 b: refs/heads/master c: f01567d6d5688f8f613cd23da31aaf02d9538525 h: refs/heads/master i: 91611: dfeeb2c6a71eaf58dbbbfae395f2ea05b332598c v: v3 --- [refs] | 2 +- trunk/arch/powerpc/platforms/pseries/setup.c | 43 +------------------- 2 files changed, 3 insertions(+), 42 deletions(-) diff --git a/[refs] b/[refs] index 740266945f55..785fc11fb6e0 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 30d6ad251b5dcf497a266c4dc7d38fcde7185422 +refs/heads/master: f01567d6d5688f8f613cd23da31aaf02d9538525 diff --git a/trunk/arch/powerpc/platforms/pseries/setup.c b/trunk/arch/powerpc/platforms/pseries/setup.c index eb079521fbf1..f66aa9c3b135 100644 --- a/trunk/arch/powerpc/platforms/pseries/setup.c +++ b/trunk/arch/powerpc/platforms/pseries/setup.c @@ -175,12 +175,9 @@ static void __init pseries_setup_i8259_cascade(void) static void __init pseries_mpic_init_IRQ(void) { - struct device_node *np, *old, *cascade = NULL; - const unsigned int *addrp; - unsigned long intack = 0; + struct device_node *np; const unsigned int *opprop; unsigned long openpic_addr = 0; - unsigned int cascade_irq; int naddr, n, i, opplen; struct mpic *mpic; @@ -213,43 +210,7 @@ static void __init pseries_mpic_init_IRQ(void) mpic_init(mpic); /* Look for cascade */ - for_each_node_by_type(np, "interrupt-controller") - if (of_device_is_compatible(np, "chrp,iic")) { - cascade = np; - break; - } - if (cascade == NULL) - return; - - cascade_irq = irq_of_parse_and_map(cascade, 0); - if (cascade_irq == NO_IRQ) { - printk(KERN_ERR "mpic: failed to map cascade interrupt"); - return; - } - - /* Check ACK type */ - for (old = of_node_get(cascade); old != NULL ; old = np) { - np = of_get_parent(old); - of_node_put(old); - if (np == NULL) - break; - if (strcmp(np->name, "pci") != 0) - continue; - addrp = of_get_property(np, "8259-interrupt-acknowledge", - NULL); - if (addrp == NULL) - continue; - naddr = of_n_addr_cells(np); - intack = addrp[naddr-1]; - if (naddr > 1) - intack |= ((unsigned long)addrp[naddr-2]) << 32; - } - if (intack) - printk(KERN_DEBUG "mpic: PCI 8259 intack at 0x%016lx\n", - intack); - i8259_init(cascade, intack); - of_node_put(cascade); - set_irq_chained_handler(cascade_irq, pseries_8259_cascade); + pseries_setup_i8259_cascade(); } static void __init pseries_xics_init_IRQ(void)