Re: [PATCH] Clean up asm/pgalloc.h include (m68k)

Russell King
2004-04-19T16:30:57Z

On Mon, Apr 19, 2004 at 06:18:41PM +0200, Geert Uytterhoeven wrote:
> The patch below fixes all compile-issues on m68k, except when compiling for
> Sun-3.
>
> include/asm-generic/tlb.h now includes <asm/pgalloc.h>, which includes
> <asm/sun3_pgalloc.h>. But the last file needs tlb_remove_page(), which is
> defined in include/asm-generic/tlb.h

Nice.

> Do you really need <asm/pgalloc.h> in include/asm-generic/tlb.h?

Yes it does - tlb.h uses check_pgt_cache(). Also, architecture code
makes use of __pmd_free_tlb and __pte_free_tlb, both of which make
use of code from asm/pgalloc.h.

Not including asm/pgalloc.h into asm/tlb.h or asm-generic/tlb.h means
that all the generic files have to know that asm/tlb.h needs asm/pgalloc.h,
and they also then need to know that asm/pgalloc.h needs asm/pgtable.h,
and asm/pgtable.h needs ...

Is there a reason why:

static inline void __pte_free_tlb(struct mmu_gather *tlb, struct page *page)
{
tlb_remove_page(tlb, page);
}

can't be like x86 and others in their pgalloc.h:

#define __pte_free_tlb(tlb,pte) tlb_remove_page((tlb),(pte))

(for consistency sake if nothing else) ?

Thanks.

--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 PCMCIA - http://pcmcia.arm.linux.org.uk/
2.6 Serial core