sm501: fix missing uses of resource_size()
authorBen Dooks <ben@simtec.co.uk>
Wed, 16 Dec 2009 00:46:33 +0000 (16:46 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 16 Dec 2009 15:20:02 +0000 (07:20 -0800)
There are several places in the SM501 fb driver that could do with using
resource_size() to calculate the size of a resource.

Also fix a bug where request_mem_region() is being passed one too few
bytes when requesting the register memory region, which was causing the
following in /proc/iomem:

 13e80000-13e8ffff : sm501-fb.0
   13e80000-13e8fffe : sm501-fb

fixed, this reads:

 13e80000-13e8ffff : sm501-fb.0
   13e80000-13e8ffff : sm501-fb

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Simtec Linux Team <linux@simtec.co.uk>
Cc: Vincent Sanders <vince@simtec.co.uk>
Cc: Krzysztof Helt <krzysztof.h1@poczta.fm>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/video/sm501fb.c

index 924d79462780c5eb34ee79f5dfa0fb61dec193f8..95be9e90e8b82f5a5585ad6d878dff0244ce075e 100644 (file)
@@ -1338,7 +1338,7 @@ static int sm501fb_start(struct sm501fb_info *info,
        }
 
        info->regs_res = request_mem_region(res->start,
-                                           res->end - res->start,
+                                           resource_size(res),
                                            pdev->name);
 
        if (info->regs_res == NULL) {
@@ -1347,7 +1347,7 @@ static int sm501fb_start(struct sm501fb_info *info,
                goto err_release;
        }
 
-       info->regs = ioremap(res->start, (res->end - res->start)+1);
+       info->regs = ioremap(res->start, resource_size(res));
        if (info->regs == NULL) {
                dev_err(dev, "cannot remap registers\n");
                ret = -ENXIO;
@@ -1363,7 +1363,7 @@ static int sm501fb_start(struct sm501fb_info *info,
        }
 
        info->fbmem_res = request_mem_region(res->start,
-                                            (res->end - res->start)+1,
+                                            resource_size(res),
                                             pdev->name);
        if (info->fbmem_res == NULL) {
                dev_err(dev, "cannot claim framebuffer\n");
@@ -1371,13 +1371,13 @@ static int sm501fb_start(struct sm501fb_info *info,
                goto err_regs_map;
        }
 
-       info->fbmem = ioremap(res->start, (res->end - res->start)+1);
+       info->fbmem = ioremap(res->start, resource_size(res));
        if (info->fbmem == NULL) {
                dev_err(dev, "cannot remap framebuffer\n");
                goto err_mem_res;
        }
 
-       info->fbmem_len = (res->end - res->start)+1;
+       info->fbmem_len = resource_size(res);
 
        /* clear framebuffer memory - avoids garbage data on unused fb */
        memset(info->fbmem, 0, info->fbmem_len);