aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/cirrusfb.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video/cirrusfb.c')
-rw-r--r--drivers/video/cirrusfb.c19
1 files changed, 7 insertions, 12 deletions
diff --git a/drivers/video/cirrusfb.c b/drivers/video/cirrusfb.c
index a2a09b39c59a..ffc514df2452 100644
--- a/drivers/video/cirrusfb.c
+++ b/drivers/video/cirrusfb.c
@@ -2090,8 +2090,6 @@ static int __devinit cirrusfb_register(struct fb_info *info)
2090 2090
2091err_dealloc_cmap: 2091err_dealloc_cmap:
2092 fb_dealloc_cmap(&info->cmap); 2092 fb_dealloc_cmap(&info->cmap);
2093 cinfo->unmap(info);
2094 framebuffer_release(info);
2095 return err; 2093 return err;
2096} 2094}
2097 2095
@@ -2328,18 +2326,15 @@ static int __devinit cirrusfb_zorro_register(struct zorro_dev *z,
2328 zorro_set_drvdata(z, info); 2326 zorro_set_drvdata(z, info);
2329 2327
2330 ret = cirrusfb_register(info); 2328 ret = cirrusfb_register(info);
2331 if (ret) { 2329 if (!ret)
2332 if (btype == BT_PICASSO4) { 2330 return 0;
2333 iounmap(info->screen_base); 2331
2334 iounmap(cinfo->regbase - 0x600000); 2332 if (btype == BT_PICASSO4 || board_addr > 0x01000000)
2335 } else if (board_addr > 0x01000000) 2333 iounmap(info->screen_base);
2336 iounmap(info->screen_base);
2337 }
2338 return ret;
2339 2334
2340err_unmap_regbase: 2335err_unmap_regbase:
2341 /* Parental advisory: explicit hack */ 2336 if (btype == BT_PICASSO4)
2342 iounmap(cinfo->regbase - 0x600000); 2337 iounmap(cinfo->regbase - 0x600000);
2343err_release_region: 2338err_release_region:
2344 release_region(board_addr, board_size); 2339 release_region(board_addr, board_size);
2345err_release_fb: 2340err_release_fb: