Re: [PATCH] MIPS: JZ4740: fixup #include's (sparse)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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





[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux