On Tue, 1 Apr 2014 08:40:41 -0700 (PDT) Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote: > > > On Tue, 1 Apr 2014, Martin Schwidefsky wrote: > > > > I gave up after a few hours trying to solve the header dependencies, the two > > trouble makes are alpha with the task_thread_info call in mmu_context.h and > > arm with the preempt_enable_no_resched call. Welcome to include file hell. > > I don't understand. The only file <asm/mmu_context.h> should need is > <linux/mm.h>. Maybe <kernel/sched.h>. > > Look at mm/mmu_context.c, for example. It includes <asm/mmu_context.h> > without having included very many header files at all. So we *know* that > that small set is sufficient. > > And there aren't very many users of <linux/mmu_context.h> and none of them > are other header files, so there's no point in trying to religiously avoid > including one or two header files from it. > > So I'm thinking something like this should work. It's untested, and maybe > some architecture really needs some other header file, but it looks quite > likely to work. No? I had a patch quite similar to yours and I ended up with the error report from the kbuild robot. Just tried yours with the corgi_defconfig and got this: In file included from include/linux/mmu_context.h:6, from drivers/usb/gadget/inode.c:27: /home4/mschwide/linux/arch/arm/include/asm/mmu_context.h: In function 'finish_arch_post_lock_switch': /home4/mschwide/linux/arch/arm/include/asm/mmu_context.h:82: error: implicit declaration of function 'preempt_enable_no_resched' Part of the problem is this lovely piece from include/linux/preempt.h: #ifdef MODULE /* * Modules have no business playing preemption tricks. */ #undef sched_preempt_enable_no_resched #undef preempt_enable_no_resched #undef preempt_enable_no_resched_notrace #undef preempt_check_resched #endif -- blue skies, Martin. "Reality continues to ruin my life." - Calvin. -- To unsubscribe from this list: send the line "unsubscribe linux-s390" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html