Re: PAGE_ALIGN() compile breakage

Andrea Righi
2008-07-25T18:34:42Z

Andrew Morton wrote:
> On Fri, 25 Jul 2008 12:14:55 +0300 Adrian Bunk <bunk@kernel.org> wrote:
>
>> Ideally, all headers should be self-contained. IOW, they should #include
>> everything they use.
>
> Yup. And the core reason for our headers mess is that the headers do
> too much stuff, and cnosequently demand a large dependency trail.
>
>> But TASK_UNMAPPED_BASE in asm/processor.h on some architectures uses
>> PAGE_ALIGN() that got moved from asm/page.h to linux/mm.h .
>
> Probably mm.h should be split up - put the simple things (usually
> declarations) into one "early" header file and leave the more
> heavyweight things (usually implementations) in mm.h.

IMHO splitting mm.h is probably the best solution. If I'm not wrong
Paul (CCed) already suggested to move the stuff like PAGE_ALIGN() outside
mm.h the first time I submitted this patch.

In this way we could even include the "lightweight" mm.h (mm_define.h??)
in all the asm-*/page.h, preserving also the backward compatibility.

-Andrea