On Wed, 2010-05-05 at 11:11 -0400, Josh Boyer wrote: > On Fri, Mar 05, 2010 at 01:45:54PM -0700, Dave Kleikamp wrote: > >+config ISS4xx > >+ bool "ISS 4xx Simulator" > >+ depends on (44x || 40x) > >+ default n > >+ select 405GP if 40x > >+ select 440GP if 44x && !PPC_47x > >+ select PPC_FPU > >+ select OF_RTC > >+ help > >+ This option enables support for the IBM ISS simulation environment > > This looks like how we want to do this, however... > > >+/* We can have either UICs or MPICs */ > >+static void __init iss4xx_init_irq(void) > >+{ > >+ struct device_node *np; > >+ > >+ /* Find top level interrupt controller */ > >+ for_each_node_with_property(np, "interrupt-controller") { > >+ if (of_get_property(np, "interrupts", NULL) == NULL) > >+ break; > >+ } > >+ if (np == NULL) > >+ panic("Can't find top level interrupt controller"); > >+ > >+ /* Check type and do appropriate initialization */ > >+ if (of_device_is_compatible(np, "ibm,uic")) { > >+ uic_init_tree(); > >+ ppc_md.get_irq = uic_get_irq; > >+ } else if (of_device_is_compatible(np, "chrp,open-pic")) { > >+ /* The MPIC driver will get everything it needs from the > >+ * device-tree, just pass 0 to all arguments > >+ */ > >+ struct mpic *mpic = mpic_alloc(np, 0, MPIC_PRIMARY, 0, 0, > >+ " MPIC "); > >+ BUG_ON(mpic == NULL); > >+ mpic_init(mpic); > >+ ppc_md.get_irq = mpic_get_irq; > >+ } else > >+ panic("Unrecognized top level interrupt controller"); > >+} > > .. on non-476 builds we get link errors: > > arch/powerpc/platforms/built-in.o: In function `as1_writeb': > (.init.text+0x5d4): undefined reference to `mpic_alloc' > arch/powerpc/platforms/built-in.o: In function `as1_writeb': > (.init.text+0x5e4): undefined reference to `mpic_init' > arch/powerpc/platforms/built-in.o: In function `as1_writeb': > (.init.text+0x5ea): undefined reference to `mpic_get_irq' > arch/powerpc/platforms/built-in.o: In function `as1_writeb': > (.init.text+0x5ee): undefined reference to `mpic_get_irq' > make: *** [.tmp_vmlinux1] Error 1 > > because we don't have CONFIG_MPIC turned on for these. I'd suggest we guard > the mpic else chunk in this file behind CONFIG_MPIC. Agreed?
Yeah. That's reasonable. > I'm less worried about the mpic references that are already guarded behind the > CONFIG_SMP sections. Nobody has been crazy enough to make an SMP 440 or 460 > SoC > yet, so CONFIG_SMP should only get selected for 476, and that already selects > MPIC in the Kconfig. > > josh -- Dave Kleikamp IBM Linux Technology Center _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev