On Thu, Dec 18, 2014 at 03:44:24PM +0100, Ralf Baechle wrote: > On Thu, Dec 18, 2014 at 02:02:03PM +0100, Ralf Baechle wrote: > > > > > > > arch/mips/jz4740/irq.c:63:6: warning: symbol 'jz4740_irq_suspend' was not declared. Should it be static? > > > arch/mips/jz4740/irq.c:69:6: warning: symbol 'jz4740_irq_resume' was not declared. Should it be static? > > > > > > Also, I've seen some elusive build errors on my automated build test > > > where JZ4740_IRQ_BASE and NR_IRQS are missing, but I can't reproduce > > > them manually for some reason. Anyway, mach-jz4740/irq.h should help us > > > avoid relying on some implicit include. > > > > Patch is looking good. > > > > There is a known issue building jz in a separate build directory; building > > in the source directory itself will succeed. Could that be why you can't > > seem to reproduce the build issue? > > With your patch applied I still can reproduce that build issue issue: Right, I never did straighten this out entirely for myself. And no, I don't claim to have fixed all build issues here. I think the same issue shows up in several other files which reference irq.h too. > [...] > CC arch/mips/jz4740/irq.o > In file included from /home/ralf/src/linux/linux-mips/include/linux/irq.h:392:0, > from /home/ralf/src/linux/linux-mips/include/asm-generic/hardirq.h:12, > from /home/ralf/src/linux/linux-mips/arch/mips/include/asm/hardirq.h:16, > from /home/ralf/src/linux/linux-mips/include/linux/hardirq.h:8, > from /home/ralf/src/linux/linux-mips/include/linux/interrupt.h:12, > from /home/ralf/src/linux/linux-mips/arch/mips/jz4740/irq.c:19: > /home/ralf/src/linux/linux-mips/include/linux/irqdesc.h:92:33: error: ‘NR_IRQS’ undeclared here (not in a function) > extern struct irq_desc irq_desc[NR_IRQS]; > ^ > make[4]: *** [arch/mips/jz4740/irq.o] Error 1 > make[3]: *** [arch/mips/jz4740] Error 2 > make[2]: *** [arch/mips] Error 2 > make[1]: *** [sub-make] Error 2 > make: *** [__sub-make] Error 2 > make: Leaving directory `/home/ralf/src/linux/obj/qi_lb60-build' > > I haven't looked into depth at this but the issue appears to be that the > search order for include files is different between building in the source > directory and the object directory and that there are multiple include > files with the same name, that is irq.h. are involved. > > So changing the name of the header file should fix this issue but really > this also is a kbuild bug. The directory ordering differences do sound familiar. Yeah, I would expect that in-tree and out-of-tree builds should keep as many things as possible the same, to avoid problems like this. Anyway, address this how you'd like (or not at all). I'm only compile-testing; I don't actually use this build. So I'm not very likely to spend the time to fix this one. Thanks, Brian