lkml.org 
[lkml]   [1999]   [Aug]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[Fwd: [patch] fbcon cleanup (was Re: tgafb error)]
Forwarded by request.  Let me know if there are any comments or problems
with this approach.

The attached patch uses io_remap_page_range() in
drivers/video/fbmem.c:fb_mmap() instead of remap_page_range(), to clean
up the casting mess and ambiguities left around from historical fbcon
code.

io_remap_page_range() already existed on the Sparc archs, so I added it
to the other popular archs -- except mips and arm, which I know nothing
about.

Disclaimer: Patch not yet tested.

Regards,

Jeff




--
Any sufficiently advanced technology is indistinguishable from a rigged
demo.
-- Andy Finkeldiff -ur linux-2.3.14/drivers/video/S3triofb.c linux/drivers/video/S3triofb.c
--- linux-2.3.14/drivers/video/S3triofb.c Thu Aug 19 11:30:30 1999
+++ linux/drivers/video/S3triofb.c Thu Aug 19 11:08:52 1999
@@ -446,11 +446,11 @@
s3trio_init(dp);
address = 0xc6000000;
s3trio_base = ioremap(address,64*1024*1024);
- fb_fix.smem_start = (char *)address;
+ fb_fix.smem_start = address;
fb_fix.type = FB_TYPE_PACKED_PIXELS;
fb_fix.type_aux = 0;
fb_fix.accel = FB_ACCEL_S3_TRIO64;
- fb_fix.mmio_start = (char *)address+0x1000000;
+ fb_fix.mmio_start = address+0x1000000;
fb_fix.mmio_len = 0x1000000;

fb_fix.xpanstep = 1;
diff -ur linux-2.3.14/drivers/video/acornfb.c linux/drivers/video/acornfb.c
--- linux-2.3.14/drivers/video/acornfb.c Thu Aug 19 11:30:30 1999
+++ linux/drivers/video/acornfb.c Thu Aug 19 11:08:52 1999
@@ -1037,7 +1037,7 @@
else
display = &global_disp;

- fix->smem_start = (char *)current_par.screen_base_p;
+ fix->smem_start = current_par.screen_base_p;
fix->smem_len = current_par.screen_size;
fix->type = display->type;
fix->type_aux = display->type_aux;
diff -ur linux-2.3.14/drivers/video/amifb.c linux/drivers/video/amifb.c
--- linux-2.3.14/drivers/video/amifb.c Thu Aug 19 11:30:30 1999
+++ linux/drivers/video/amifb.c Thu Aug 19 11:08:52 1999
@@ -1981,7 +1981,7 @@
{
memset(fix, 0, sizeof(struct fb_fix_screeninfo));
strcpy(fix->id, amifb_name);
- fix->smem_start = (char *)videomemory_phys;
+ fix->smem_start = videomemory_phys;
fix->smem_len = videomemorysize;

#ifdef FBCON_HAS_MFB
diff -ur linux-2.3.14/drivers/video/atyfb.c linux/drivers/video/atyfb.c
--- linux-2.3.14/drivers/video/atyfb.c Thu Aug 19 11:30:30 1999
+++ linux/drivers/video/atyfb.c Thu Aug 19 11:08:53 1999
@@ -1926,7 +1926,7 @@
memset(fix, 0, sizeof(struct fb_fix_screeninfo));

strcpy(fix->id, atyfb_name);
- fix->smem_start = (char *)info->frame_buffer_phys;
+ fix->smem_start = info->frame_buffer_phys;
fix->smem_len = (u32)info->total_vram;

#ifdef __LITTLE_ENDIAN
@@ -1943,19 +1943,19 @@
* Reg Block 1 (multimedia extensions) is at ati_regbase_phys-0x400
*/
if (Gx == GX_CHIP_ID || Gx == CX_CHIP_ID) {
- fix->mmio_start = (char *)info->ati_regbase_phys;
+ fix->mmio_start = info->ati_regbase_phys;
fix->mmio_len = 0x400;
fix->accel = FB_ACCEL_ATI_MACH64GX;
} else if (Gx == CT_CHIP_ID || Gx == ET_CHIP_ID) {
- fix->mmio_start = (char *)info->ati_regbase_phys;
+ fix->mmio_start = info->ati_regbase_phys;
fix->mmio_len = 0x400;
fix->accel = FB_ACCEL_ATI_MACH64CT;
} else if (Gx == VT_CHIP_ID || Gx == VU_CHIP_ID || Gx == VV_CHIP_ID) {
- fix->mmio_start = (char *)(info->ati_regbase_phys-0x400);
+ fix->mmio_start = info->ati_regbase_phys-0x400);
fix->mmio_len = 0x800;
fix->accel = FB_ACCEL_ATI_MACH64VT;
} else {
- fix->mmio_start = (char *)(info->ati_regbase_phys-0x400);
+ fix->mmio_start = info->ati_regbase_phys-0x400);
fix->mmio_len = 0x800;
fix->accel = FB_ACCEL_ATI_MACH64GT;
}
diff -ur linux-2.3.14/drivers/video/chipsfb.c linux/drivers/video/chipsfb.c
--- linux-2.3.14/drivers/video/chipsfb.c Thu Aug 19 11:30:30 1999
+++ linux/drivers/video/chipsfb.c Thu Aug 19 11:08:53 1999
@@ -549,7 +549,7 @@
int i;

