lkml.org 
[lkml]   [2007]   [May]   [15]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
DateWed, 16 May 2007 08:50:34 +1000
From"andrew hendry" <>
SubjectRe: Linux 2.6.22-rc1
Yes, putting the extern highstart_pfn back compiles clean for that rand config.

Sorry for the attachment, no access to a patch friendly mailer at work.

Andrew.

On 5/16/07, Linus Torvalds <torvalds@linux-foundation.org> wrote:
>
>
> On Tue, 15 May 2007, andrew hendry wrote:
> >
> > almost, highstart_pfn is used in a few printks
> >
> > arch/i386/mm/discontig.c: In function 'setup_memory':
> > arch/i386/mm/discontig.c:314: error: 'highstart_pfn' undeclared (first
> > use in this function)
> > arch/i386/mm/discontig.c:314: error: (Each undeclared identifier is
> > reported only once
> > arch/i386/mm/discontig.c:314: error: for each function it appears in.)
>
> Gaah. highstart_pfn is declared in <asm/highmem.h>, but that one is
> protected by a
>
>         #ifdef CONFIG_HIGHMEM
>         #include <asm/highmem.h>
>
> in <linux/highmem.h>, so even though we include highmem.h, we never see
> the declaration.
>
> Your config is insane, but anyway, does it compile if you just add back
> the extra "unnecessary" declaration of highstart_pfn?
>
>                 Linus
>
diff -uprN -X dontdiff a/arch/i386/mm/discontig.c b/arch/i386/mm/discontig.c
--- a/arch/i386/mm/discontig.c	2007-05-15 15:19:49.000000000 +1000
+++ b/arch/i386/mm/discontig.c	2007-05-15 15:35:26.000000000 +1000
@@ -31,6 +31,7 @@
 #include <linux/module.h>
 #include <linux/kexec.h>
 #include <linux/pfn.h>
+#include <linux/swap.h>
 
 #include <asm/e820.h>
 #include <asm/setup.h>
@@ -97,14 +98,9 @@ unsigned long node_memmap_size_bytes(int
 #endif
 
 extern unsigned long find_max_low_pfn(void);
-extern void find_max_pfn(void);
 extern void add_one_highpage_init(struct page *, int, int);
 
-extern struct e820map e820;
-extern unsigned long highend_pfn, highstart_pfn;
-extern unsigned long max_low_pfn;
-extern unsigned long totalram_pages;
-extern unsigned long totalhigh_pages;
+extern unsigned long highstart_pfn;
 
 #define LARGE_PAGE_BYTES (PTRS_PER_PTE * PAGE_SIZE)
 
@@ -360,7 +356,9 @@ void __init zone_sizes_init(void)
 	max_zone_pfns[ZONE_DMA] =
 		virt_to_phys((char *)MAX_DMA_ADDRESS) >> PAGE_SHIFT;
 	max_zone_pfns[ZONE_NORMAL] = max_low_pfn;
+#ifdef CONFIG_HIGHMEM
 	max_zone_pfns[ZONE_HIGHMEM] = highend_pfn;
+#endif
 	/* If SRAT has not registered memory, register it now */
 	if (find_max_pfn_with_active_regions() == 0) {
 		for_each_online_node(nid) {
\
 
 \ /
  Last update: 2007-05-16 00:53    [from the cache]
©2003-2008