[PATCH] Compile error in 2.5.69-bk18 + DRM + HIGHMEM

Pavel Roskin (proski@gnu.org)
Sun, 25 May 2003 15:35:39 -0400 (EDT)


Hello!

I'm getting an error when compiling 2.5.69-bk18 with DRM and HIGHMEM
support for Athlon:

In file included from drivers/char/drm/radeon_drv.c:49:
drivers/char/drm/drm_memory.h: In function `drm_ioremapfree':
drivers/char/drm/drm_memory.h:170: `PKMAP_BASE' undeclared (first use in this function)
drivers/char/drm/drm_memory.h:170: (Each undeclared identifier is reported only once
drivers/char/drm/drm_memory.h:170: for each function it appears in.)

PKMAP_BASE is defined in include/asm-i386/highmem.h and is used in
include/asm-i386/pgtable.h to define VMALLOC_END, which is used in
drivers/char/drm/drm_memory.h

Unfortunately, including <asm/highmem.h> from pgtable.h doesn't help, and
I don't see how to untangle this dependency without changing many other
files:

In file included from include/asm/highmem.h:26,
from include/asm/pgtable.h:5,
from include/linux/mm.h:25,
from include/linux/pagemap.h:7,
from include/linux/blkdev.h:10,
from include/linux/blk.h:2,
from init/main.c:26:
include/asm/tlbflush.h: In function `flush_tlb_page':
include/asm/tlbflush.h:95: dereferencing pointer to incomplete type
include/asm/tlbflush.h: In function `flush_tlb_range':
include/asm/tlbflush.h:102: dereferencing pointer to incomplete type
make[1]: *** [init/main.o] Error 1
make: *** [init] Error 2

This patch helps and it may be OK to apply because it only affects the
file that has compile problems, i.e. drm_memory.h:

==========================
--- linux.orig/drivers/char/drm/drm_memory.h
+++ linux/drivers/char/drm/drm_memory.h
@@ -41,6 +41,7 @@
#if __REALLY_HAVE_AGP

#include <linux/vmalloc.h>
+#include <linux/highmem.h>

#ifdef HAVE_PAGE_AGP
#include <asm/agp.h>
==========================

-- 
Regards,
Pavel Roskin

- 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/