summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/video/fbdev/aty/radeon_monitor.c2
-rw-r--r--drivers/video/fbdev/clps711x-fb.c9
-rw-r--r--drivers/video/fbdev/cobalt_lcdfb.c12
-rw-r--r--drivers/video/fbdev/hgafb.c9
-rw-r--r--drivers/video/fbdev/offb.c7
-rw-r--r--drivers/video/fbdev/savage/savagefb_driver.c2
6 files changed, 22 insertions, 19 deletions
diff --git a/drivers/video/fbdev/aty/radeon_monitor.c b/drivers/video/fbdev/aty/radeon_monitor.c
index df55e23b7a5a..621d13a1a1d9 100644
--- a/drivers/video/fbdev/aty/radeon_monitor.c
+++ b/drivers/video/fbdev/aty/radeon_monitor.c
@@ -654,7 +654,7 @@ static void radeon_fixup_panel_info(struct radeonfb_info *rinfo)
{
#ifdef CONFIG_PPC
/*
- * LCD Flat panels should use fixed dividers, we enfore that on
+ * LCD Flat panels should use fixed dividers, we enforce that on
* PPC only for now...
*/
if (!rinfo->panel_info.use_bios_dividers && rinfo->mon1_type == MT_LCD
diff --git a/drivers/video/fbdev/clps711x-fb.c b/drivers/video/fbdev/clps711x-fb.c
index 5e61a349a4ab..7a7db7100499 100644
--- a/drivers/video/fbdev/clps711x-fb.c
+++ b/drivers/video/fbdev/clps711x-fb.c
@@ -216,12 +216,9 @@ static int clps711x_fb_probe(struct platform_device *pdev)
cfb = info->par;
platform_set_drvdata(pdev, info);
- res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
- if (!res)
- goto out_fb_release;
- cfb->base = devm_ioremap(dev, res->start, resource_size(res));
- if (!cfb->base) {
- ret = -ENOMEM;
+ cfb->base = devm_platform_get_and_ioremap_resource(pdev, 0, &res);
+ if (IS_ERR(cfb->base)) {
+ ret = PTR_ERR(cfb->base);
goto out_fb_release;
}
diff --git a/drivers/video/fbdev/cobalt_lcdfb.c b/drivers/video/fbdev/cobalt_lcdfb.c
index 308967b5096a..f7faa95fefd3 100644
--- a/drivers/video/fbdev/cobalt_lcdfb.c
+++ b/drivers/video/fbdev/cobalt_lcdfb.c
@@ -295,19 +295,13 @@ static int cobalt_lcdfb_probe(struct platform_device *dev)
if (!info)
return -ENOMEM;
- res = platform_get_resource(dev, IORESOURCE_MEM, 0);
- if (!res) {
+ info->screen_base = devm_platform_get_and_ioremap_resource(dev, 0, &res);
+ if (IS_ERR(info->screen_base)) {
framebuffer_release(info);
- return -EBUSY;
+ return PTR_ERR(info->screen_base);
}
info->screen_size = resource_size(res);
- info->screen_base = devm_ioremap(&dev->dev, res->start,
- info->screen_size);
- if (!info->screen_base) {
- framebuffer_release(info);
- return -ENOMEM;
- }
info->fbops = &cobalt_lcd_fbops;
info->fix = cobalt_lcdfb_fix;
diff --git a/drivers/video/fbdev/hgafb.c b/drivers/video/fbdev/hgafb.c
index 14418aa3791a..d32fd1c5217c 100644
--- a/drivers/video/fbdev/hgafb.c
+++ b/drivers/video/fbdev/hgafb.c
@@ -276,7 +276,7 @@ static void hga_blank(int blank_mode)
spin_unlock_irqrestore(&hga_reg_lock, flags);
}
-static int hga_card_detect(void)
+static int hga_card_detect(struct platform_device *pdev)
{
int count = 0;
void __iomem *p, *q;
@@ -284,6 +284,11 @@ static int hga_card_detect(void)
hga_vram_len = 0x08000;
+ if (!devm_request_mem_region(&pdev->dev, 0xb0000, hga_vram_len, "hgafb")) {
+ dev_err(&pdev->dev, "cannot reserve video memory at 0xb0000\n");
+ return -EBUSY;
+ }
+
hga_vram = ioremap(0xb0000, hga_vram_len);
if (!hga_vram)
return -ENOMEM;
@@ -568,7 +573,7 @@ static int hgafb_probe(struct platform_device *pdev)
struct fb_info *info;
int ret;
- ret = hga_card_detect();
+ ret = hga_card_detect(pdev);
if (ret)
return ret;
diff --git a/drivers/video/fbdev/offb.c b/drivers/video/fbdev/offb.c
index f85428e13996..166b2dff36f5 100644
--- a/drivers/video/fbdev/offb.c
+++ b/drivers/video/fbdev/offb.c
@@ -640,8 +640,13 @@ static void offb_init_nodriver(struct platform_device *parent, struct device_nod
vid = be32_to_cpup(vidp);
did = be32_to_cpup(didp);
pdev = pci_get_device(vid, did, NULL);
- if (!pdev || pci_enable_device(pdev))
+ if (!pdev)
return;
+
+ if (pci_enable_device(pdev)) {
+ pci_dev_put(pdev);
+ return;
+ }
}
#endif
/* kludge for valkyrie */
diff --git a/drivers/video/fbdev/savage/savagefb_driver.c b/drivers/video/fbdev/savage/savagefb_driver.c
index ac41f8f37589..c2f79357c8da 100644
--- a/drivers/video/fbdev/savage/savagefb_driver.c
+++ b/drivers/video/fbdev/savage/savagefb_driver.c
@@ -2322,6 +2322,8 @@ static int savagefb_probe(struct pci_dev *dev, const struct pci_device_id *id)
failed:
#ifdef CONFIG_FB_SAVAGE_I2C
savagefb_delete_i2c_busses(info);
+ fb_destroy_modelist(&info->modelist);
+ fb_destroy_modedb(info->monspecs.modedb);
#endif
fb_alloc_cmap(&info->cmap, 0, 0);
savage_unmap_video(info);