strcpy(p->fix.id, "C&T 65550");
- p->fix.smem_start = (char *) p->frame_buffer_phys;
+ p->fix.smem_start = p->frame_buffer_phys;

// FIXME: Assumes 1MB frame buffer, but 65550 supports 1MB or 2MB.
// * "3500" PowerBook G3 (the original PB G3) has 2MB.
diff -ur linux-2.3.14/drivers/video/clgenfb.c linux/drivers/video/clgenfb.c
--- linux-2.3.14/drivers/video/clgenfb.c Thu Aug 19 11:30:30 1999
+++ linux/drivers/video/clgenfb.c Thu Aug 19 10:55:38 1999
@@ -31,7 +31,7 @@
*
*/

-#define CLGEN_VERSION "1.9.4.1"
+#define CLGEN_VERSION "1.9.4.2"

#include <linux/module.h>
#include <linux/kernel.h>
@@ -98,7 +98,6 @@
if(!(expr)) { \
printk( "Assertion failed! %s,%s,%s,line=%d\n",\
#expr,__FILE__,__FUNCTION__,__LINE__); \
- *(int*)0 = 0;\
}
#else
#define assert(expr)
@@ -635,18 +634,18 @@
switch (_par->var.bits_per_pixel) {
case 1:
case 8:
- fix->smem_start = (char *) _info->fbmem_phys;
+ fix->smem_start = _info->fbmem_phys;
break;
case 16:
- fix->smem_start = (char *) _info->fbmem_phys + 1 * MB_;
+ fix->smem_start = _info->fbmem_phys + 1 * MB_;
break;
case 24:
case 32:
- fix->smem_start = (char *) _info->fbmem_phys + 2 * MB_;
+ fix->smem_start = _info->fbmem_phys + 2 * MB_;
break;
}
} else {
- fix->smem_start = (char *) _info->fbmem_phys;
+ fix->smem_start = _info->fbmem_phys;
}

/* monochrome: only 1 memory plane */
@@ -662,7 +661,7 @@
fix->line_length = _par->line_length;

/* FIXME: map region at 0xB8000 if available, fill in here */
- fix->mmio_start = (char *) NULL;
+ fix->mmio_start = 0;
fix->mmio_len = 0;
fix->accel = FB_ACCEL_NONE;

@@ -831,7 +830,7 @@
if (_par->var.yoffset > _par->var.yres_virtual - _par->var.yres)
_par->var.yoffset = _par->var.yres_virtual - _par->var.yres - 1;

- switch (var->bits_per_pixel) {
+ switch (_par->var.bits_per_pixel) {
case 1:
_par->line_length = _par->var.xres_virtual / 8;
_par->visual = FB_VISUAL_MONO10;
@@ -900,7 +899,8 @@
break;

default:
- assert (0);
+ DPRINTK("Unsupported bpp size: %d\n", _par->var.bits_per_pixel);
+ assert (FALSE);
/* should never occur */
break;
}
@@ -951,7 +951,7 @@

bestclock (freq, &_par->freq, &_par->nom, &_par->den, &_par->div,
maxclock);
- _par->mclk = clgen_get_mclk (freq, var->bits_per_pixel, &_par->divMCLK);
+ _par->mclk = clgen_get_mclk (freq, _par->var.bits_per_pixel, &_par->divMCLK);

xres = _par->var.xres;
hfront = _par->var.right_margin;
@@ -2326,7 +2326,7 @@
clgen_pci_probe_list[i].device, NULL);

