On Tue, Jan 24, 2006 at 02:51:30AM +0000, Martin Michlmayr wrote: > I get the following compiler error for drivers/video/cirrusfb.c on > mips: > > CC drivers/video/cirrusfb.o > In file included from include/video/vga.h:25, > from drivers/video/cirrusfb.c:70: > include/asm/vga.h:29: error: syntax error before ‘volatile’ > include/asm/vga.h:34: error: syntax error before ‘volatile’ > make[2]: *** [drivers/video/cirrusfb.o] Error 1 > > These lines define scr_writew() and scr_readw(): > > 29:static inline void scr_writew(u16 val, volatile u16 *addr) > 34:static inline u16 scr_readw(volatile const u16 *addr) > > Note that some other arches (powerpc, alpha) have the same > definitions in vga.h. > > This is with 2.6.15. Interesting catch. The reason is this code in <linux/vt_buffer.h>: [...] #if defined(CONFIG_VGA_CONSOLE) || defined(CONFIG_MDA_CONSOLE) #include <asm/vga.h> #endif #ifndef VT_BUF_HAVE_RW #define scr_writew(val, addr) (*(addr) = (val)) #define scr_readw(addr) (*(addr)) #define scr_memcpyw(d, s, c) memcpy(d, s, c) [...] But VT_BUF_HAVE_RW is defined in <asm/vga.h>, so if neither CONFIG_VGA_CONSOLE nor CONFIG_MDA_CONSOLE is defined compilation will blow up when <asm/vga.h> is being imported later. Ralf