Re: Powerpc - Include pagemap.h in asm/powerpc/tlb.h

From: Kumar Gala
Date: Thu Jul 19 2007 - 15:55:25 EST



On Jul 19, 2007, at 12:30 AM, Andrew Morton wrote:

On Fri, 13 Jul 2007 21:20:33 -0400 Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxx> wrote:

Powerpc - Include pagemap.h in asm/powerpc/tlb.h

Fixes this powerpc build error in 2.6.22-rc6-mm1 for powerpc 64 :

In file included from include2/asm/tlb.h:60,
from /home/compudj/git/linux-2.6-lttng/arch/ powerpc/mm/init_64.
c:56:
/home/compudj/git/linux-2.6-lttng/include/asm-generic/tlb.h: In function 'tlb_fl
ush_mmu':
/home/compudj/git/linux-2.6-lttng/include/asm-generic/tlb.h:76: error: implicit
declaration of function 'release_pages'
/home/compudj/git/linux-2.6-lttng/include/asm-generic/tlb.h: In function 'tlb_re
move_page':
/home/compudj/git/linux-2.6-lttng/include/asm-generic/tlb.h:105: error: implicit
declaration of function 'page_cache_release'

You have some wordwrapping going on there.

make[2]: *** [arch/powerpc/mm/init_64.o] Error 1

release_pages is declared in linux/pagemap.h, but cannot be included in
linux/swap.h because of a sparc related comment:

/* only sparc can not include linux/pagemap.h in this file
* so leave page_cache_release and release_pages undeclared... */
#define free_page_and_swap_cache(page) \
page_cache_release(page)
#define free_pages_and_swap_cache(pages, nr) \
release_pages((pages), (nr), 0);

It's always a worry when this happens. What change made us need this
inclusion? How come you're hitting it but I (and test.kernel.org, at least)
did not? How come so few other architectures include pagemap.h from
asm/tlb.h? Why do header files get into such a mess?


Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxx>
CC: linuxppc-dev@xxxxxxxxxx
CC: Paul Mackerras <paulus@xxxxxxxxx>
---
include/asm-powerpc/tlb.h | 2 ++
1 file changed, 2 insertions(+)

Index: linux-2.6-lttng/include/asm-powerpc/tlb.h
===================================================================
--- linux-2.6-lttng.orig/include/asm-powerpc/tlb.h 2007-07-13 11:30:54.000000000 -0400
+++ linux-2.6-lttng/include/asm-powerpc/tlb.h 2007-07-13 11:31:22.000000000 -0400
@@ -23,6 +23,8 @@
#include <asm/mmu.h>
#endif

+#include <linux/pagemap.h>
+
struct mmu_gather;


Oh well. I queued it up for someone else to worry over ;)

Andrew,

Are you sending this to linus directly or should this go via paul and me?

- k


-
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/