if (pdev)
- *btype = clgen_pci_probe_list[i].btype;
+ *btype = clgen_pci_probe_list[i - 1].btype;

DPRINTK ("EXIT, returning %p\n", pdev);
return pdev;
@@ -2485,7 +2485,7 @@
*key2_o = zorro_find (clgen_zorro_probe_list[i].key2, 0, 0);
else
*key2_o = 0;
- *btype = clgen_zorro_probe_list[i].btype;
+ *btype = clgen_zorro_probe_list[i - 1].btype;

printk (KERN_INFO "clgen: %s board detected; ",
clgen_board_info[*btype].name);
@@ -3277,7 +3277,7 @@
break;
default:
/* should never occur */
- assert (0);
+ assert (FALSE);
break;
}

diff -ur linux-2.3.14/drivers/video/controlfb.c linux/drivers/video/controlfb.c
--- linux-2.3.14/drivers/video/controlfb.c Thu Aug 19 11:30:30 1999
+++ linux/drivers/video/controlfb.c Thu Aug 19 11:08:53 1999
@@ -998,7 +998,7 @@
{
memset(fix, 0, sizeof(*fix));
strcpy(fix->id, "control");
- fix->mmio_start = (char *)p->control_regs_phys;
+ fix->mmio_start = p->control_regs_phys;
fix->mmio_len = sizeof(struct control_regs);
fix->type = FB_TYPE_PACKED_PIXELS;

@@ -1010,7 +1010,7 @@
fix->xpanstep = 0;
*/

- fix->smem_start = (void *)(p->frame_buffer_phys
+ fix->smem_start = (p->frame_buffer_phys
+ control_reg_init[par->vmode-1]->offset[par->cmode]);
fix->smem_len = p->total_vram - control_reg_init[par->vmode-1]->offset[par->cmode];
fix->visual = (par->cmode == CMODE_8) ?
diff -ur linux-2.3.14/drivers/video/cyber2000fb.c linux/drivers/video/cyber2000fb.c
--- linux-2.3.14/drivers/video/cyber2000fb.c Thu Aug 19 11:30:30 1999
+++ linux/drivers/video/cyber2000fb.c Thu Aug 19 11:08:53 1999
@@ -765,9 +765,9 @@
else
display = &global_disp;

- fix->smem_start = (char *)current_par.screen_base_p;
+ fix->smem_start = current_par.screen_base_p;
fix->smem_len = current_par.screen_size;
- fix->mmio_start = (char *)current_par.regs_base_p;
+ fix->mmio_start = current_par.regs_base_p;
fix->mmio_len = 0x000c0000;
fix->type = display->type;
fix->type_aux = display->type_aux;
diff -ur linux-2.3.14/drivers/video/cyberfb.c linux/drivers/video/cyberfb.c
--- linux-2.3.14/drivers/video/cyberfb.c Thu Aug 19 11:30:30 1999
+++ linux/drivers/video/cyberfb.c Thu Aug 19 11:08:53 1999
@@ -406,9 +406,9 @@
DPRINTK("ENTER\n");
memset(fix, 0, sizeof(struct fb_fix_screeninfo));
strcpy(fix->id, cyberfb_name);
- fix->smem_start = (char*) CyberMem_phys;
+ fix->smem_start = CyberMem_phys;
fix->smem_len = CyberSize;
- fix->mmio_start = (char*) CyberRegs_phys;
+ fix->mmio_start = CyberRegs_phys;
fix->mmio_len = 0x10000;

fix->type = FB_TYPE_PACKED_PIXELS;
diff -ur linux-2.3.14/drivers/video/dnfb.c linux/drivers/video/dnfb.c
--- linux-2.3.14/drivers/video/dnfb.c Thu Aug 19 11:30:30 1999
+++ linux/drivers/video/dnfb.c Thu Aug 19 11:08:53 1999
@@ -169,7 +169,7 @@
{
memset(fix, 0, sizeof(struct fb_fix_screeninfo));
strcpy(fix->id,"Apollo Mono");
- fix->smem_start=(char*)(FRAME_BUFFER_START+IO_BASE);
+ fix->smem_start=FRAME_BUFFER_START+IO_BASE;
fix->smem_len=FRAME_BUFFER_LEN;
fix->type=FB_TYPE_PACKED_PIXELS;
fix->type_aux=0;
diff -ur linux-2.3.14/drivers/video/fbmem.c linux/drivers/video/fbmem.c
--- linux-2.3.14/drivers/video/fbmem.c Thu Aug 19 11:30:30 1999
+++ linux/drivers/video/fbmem.c Thu Aug 19 11:08:53 1999
@@ -473,7 +473,7 @@
fb->fb_get_fix(&fix, PROC_CONSOLE(info), info);

/* frame buffer memory */
- start = (unsigned long)fix.smem_start;
+ start = fix.smem_start;
len = (start & ~PAGE_MASK)+fix.smem_len;
start &= PAGE_MASK;
len = (len+~PAGE_MASK) & PAGE_MASK;
@@ -483,7 +483,7 @@
fb->fb_get_var(&var, PROC_CONSOLE(info), info);
if (var.accel_flags)
return -EINVAL;
- start = (unsigned long)fix.mmio_start;
+ start = fix.mmio_start;
len = (start & ~PAGE_MASK)+fix.mmio_len;
start &= PAGE_MASK;
len = (len+~PAGE_MASK) & PAGE_MASK;
@@ -524,7 +524,7 @@
#else
#warning What do we have to do here??
#endif
- if (remap_page_range(vma->vm_start, vma->vm_offset,
+ if (io_remap_page_range(vma->vm_start, vma->vm_offset,
vma->vm_end - vma->vm_start, vma->vm_page_prot))
return -EAGAIN;
return 0;
diff -ur linux-2.3.14/drivers/video/fm2fb.c linux/drivers/video/fm2fb.c
--- linux-2.3.14/drivers/video/fm2fb.c Thu Aug 19 11:30:30 1999
+++ linux/drivers/video/fm2fb.c Thu Aug 19 11:08:53 1999
@@ -415,13 +415,13 @@
fb_var = fb_var_modes[fm2fb_mode];

strcpy(fb_fix.id, is_fm ? "FrameMaster II" : "Rainbow II");
- fb_fix.smem_start = (char *)fm2fb_mem_phys;
+ fb_fix.smem_start = fm2fb_mem_phys;
fb_fix.smem_len = FRAMEMASTER_REG;
fb_fix.type = FB_TYPE_PACKED_PIXELS;
fb_fix.type_aux = 0;
fb_fix.visual = FB_VISUAL_TRUECOLOR;
fb_fix.line_length = 768<<2;
- fb_fix.mmio_start = (char *)fm2fb_reg_phys;
+ fb_fix.mmio_start = fm2fb_reg_phys;
fb_fix.mmio_len = 8;
fb_fix.accel = FB_ACCEL_NONE;

diff -ur linux-2.3.14/drivers/video/g364fb.c linux/drivers/video/g364fb.c
--- linux-2.3.14/drivers/video/g364fb.c Thu Aug 19 11:30:30 1999
+++ linux/drivers/video/g364fb.c Thu Aug 19 11:08:53 1999
@@ -345,7 +345,7 @@
fb_var.yres = yres;

fb_fix.line_length = (xres / 8) * fb_var.bits_per_pixel;
- fb_fix.smem_start = (char *)0x40000000; /* physical address */
+ fb_fix.smem_start = 0x40000000; /* physical address */
/* get size of video memory; this is special for the JAZZ hardware */
mem = (r4030_read_reg32(JAZZ_R4030_CONFIG) >> 8) & 3;
fb_fix.smem_len = (1 << (mem*2)) * 512 * 1024;
@@ -355,7 +355,7 @@
fb_fix.xpanstep = 0;
fb_fix.ypanstep = 1;
fb_fix.ywrapstep = 0;
- fb_fix.mmio_start = NULL;
+ fb_fix.mmio_start = 0;
fb_fix.mmio_len = 0;
fb_fix.accel = FB_ACCEL_NONE;

diff -ur linux-2.3.14/drivers/video/hpfb.c linux/drivers/video/hpfb.c
--- linux-2.3.14/drivers/video/hpfb.c Thu Aug 19 11:30:31 1999
+++ linux/drivers/video/hpfb.c Thu Aug 19 11:08:53 1999
@@ -192,7 +192,7 @@
/*
* X works, but screen wraps ...
*/
- fix->smem_start=(char *)fb_start;
+ fix->smem_start=fb_start;
fix->smem_len=fb_size;
fix->type = FB_TYPE_PACKED_PIXELS;
fix->visual = FB_VISUAL_PSEUDOCOLOR;
diff -ur linux-2.3.14/drivers/video/igafb.c linux/drivers/video/igafb.c
--- linux-2.3.14/drivers/video/igafb.c Thu Aug 19 11:30:31 1999
+++ linux/drivers/video/igafb.c Thu Aug 19 11:08:53 1999
@@ -217,7 +217,7 @@
memset(fix, 0, sizeof(struct fb_fix_screeninfo));
strcpy(fix->id, igafb_name);

- fix->smem_start = (char *)fb->frame_buffer;
+ fix->smem_start = fb->frame_buffer;
fix->smem_len = fb->total_vram;
fix->xpanstep = 0;
fix->ypanstep = 0;
diff -ur linux-2.3.14/drivers/video/imsttfb.c linux/drivers/video/imsttfb.c
--- linux-2.3.14/drivers/video/imsttfb.c Thu Aug 19 11:30:31 1999
+++ linux/drivers/video/imsttfb.c Thu Aug 19 11:08:53 1999
@@ -1797,9 +1797,9 @@
}

sprintf(p->fix.id, "IMS TT (%s)", p->ramdac == IBM ? "IBM" : "TVP");
- p->fix.smem_start = (__u8 *)p->frame_buffer_phys;
+ p->fix.smem_start = p->frame_buffer_phys;
p->fix.smem_len = p->total_vram;
- p->fix.mmio_start = (__u8 *)p->dc_regs_phys;
+ p->fix.mmio_start = p->dc_regs_phys;
p->fix.mmio_len = 0x1000;
p->fix.accel = FB_ACCEL_IMS_TWINTURBO;
p->fix.type = FB_TYPE_PACKED_PIXELS;
diff -ur linux-2.3.14/drivers/video/macfb.c linux/drivers/video/macfb.c
--- linux-2.3.14/drivers/video/macfb.c Thu Aug 19 11:30:31 1999
+++ linux/drivers/video/macfb.c Thu Aug 19 11:08:53 1999
@@ -157,7 +157,7 @@
/*
* fbmem.c accepts non page aligned mappings now!
*/
- fix->smem_start=(char *)mac_videobase;
+ fix->smem_start=mac_videobase;
fix->smem_len=mac_videosize;
fix->type = FB_TYPE_PACKED_PIXELS;
if (mac_depth == 1)
diff -ur linux-2.3.14/drivers/video/matroxfb.c linux/drivers/video/matroxfb.c
--- linux-2.3.14/drivers/video/matroxfb.c Thu Aug 19 11:30:31 1999
+++ linux/drivers/video/matroxfb.c Thu Aug 19 11:08:53 1999
@@ -4622,7 +4622,7 @@
memset(fix, 0, sizeof(struct fb_fix_screeninfo));
strcpy(fix->id,"MATROX");

- fix->smem_start = (void*)ACCESS_FBINFO(video.base) + ACCESS_FBINFO(curr.ydstorg.bytes);
+ fix->smem_start = ACCESS_FBINFO(video.base) + ACCESS_FBINFO(curr.ydstorg.bytes);
fix->smem_len = ACCESS_FBINFO(video.len_usable) - ACCESS_FBINFO(curr.ydstorg.bytes);
fix->type = p->type;
fix->type_aux = p->type_aux;
@@ -4631,7 +4631,7 @@
fix->ypanstep = 1;
fix->ywrapstep = 0;
fix->line_length = p->line_length;
- fix->mmio_start = (void*)ACCESS_FBINFO(mmio.base);
+ fix->mmio_start = ACCESS_FBINFO(mmio.base);
fix->mmio_len = ACCESS_FBINFO(mmio.len);
fix->accel = ACCESS_FBINFO(devflags.accelerator);
return 0;
Only in linux/drivers/video: modedb.c
diff -ur linux-2.3.14/drivers/video/offb.c linux/drivers/video/offb.c
--- linux-2.3.14/drivers/video/offb.c Thu Aug 19 11:30:31 1999
+++ linux/drivers/video/offb.c Thu Aug 19 11:08:53 1999
@@ -533,7 +533,7 @@
var->yres = var->yres_virtual = height;
fix->line_length = pitch;

- fix->smem_start = (char *)address;
+ fix->smem_start = address;
fix->smem_len = pitch * height;
fix->type = FB_TYPE_PACKED_PIXELS;
fix->type_aux = 0;
diff -ur linux-2.3.14/drivers/video/platinumfb.c linux/drivers/video/platinumfb.c
--- linux-2.3.14/drivers/video/platinumfb.c Thu Aug 19 11:30:31 1999
+++ linux/drivers/video/platinumfb.c Thu Aug 19 11:08:53 1999
@@ -837,9 +837,9 @@
{
memset(fix, 0, sizeof(*fix));
strcpy(fix->id, "platinum");
- fix->smem_start = (void *) (info->frame_buffer_phys + 0x1000);
+ fix->smem_start = (info->frame_buffer_phys + 0x1000);
fix->smem_len = (u32) info->total_vram - 0x1000;
- fix->mmio_start = (char *) (info->platinum_regs_phys);
+ fix->mmio_start = (info->platinum_regs_phys);
fix->mmio_len = 0x1000;
fix->type = FB_TYPE_PACKED_PIXELS;
fix->type_aux = 0;
diff -ur linux-2.3.14/drivers/video/q40fb.c linux/drivers/video/q40fb.c
--- linux-2.3.14/drivers/video/q40fb.c Thu Aug 19 11:30:31 1999
+++ linux/drivers/video/q40fb.c Thu Aug 19 11:08:53 1999
@@ -86,7 +86,7 @@
memset(fix, 0, sizeof(struct fb_fix_screeninfo));

strcpy(fix->id,"Q40");
- fix->smem_start=(char*)q40_screen_addr;
+ fix->smem_start=q40_screen_addr;
fix->smem_len=1024*1024;
fix->type=FB_TYPE_PACKED_PIXELS;
fix->type_aux=0;
diff -ur linux-2.3.14/drivers/video/retz3fb.c linux/drivers/video/retz3fb.c
--- linux-2.3.14/drivers/video/retz3fb.c Thu Aug 19 11:30:31 1999
+++ linux/drivers/video/retz3fb.c Thu Aug 19 11:08:53 1999
@@ -794,9 +794,9 @@

memset(fix, 0, sizeof(struct fb_fix_screeninfo));
strcpy(fix->id, retz3fb_name);
- fix->smem_start = (char *)(zinfo->physfbmem);
+ fix->smem_start = zinfo->physfbmem;
fix->smem_len = zinfo->fbsize;
- fix->mmio_start = (char *)(zinfo->physregs);
+ fix->mmio_start = zinfo->physregs;
fix->mmio_len = 0x00c00000;

fix->type = FB_TYPE_PACKED_PIXELS;
diff -ur linux-2.3.14/drivers/video/sgivwfb.c linux/drivers/video/sgivwfb.c
--- linux-2.3.14/drivers/video/sgivwfb.c Thu Aug 19 11:30:31 1999
+++ linux/drivers/video/sgivwfb.c Thu Aug 19 11:08:53 1999
@@ -501,7 +501,7 @@
{
memset(fix, 0, sizeof(struct fb_fix_screeninfo));
strcpy(fix->id, sgivwfb_name);
- fix->smem_start = (char *) sgivwfb_mem_phys;
+ fix->smem_start = sgivwfb_mem_phys;
fix->smem_len = sgivwfb_mem_size;
fix->type = FB_TYPE_PACKED_PIXELS;
fix->type_aux = 0;
@@ -517,7 +517,7 @@
fix->xpanstep = 0;
fix->ypanstep = ypan;
fix->line_length = get_line_length(var->xres_virtual, var->bits_per_pixel);
- fix->mmio_start = (char *) DBE_REG_PHYS;
+ fix->mmio_start = DBE_REG_PHYS;
fix->mmio_len = DBE_REG_SIZE;
}

diff -ur linux-2.3.14/drivers/video/tgafb.c linux/drivers/video/tgafb.c
--- linux-2.3.14/drivers/video/tgafb.c Thu Aug 19 11:30:31 1999
+++ linux/drivers/video/tgafb.c Thu Aug 19 11:08:53 1999
@@ -328,9 +328,9 @@
fix->visual = FB_VISUAL_TRUECOLOR;

fix->line_length = par->xres * (par->bits_per_pixel >> 3);
- fix->smem_start = ioremap(fb_info.tga_fb_base);
+ fix->smem_start = fb_info.tga_fb_base;
fix->smem_len = fix->line_length * par->yres;
- fix->mmio_start = ioremap(fb_info.tga_regs_base);
+ fix->mmio_start = fb_info.tga_regs_base;
fix->mmio_len = 0x1000; /* Is this sufficient? */
fix->xpanstep = fix->ypanstep = fix->ywrapstep = 0;
fix->accel = FB_ACCEL_DEC_TGA;
diff -ur linux-2.3.14/drivers/video/valkyriefb.c linux/drivers/video/valkyriefb.c
--- linux-2.3.14/drivers/video/valkyriefb.c Thu Aug 19 11:30:31 1999
+++ linux/drivers/video/valkyriefb.c Thu Aug 19 11:08:53 1999
@@ -783,7 +783,7 @@
struct fb_fix_screeninfo *fix,
struct fb_info_valkyrie *p)
{
- fix->smem_start = (void *)(p->frame_buffer_phys + 0x1000);
+ fix->smem_start = p->frame_buffer_phys + 0x1000;
#if 1
fix->smem_len = valkyrie_vram_reqd(par->vmode, par->cmode);
#else
diff -ur linux-2.3.14/drivers/video/vesafb.c linux/drivers/video/vesafb.c
--- linux-2.3.14/drivers/video/vesafb.c Thu Aug 19 11:30:31 1999
+++ linux/drivers/video/vesafb.c Thu Aug 19 11:08:53 1999
@@ -166,7 +166,7 @@
memset(fix, 0, sizeof(struct fb_fix_screeninfo));
strcpy(fix->id,"VESA VGA");

- fix->smem_start=(char *) video_base;
+ fix->smem_start=video_base;
fix->smem_len=video_size;
fix->type = video_type;
fix->visual = video_visual;
diff -ur linux-2.3.14/drivers/video/vfb.c linux/drivers/video/vfb.c
--- linux-2.3.14/drivers/video/vfb.c Thu Aug 19 11:30:31 1999
+++ linux/drivers/video/vfb.c Thu Aug 19 11:08:53 1999
@@ -507,7 +507,7 @@
{
memset(fix, 0, sizeof(struct fb_fix_screeninfo));
strcpy(fix->id, vfb_name);
- fix->smem_start = (char *)videomemory;
+ fix->smem_start = videomemory;
fix->smem_len = videomemorysize;
fix->type = FB_TYPE_PACKED_PIXELS;
fix->type_aux = 0;
diff -ur linux-2.3.14/drivers/video/vga16fb.c linux/drivers/video/vga16fb.c
--- linux-2.3.14/drivers/video/vga16fb.c Thu Aug 19 11:30:31 1999
+++ linux/drivers/video/vga16fb.c Thu Aug 19 11:08:53 1999
@@ -158,7 +158,7 @@
memset(fix, 0, sizeof(struct fb_fix_screeninfo));
strcpy(fix->id,"VGA16 VGA");

- fix->smem_start = (char *) 0xa0000;
+ fix->smem_start = 0xa0000;
fix->smem_len = 65536;
fix->type = FB_TYPE_VGA_PLANES;
fix->visual = FB_VISUAL_PSEUDOCOLOR;
diff -ur linux-2.3.14/drivers/video/virgefb.c linux/drivers/video/virgefb.c
--- linux-2.3.14/drivers/video/virgefb.c Thu Aug 19 11:30:31 1999
+++ linux/drivers/video/virgefb.c Thu Aug 19 11:08:53 1999
@@ -441,19 +441,19 @@
memset(fix, 0, sizeof(struct fb_fix_screeninfo));
strcpy(fix->id, virgefb_name);
if (cv3d_on_zorro2) {
- fix->smem_start = (char*) CyberMem_phys;
+ fix->smem_start = CyberMem_phys;
} else {
switch (par->bpp) {
case 8:
- fix->smem_start = (char*) (CyberMem_phys + CYBMEM_OFFSET_8);
+ fix->smem_start = (CyberMem_phys + CYBMEM_OFFSET_8);
break;
case 16:
- fix->smem_start = (char*) (CyberMem_phys + CYBMEM_OFFSET_16);
+ fix->smem_start = (CyberMem_phys + CYBMEM_OFFSET_16);
break;
}
}
fix->smem_len = CyberSize;
- fix->mmio_start = (char*) CyberRegs_phys;
+ fix->mmio_start = CyberRegs_phys;
fix->mmio_len = 0x10000; /* TODO: verify this for the CV64/3D */

fix->type = FB_TYPE_PACKED_PIXELS;
diff -ur linux-2.3.14/include/asm-alpha/pgtable.h linux/include/asm-alpha/pgtable.h
--- linux-2.3.14/include/asm-alpha/pgtable.h Thu Jul 29 16:37:22 1999
+++ linux/include/asm-alpha/pgtable.h Thu Aug 19 11:08:53 1999
@@ -621,4 +621,7 @@
#define PageSkip(page) (0)
#define kern_addr_valid(addr) (1)

+#define io_remap_page_range(start, busaddr, size, prot) \
+ remap_page_range(start, virt_to_phys(ioremap(busaddr)), size, prot)
+
#endif /* _ALPHA_PGTABLE_H */
Only in linux-2.3.14/include/asm-arm: arch-a5k
diff -ur linux-2.3.14/include/asm-i386/pgtable.h linux/include/asm-i386/pgtable.h
--- linux-2.3.14/include/asm-i386/pgtable.h Mon Aug 9 15:42:02 1999
+++ linux/include/asm-i386/pgtable.h Thu Aug 19 11:08:53 1999
@@ -525,4 +525,6 @@
#define PageSkip(page) (0)
#define kern_addr_valid(addr) (1)

+#define io_remap_page_range remap_page_range
+
#endif /* _I386_PAGE_H */
diff -ur linux-2.3.14/include/asm-m68k/pgtable.h linux/include/asm-m68k/pgtable.h
--- linux-2.3.14/include/asm-m68k/pgtable.h Mon Aug 9 15:27:31 1999
+++ linux/include/asm-m68k/pgtable.h Thu Aug 19 11:08:53 1999
@@ -777,4 +777,6 @@
#define PageSkip(page) (0)
#define kern_addr_valid(addr) (1)

+#define io_remap_page_range remap_page_range
+
#endif /* _M68K_PGTABLE_H */
diff -ur linux-2.3.14/include/asm-ppc/pgtable.h linux/include/asm-ppc/pgtable.h
--- linux-2.3.14/include/asm-ppc/pgtable.h Sun Jul 25 16:45:25 1999
+++ linux/include/asm-ppc/pgtable.h Thu Aug 19 11:08:53 1999
@@ -647,5 +647,7 @@
#define PageSkip(page) (0)
#define kern_addr_valid(addr) (1)

+#define io_remap_page_range remap_page_range
+
#endif __ASSEMBLY__
#endif /* _PPC_PGTABLE_H */
diff -ur linux-2.3.14/include/linux/fb.h linux/include/linux/fb.h
--- linux-2.3.14/include/linux/fb.h Thu Aug 19 11:30:32 1999
+++ linux/include/linux/fb.h Thu Aug 19 09:47:13 1999
@@ -83,7 +83,7 @@

struct fb_fix_screeninfo {
char id[16]; /* identification string eg "TT Builtin" */
- char *smem_start; /* Start of frame buffer mem */
+ unsigned long smem_start; /* Start of frame buffer mem */
/* (physical address) */
__u32 smem_len; /* Length of frame buffer mem */
__u32 type; /* see FB_TYPE_* */
@@ -93,7 +93,7 @@
__u16 ypanstep; /* zero if no hardware panning */
__u16 ywrapstep; /* zero if no hardware ywrap */
__u32 line_length; /* length of a line in bytes */
- char *mmio_start; /* Start of Memory Mapped I/O */
+ unsigned long mmio_start; /* Start of Memory Mapped I/O */
/* (physical address) */
__u32 mmio_len; /* Length of Memory Mapped I/O */
__u32 accel; /* Type of acceleration available */
\
 
 \ /
  Last update: 2005-03-22 13:53    [W:0.046 / U:0.172 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site