Re: [GIT PULL] s390 patches for the 3.15 merge window

From: Martin Schwidefsky
Date: Wed Apr 02 2014 - 03:15:39 EST


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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/