Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'fbdev-for-7.1-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev

Pull fbdev fixes from Helge Deller:

- request memory region before use (cobalt_lcdfb, clps711x-fb, hgafb)

- reference cleanups in failure path (offb, savage)

- a spelling fix (atyfb)

* tag 'fbdev-for-7.1-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev:
fbdev: hgafb: Request memory region before ioremap
fbdev: clps711x-fb: Request memory region for MMIO
fbdev: cobalt_lcdfb: Request memory region
fbdev: atyfb: Fix spelling mistake "enfore" -> "enforce"
fbdev: savage: fix probe-path EDID cleanup leaks
fbdev: offb: fix PCI device reference leak on probe failure

+22 -19
+1 -1
drivers/video/fbdev/aty/radeon_monitor.c
··· 654 654 { 655 655 #ifdef CONFIG_PPC 656 656 /* 657 - * LCD Flat panels should use fixed dividers, we enfore that on 657 + * LCD Flat panels should use fixed dividers, we enforce that on 658 658 * PPC only for now... 659 659 */ 660 660 if (!rinfo->panel_info.use_bios_dividers && rinfo->mon1_type == MT_LCD
+3 -6
drivers/video/fbdev/clps711x-fb.c
··· 216 216 cfb = info->par; 217 217 platform_set_drvdata(pdev, info); 218 218 219 - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 220 - if (!res) 221 - goto out_fb_release; 222 - cfb->base = devm_ioremap(dev, res->start, resource_size(res)); 223 - if (!cfb->base) { 224 - ret = -ENOMEM; 219 + cfb->base = devm_platform_get_and_ioremap_resource(pdev, 0, &res); 220 + if (IS_ERR(cfb->base)) { 221 + ret = PTR_ERR(cfb->base); 225 222 goto out_fb_release; 226 223 } 227 224
+3 -9
drivers/video/fbdev/cobalt_lcdfb.c
··· 295 295 if (!info) 296 296 return -ENOMEM; 297 297 298 - res = platform_get_resource(dev, IORESOURCE_MEM, 0); 299 - if (!res) { 298 + info->screen_base = devm_platform_get_and_ioremap_resource(dev, 0, &res); 299 + if (IS_ERR(info->screen_base)) { 300 300 framebuffer_release(info); 301 - return -EBUSY; 301 + return PTR_ERR(info->screen_base); 302 302 } 303 303 304 304 info->screen_size = resource_size(res); 305 - info->screen_base = devm_ioremap(&dev->dev, res->start, 306 - info->screen_size); 307 - if (!info->screen_base) { 308 - framebuffer_release(info); 309 - return -ENOMEM; 310 - } 311 305 312 306 info->fbops = &cobalt_lcd_fbops; 313 307 info->fix = cobalt_lcdfb_fix;
+7 -2
drivers/video/fbdev/hgafb.c
··· 276 276 spin_unlock_irqrestore(&hga_reg_lock, flags); 277 277 } 278 278 279 - static int hga_card_detect(void) 279 + static int hga_card_detect(struct platform_device *pdev) 280 280 { 281 281 int count = 0; 282 282 void __iomem *p, *q; 283 283 unsigned short p_save, q_save; 284 284 285 285 hga_vram_len = 0x08000; 286 + 287 + if (!devm_request_mem_region(&pdev->dev, 0xb0000, hga_vram_len, "hgafb")) { 288 + dev_err(&pdev->dev, "cannot reserve video memory at 0xb0000\n"); 289 + return -EBUSY; 290 + } 286 291 287 292 hga_vram = ioremap(0xb0000, hga_vram_len); 288 293 if (!hga_vram) ··· 573 568 struct fb_info *info; 574 569 int ret; 575 570 576 - ret = hga_card_detect(); 571 + ret = hga_card_detect(pdev); 577 572 if (ret) 578 573 return ret; 579 574
+6 -1
drivers/video/fbdev/offb.c
··· 640 640 vid = be32_to_cpup(vidp); 641 641 did = be32_to_cpup(didp); 642 642 pdev = pci_get_device(vid, did, NULL); 643 - if (!pdev || pci_enable_device(pdev)) 643 + if (!pdev) 644 644 return; 645 + 646 + if (pci_enable_device(pdev)) { 647 + pci_dev_put(pdev); 648 + return; 649 + } 645 650 } 646 651 #endif 647 652 /* kludge for valkyrie */
+2
drivers/video/fbdev/savage/savagefb_driver.c
··· 2322 2322 failed: 2323 2323 #ifdef CONFIG_FB_SAVAGE_I2C 2324 2324 savagefb_delete_i2c_busses(info); 2325 + fb_destroy_modelist(&info->modelist); 2326 + fb_destroy_modedb(info->monspecs.modedb); 2325 2327 #endif 2326 2328 fb_alloc_cmap(&info->cmap, 0, 0); 2327 2329 savage_unmap_video(info);