X-Git-Url: http://ftp.safe.ca/?a=blobdiff_plain;f=drivers%2Fvideo%2Fmacfb.c;h=f7d647dda978a7b404b988cbcfc71bee95dbd43f;hb=558b7bd86c32978648cda5deb5c758d77ef0c165;hp=e6cbd9de944acdaa0ab28f9bc88a76263289fd11;hpb=ed1705afb93409a3e345d653be9d263984aa5c1b;p=safe%2Fjmp%2Flinux-2.6 diff --git a/drivers/video/macfb.c b/drivers/video/macfb.c index e6cbd9d..f7d647d 100644 --- a/drivers/video/macfb.c +++ b/drivers/video/macfb.c @@ -20,11 +20,9 @@ #include #include -#include #include #include #include -#include #include #include #include @@ -609,6 +607,22 @@ void __init macfb_setup(char *options) } } +static void __init iounmap_macfb(void) +{ + if (valkyrie_cmap_regs) + iounmap(valkyrie_cmap_regs); + if (dafb_cmap_regs) + iounmap(dafb_cmap_regs); + if (v8_brazil_cmap_regs) + iounmap(v8_brazil_cmap_regs); + if (rbv_cmap_regs) + iounmap(rbv_cmap_regs); + if (civic_cmap_regs) + iounmap(civic_cmap_regs); + if (csc_cmap_regs) + iounmap(csc_cmap_regs); +} + static int __init macfb_init(void) { int video_cmap_len, video_is_nubus = 0; @@ -963,6 +977,10 @@ static int __init macfb_init(void) if (!err) printk("fb%d: %s frame buffer device\n", fb_info.node, fb_info.fix.id); + else { + iounmap(fb_info.screen_base); + iounmap_macfb(); + } return err; }