26 #include <linux/module.h>
27 #include <linux/kernel.h>
28 #include <linux/errno.h>
29 #include <linux/string.h>
38 #include <asm/bootinfo.h>
56 .smem_len = (1024*768),
69 wptr = regs + 0xa0000 + (regno << 4);
70 *((
volatile unsigned int *) (regs)) = (val >> 8) & 0xff00;
71 *((
volatile unsigned short *) (wptr)) = val;
78 register unsigned int j,
k;
80 rptr = regs + 0x80000 + (regno << 4);
81 j = *((
volatile unsigned short *) rptr);
82 k = *((
volatile unsigned short *) regs);
84 return (j & 0xffff) | ((k & 0xff00) << 8);
88 static int maxinefb_setcolreg(
unsigned regno,
unsigned red,
unsigned green,
92 unsigned long hw_colorvalue = 0;
101 hw_colorvalue = (blue << 16) + (green << 8) + (
red);
108 static struct fb_ops maxinefb_ops = {
110 .fb_setcolreg = maxinefb_setcolreg,
119 unsigned long fb_start;
137 for (fboff = fb_start; fboff < fb_start + 0x1ffff; fboff++)
138 *(
volatile unsigned char *)fboff = 0x0;
143 for (i = 0; i < 512; i++) {
167 static void __exit maxinefb_exit(
void)