lkml.org 
[lkml]   [2002]   [Feb]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectMaze of include files, all producing errors...
In 2.5.5 (Changeset 1.359.2.3), the highmem.h and pgalloc.h includes were
reversed.

Previous kernels had linux/highmem.h including asm/pgalloc.h. Placing
the architecture cache handling functions worked well in asm/pgalloc.h,
allowing highmem.h to find them; highmem.h uses flush_dcache_page() and
friends in inline functions.

In this changeset, highmem.h no longer includes pgalloc.h, but instead
pgalloc.h includes highmem.h. This, unfortunately, tends to break things
in a major way since the cache functions are no longer available to
highmem.h.

Looking at x86, the (no-op) cache functions live in pgtable.h. However,
trying to put the ARM cache handling into pgtable.h doesn't work because
we need things like PG_arch_1 and struct page. pgtable.h is included by
linux/mm.h before linux/mm.h declares PG_arch_1 and struct page. So
obviously this can't work.

Has anyone encountered this, and has anyone found a magic working
combination?

For now, I'm going to reverse the include changes in this changeset so
things build again.

--
Russell King (rmk@arm.linux.org.uk) The developer of ARM Linux
http://www.arm.linux.org.uk/personal/aboutme.html

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:20    [W:0.058 / U:0.688 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site