Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

m68k/video: Create <asm/vga.h>

For now, it just contains the hack for cirrusfb on Amiga, which is moved
out of <video/vga.h> with some slight modifications (use raw_*() instead of
z_*(), which are defined on all m68k platforms).

This makes it safe to include <video/vga.h> in all contexts. Before it
could fail to compile with

include/video/vga.h: In function ‘vga_mm_r’:
include/video/vga.h:242: error: implicit declaration of function ‘z_readb’
include/video/vga.h: In function ‘vga_mm_w’:
include/video/vga.h:247: error: implicit declaration of function ‘z_writeb’
include/video/vga.h: In function ‘vga_mm_w_fast’:
include/video/vga.h:253: error: implicit declaration of function ‘z_writew’

or

include/video/vga.h:23:21: error: asm/vga.h: No such file or directory

depending on the value of CONFIG_AMIGA.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: linux-fbdev@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org

+27 -22
+27
arch/m68k/include/asm/vga.h
··· 1 + #ifndef _ASM_M68K_VGA_H 2 + #define _ASM_M68K_VGA_H 3 + 4 + #include <asm/raw_io.h> 5 + 6 + /* 7 + * FIXME 8 + * Ugh, we don't have PCI space, so map readb() and friends to use raw I/O 9 + * accessors, which are identical to the z_*() Zorro bus accessors. 10 + * This should make cirrusfb work again on Amiga 11 + */ 12 + #undef inb_p 13 + #undef inw_p 14 + #undef outb_p 15 + #undef outw 16 + #undef readb 17 + #undef writeb 18 + #undef writew 19 + #define inb_p(port) 0 20 + #define inw_p(port) 0 21 + #define outb_p(port, val) do { } while (0) 22 + #define outw(port, val) do { } while (0) 23 + #define readb raw_inb 24 + #define writeb raw_outb 25 + #define writew raw_outw 26 + 27 + #endif /* _ASM_M68K_VGA_H */
-22
include/video/vga.h
··· 19 19 20 20 #include <linux/types.h> 21 21 #include <asm/io.h> 22 - #ifndef CONFIG_AMIGA 23 22 #include <asm/vga.h> 24 - #else 25 - /* 26 - * FIXME 27 - * Ugh, we don't have PCI space, so map readb() and friends to use Zorro space 28 - * for MMIO accesses. This should make cirrusfb work again on Amiga 29 - */ 30 - #undef inb_p 31 - #undef inw_p 32 - #undef outb_p 33 - #undef outw 34 - #undef readb 35 - #undef writeb 36 - #undef writew 37 - #define inb_p(port) 0 38 - #define inw_p(port) 0 39 - #define outb_p(port, val) do { } while (0) 40 - #define outw(port, val) do { } while (0) 41 - #define readb z_readb 42 - #define writeb z_writeb 43 - #define writew z_writew 44 - #endif 45 23 #include <asm/byteorder.h> 46 24 47 25