From: "Antonino A. Daplas" Add __iomem annotations to pm2fb Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton --- 25-akpm/drivers/video/pm2fb.c | 19 ++++++++++--------- 1 files changed, 10 insertions(+), 9 deletions(-) diff -puN drivers/video/pm2fb.c~fbdev-add-__iomem-annotations-to-pm2fb drivers/video/pm2fb.c --- 25/drivers/video/pm2fb.c~fbdev-add-__iomem-annotations-to-pm2fb 2004-10-28 19:16:38.116750192 -0700 +++ 25-akpm/drivers/video/pm2fb.c 2004-10-28 19:16:38.120749584 -0700 @@ -97,8 +97,8 @@ struct pm2fb_par { pm2type_t type; /* Board type */ u32 fb_size; /* framebuffer memory size */ - unsigned char* v_fb; /* virtual address of frame buffer */ - unsigned char* v_regs; /* virtual address of p_regs */ + unsigned char __iomem *v_fb; /* virtual address of frame buffer */ + unsigned char __iomem *v_regs;/* virtual address of p_regs */ u32 memclock; /* memclock */ u32 video; /* video flags before blanking */ }; @@ -149,12 +149,12 @@ static struct fb_var_screeninfo pm2fb_va * Utility functions */ -inline static u32 RD32(unsigned char* base, s32 off) +inline static u32 RD32(unsigned char __iomem *base, s32 off) { return fb_readl(base + off); } -inline static void WR32(unsigned char* base, s32 off, u32 v) +inline static void WR32(unsigned char __iomem *base, s32 off, u32 v) { fb_writel(v, base + off); } @@ -1154,10 +1154,10 @@ static int __devinit pm2fb_probe(struct err_exit_all: fb_dealloc_cmap(&info->cmap); err_exit_both: - iounmap((void*) pm2fb_fix.smem_start); + iounmap(info->screen_base); release_mem_region(pm2fb_fix.smem_start, pm2fb_fix.smem_len); err_exit_mmio: - iounmap((void*) pm2fb_fix.mmio_start); + iounmap(default_par->v_regs); release_mem_region(pm2fb_fix.mmio_start, pm2fb_fix.mmio_len); err_exit_neither: framebuffer_release(info); @@ -1175,12 +1175,13 @@ static void __devexit pm2fb_remove(struc { struct fb_info* info = pci_get_drvdata(pdev); struct fb_fix_screeninfo* fix = &info->fix; - + struct pm2fb_par *par = info->par; + unregister_framebuffer(info); - iounmap((void*) fix->smem_start); + iounmap(info->screen_base); release_mem_region(fix->smem_start, fix->smem_len); - iounmap((void*) fix->mmio_start); + iounmap(par->v_regs); release_mem_region(fix->mmio_start, fix->mmio_len); pci_set_drvdata(pdev, NULL); _