[PATCH 06/13] powerpc/4xx: Simple platform for the ISS 4xx simulator
Josh Boyer
jwboyer at linux.vnet.ibm.com
Thu May 6 01:11:20 EST 2010
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?
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
More information about the Linuxppc-dev
mailing list