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

Andrew Morton akpm at linux-foundation.org
Thu Jul 19 15:30:34 EST 2007


On Fri, 13 Jul 2007 21:20:33 -0400 Mathieu Desnoyers <mathieu.desnoyers at polymtl.ca> 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 at polymtl.ca>
> CC: linuxppc-dev at ozlabs.org
> CC: Paul Mackerras <paulus at samba.org>
> ---
>  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 ;)




More information about the Linuxppc-dev mailing list