Re: [PATCH] Include missing header in include/asm-sparc64/tlb.h

From: David Miller
Date: Mon Feb 05 2007 - 16:41:08 EST


From: David Miller <davem@xxxxxxxxxxxxx>
Date: Mon, 05 Feb 2007 13:31:37 -0800 (PST)

> From: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxx>
> Date: Mon, 5 Feb 2007 12:57:14 -0500
>
> > Include missing header in include/asm-sparc64/tlb.h
> >
> > sparc64 does not compile without this. It applies on 2.6.20.
> >
> > Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxx>
>
> It builds perfectly fine for me with several different config variants
> without adding this include.
>
> Please provide the build failure messages and your kernel config so
> this can be properly analyzed, thank you.

BTW, I did an analysis of asm-sparc64/tlb.h and it needs two
MM layer structure definitions or forward declarations related
to pages:

1) struct page. But it just declares pointers, it never
dereferences a struct page.

2) free_pages_and_swap_cache().

Both should be handled by the linux/swap.h include, linux/swap.h
makes use of "struct page" pointers in declarations and it provides
the extern for free_pages_and_swap_cache().

So why does include/asm-sparc64/tlb.h need to include linux/pagemap.h?

This would be easy to figure out if you had provided the build error
messages that prompted this change from the beginning.

Perhaps you have a local change of some kind that creates this
requirement? Or did you see "free_pages_and_swap_cache()" and
think that function is declared in linux/pagemap.h instead of
it's true location which is linux/swap.h?

Thank you.
-
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/