Re: [Linux-fbdev-devel] [PATCH 3/3] drivers/video: Correct use of request_region/request_mem_region
From: Julia Lawall <hidden>
Date: 2009-08-09 09:37:24
Also in:
kernel-janitors, linux-fbdev, lkml
Thanks forthe information. I will fix the occurrences in gbefb.c and then submit a revised vesion of the complete patch. julia On Sun, 9 Aug 2009, Geert Uytterhoeven wrote:
On Sun, Aug 9, 2009 at 09:44, Julia Lawall[off-list ref] wrote:quoted
From: Julia Lawall <redacted> request_region should be used with release_region, not request_mem_region. The semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @r1@ expression start; @@ request_region(start,...) @b1@ expression r1.start; @@ request_mem_region(start,...) @depends on !b1@ expression r1.start; expression E; @@ - release_mem_region + release_region (start,E) // </smpl> Signed-off-by: Julia Lawall <redacted> --- drivers/video/gbefb.c | 4 ++-- drivers/video/tdfxfb.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff -u -p a/drivers/video/gbefb.c b/drivers/video/gbefb.c--- a/drivers/video/gbefb.c +++ b/drivers/video/gbefb.c@@ -1246,7 +1246,7 @@ out_tiles_free:out_unmap: iounmap(gbe); out_release_mem_region: - release_mem_region(GBE_BASE, sizeof(struct sgi_gbe)); + release_region(GBE_BASE, sizeof(struct sgi_gbe));GBE_BASE seems to be MMIO (it's mapped using ioremap()), so it looks like the release_mem_region() is actually correct, while the request_region() should be request_mem_region() insteadquoted
out_release_framebuffer: framebuffer_release(info);@@ -1265,7 +1265,7 @@ static int __devexit gbefb_remove(structiounmap(gbe_mem); dma_free_coherent(NULL, GBE_TLB_SIZE * sizeof(uint16_t), (void *)gbe_tiles.cpu, gbe_tiles.dma); - release_mem_region(GBE_BASE, sizeof(struct sgi_gbe)); + release_region(GBE_BASE, sizeof(struct sgi_gbe));Ditto.quoted
diff -u -p a/drivers/video/tdfxfb.c b/drivers/video/tdfxfb.c--- a/drivers/video/tdfxfb.c +++ b/drivers/video/tdfxfb.c@@ -1571,8 +1571,8 @@ out_err_iobase:if (default_par->mtrr_handle >= 0) mtrr_del(default_par->mtrr_handle, info->fix.smem_start, info->fix.smem_len); - release_mem_region(pci_resource_start(pdev, 2), - pci_resource_len(pdev, 2)); + release_region(pci_resource_start(pdev, 2), + pci_resource_len(pdev, 2)); out_err_screenbase: if (info->screen_base) iounmap(info->screen_base);This one looks OK. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds -- To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html