diff --git a/drivers/video/via/global.c b/drivers/video/via/global.c index 468be2425af3..1096fd5de2bf 100644 --- a/drivers/video/via/global.c +++ b/drivers/video/via/global.c @@ -46,7 +46,6 @@ int viafb_hotplug_refresh = 60; unsigned int viafb_second_offset; int viafb_second_size; int viafb_primary_dev = None_Device; -void __iomem *viafb_FB_MM; unsigned int viafb_second_xres = 640; unsigned int viafb_second_yres = 480; unsigned int viafb_second_virtual_xres; diff --git a/drivers/video/via/global.h b/drivers/video/via/global.h index 7543d5f7e309..11382e5daf35 100644 --- a/drivers/video/via/global.h +++ b/drivers/video/via/global.h @@ -77,7 +77,6 @@ extern int viafb_hotplug_Yres; extern int viafb_hotplug_bpp; extern int viafb_hotplug_refresh; extern int viafb_primary_dev; -extern void __iomem *viafb_FB_MM; extern struct fb_cursor viacursor; extern unsigned int viafb_second_xres; diff --git a/drivers/video/via/viafbdev.c b/drivers/video/via/viafbdev.c index 0cd112a36901..86835ee41027 100644 --- a/drivers/video/via/viafbdev.c +++ b/drivers/video/via/viafbdev.c @@ -832,8 +832,7 @@ static void viafb_fillrect(struct fb_info *info, /* Source Base Address */ writel(0x0, viaparinfo->io_virt + VIA_REG_SRCBASE); /* Destination Base Address */ - writel(((unsigned long) (info->screen_base) - - (unsigned long) viafb_FB_MM) >> 3, + writel((info->fix.smem_start - viafbinfo->fix.smem_start) >> 3, viaparinfo->io_virt + VIA_REG_DSTBASE); /* Pitch */ pitch = (info->var.xres_virtual + 7) & ~7; @@ -887,12 +886,10 @@ static void viafb_copyarea(struct fb_info *info, } /* Source Base Address */ - writel(((unsigned long) (info->screen_base) - - (unsigned long) viafb_FB_MM) >> 3, + writel((info->fix.smem_start - viafbinfo->fix.smem_start) >> 3, viaparinfo->io_virt + VIA_REG_SRCBASE); /* Destination Base Address */ - writel(((unsigned long) (info->screen_base) - - (unsigned long) viafb_FB_MM) >> 3, + writel((info->fix.smem_start - viafbinfo->fix.smem_start) >> 3, viaparinfo->io_virt + VIA_REG_DSTBASE); /* Pitch */ pitch = (info->var.xres_virtual + 7) & ~7; @@ -951,8 +948,7 @@ static void viafb_imageblit(struct fb_info *info, /* Source Base Address */ writel(0x0, viaparinfo->io_virt + VIA_REG_SRCBASE); /* Destination Base Address */ - writel(((unsigned long) (info->screen_base) - - (unsigned long) viafb_FB_MM) >> 3, + writel((info->fix.smem_start - viafbinfo->fix.smem_start) >> 3, viaparinfo->io_virt + VIA_REG_DSTBASE); /* Pitch */ pitch = (info->var.xres_virtual + 7) & ~7; @@ -1170,7 +1166,7 @@ static int viafb_cursor(struct fb_info *info, struct fb_cursor *cursor) } } - memcpy(((struct viafb_par *)(info->par))->fbmem_virt + + memcpy(viafbinfo->screen_base + ((struct viafb_par *)(info->par))->cursor_start, cr_data->bak, CURSOR_SIZE); out: @@ -2073,11 +2069,9 @@ static int __devinit via_pci_probe(void) viafb_get_fb_info(&viaparinfo->fbmem, &viaparinfo->memsize); viaparinfo->fbmem_free = viaparinfo->memsize; viaparinfo->fbmem_used = 0; - viaparinfo->fbmem_virt = ioremap_nocache(viaparinfo->fbmem, + viafbinfo->screen_base = ioremap_nocache(viaparinfo->fbmem, viaparinfo->memsize); - viafbinfo->screen_base = (char *)viaparinfo->fbmem_virt; - - if (!viaparinfo->fbmem_virt) { + if (!viafbinfo->screen_base) { printk(KERN_INFO "ioremap failed\n"); return -ENOMEM; } @@ -2110,7 +2104,6 @@ static int __devinit via_pci_probe(void) viafb_second_size * 1024 * 1024; } - viafb_FB_MM = viaparinfo->fbmem_virt; tmpm = viafb_mode; tmpc = strsep(&tmpm, "x"); strict_strtoul(tmpc, 0, &default_xres); @@ -2203,8 +2196,6 @@ static int __devinit via_pci_probe(void) viaparinfo1->memsize = viaparinfo->memsize - viafb_second_offset; viaparinfo->memsize = viafb_second_offset; - viaparinfo1->fbmem_virt = viaparinfo->fbmem_virt + - viafb_second_offset; viaparinfo1->fbmem = viaparinfo->fbmem + viafb_second_offset; viaparinfo1->fbmem_used = viaparinfo->fbmem_used; @@ -2226,8 +2217,6 @@ static int __devinit via_pci_probe(void) memcpy(viafbinfo1, viafbinfo, sizeof(struct fb_info)); viafbinfo1->screen_base = viafbinfo->screen_base + viafb_second_offset; - viafbinfo1->fix.smem_start = viaparinfo1->fbmem; - viafbinfo1->fix.smem_len = viaparinfo1->fbmem_free; default_var.xres = viafb_second_xres; default_var.yres = viafb_second_yres; @@ -2289,7 +2278,7 @@ static void __devexit via_pci_remove(void) unregister_framebuffer(viafbinfo); if (viafb_dual_fb) unregister_framebuffer(viafbinfo1); - iounmap((void *)viaparinfo->fbmem_virt); + iounmap((void *)viafbinfo->screen_base); iounmap(viaparinfo->io_virt); viafb_delete_i2c_buss(viaparinfo); diff --git a/drivers/video/via/viafbdev.h b/drivers/video/via/viafbdev.h index 92318770107e..e5a247c1bb91 100644 --- a/drivers/video/via/viafbdev.h +++ b/drivers/video/via/viafbdev.h @@ -38,7 +38,6 @@ #define VERSION_MINOR 4 struct viafb_par { - void __iomem *fbmem_virt; /*framebuffer virtual memory address */ void __iomem *io_virt; /*iospace virtual memory address */ unsigned int fbmem; /*framebuffer physical memory address */ unsigned int memsize; /*size of fbmem */