Subject: vga16fb doesn't build on powerpc (vgacon_remap_base)

From: Joseph Fannin <[email-masked]>
Date: Tue, 16 Oct 2007 15:14:03 -0400

vga16fb is an available config option on powerpc, but it won't link
with my .config:

    ERROR: "vgacon_remap_base" [drivers/video/vga16fb.ko] undefined!

I'm guessing this is because include/asm-powerpc/vga.h declares
vgacon_remap_base: 

    extern unsigned long vgacon_remap_base;

...but arch/powerpc/kernel/setup_32.c wraps the definition in an #ifdef:

    #ifdef CONFIG_VGA_CONSOLE
    unsigned long vgacon_remap_base;
    EXPORT_SYMBOL(vgacon_remap_base);
    #endif

So CONFIG_VGA_CONSOLE=n and CONFIG_FB_VGA16=[y|m] won't work.

I've also noticed that the only places in the tree that ever assign
anything to config_remap_base are under arch/ppc.  And
include/asm-powerpc/vga.h also does this:

    #ifdef __powerpc64__
    #define VGA_MAP_MEM(x,s) ((unsigned long) ioremap((x), s))
    #else
    #define VGA_MAP_MEM(x,s) (x + vgacon_remap_base)
    #endif

So VGACON probably doesn't work either on 32bit.  I'm guessing arch/powerpc
doesn't support PREP.

How best could this be fixed up? Or should I just let the thing
be?  This is obviously not a new thing, and I don't have any hardware
that supports this stuff either.

--
Joseph Fannin
[email-masked]