OSDN Git Service

m68k/video: Create <asm/vga.h>
authorGeert Uytterhoeven <geert@linux-m68k.org>
Wed, 18 Apr 2012 09:45:17 +0000 (11:45 +0200)
committerGeert Uytterhoeven <geert@linux-m68k.org>
Sun, 22 Apr 2012 18:16:50 +0000 (20:16 +0200)
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
arch/m68k/include/asm/vga.h [new file with mode: 0644]
include/video/vga.h

diff --git a/arch/m68k/include/asm/vga.h b/arch/m68k/include/asm/vga.h
new file mode 100644 (file)
index 0000000..d3aa140
--- /dev/null
@@ -0,0 +1,27 @@
+#ifndef _ASM_M68K_VGA_H
+#define _ASM_M68K_VGA_H
+
+#include <asm/raw_io.h>
+
+/*
+ * FIXME
+ * Ugh, we don't have PCI space, so map readb() and friends to use raw I/O
+ * accessors, which are identical to the z_*() Zorro bus accessors.
+ * This should make cirrusfb work again on Amiga
+ */
+#undef inb_p
+#undef inw_p
+#undef outb_p
+#undef outw
+#undef readb
+#undef writeb
+#undef writew
+#define inb_p(port)            0
+#define inw_p(port)            0
+#define outb_p(port, val)      do { } while (0)
+#define outw(port, val)                do { } while (0)
+#define readb                  raw_inb
+#define writeb                 raw_outb
+#define writew                 raw_outw
+
+#endif /* _ASM_M68K_VGA_H */
index 2b8691f..cac567f 100644 (file)
 
 #include <linux/types.h>
 #include <asm/io.h>
-#ifndef CONFIG_AMIGA
 #include <asm/vga.h>
-#else
-/*
- * FIXME
- * Ugh, we don't have PCI space, so map readb() and friends to use Zorro space
- * for MMIO accesses. This should make cirrusfb work again on Amiga
- */
-#undef inb_p
-#undef inw_p
-#undef outb_p
-#undef outw
-#undef readb
-#undef writeb
-#undef writew
-#define inb_p(port)    0
-#define inw_p(port)    0
-#define outb_p(port, val)      do { } while (0)
-#define outw(port, val)                do { } while (0)
-#define readb          z_readb
-#define writeb         z_writeb
-#define writew         z_writew
-#endif
 #include <asm/byteorder.h>