video: hpfb: use resource_size()
authoraxel lin <axel.lin@gmail.com>
Sat, 29 Jan 2011 09:33:48 +0000 (09:33 +0000)
committerPaul Mundt <lethal@linux-sh.org>
Tue, 22 Mar 2011 07:07:32 +0000 (16:07 +0900)
The size calculation is done incorrectly here because it should include
both the start and end (end - start + 1).

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
drivers/video/hpfb.c

index c8e280f..ebf8495 100644 (file)
@@ -321,11 +321,11 @@ static int __devinit hpfb_dio_probe(struct dio_dev * d, const struct dio_device_
        unsigned long paddr, vaddr;
 
        paddr = d->resource.start;
-       if (!request_mem_region(d->resource.start, d->resource.end - d->resource.start, d->name))
+       if (!request_mem_region(d->resource.start, resource_size(&d->resource), d->name))
                 return -EBUSY;
 
        if (d->scode >= DIOII_SCBASE) {
-               vaddr = (unsigned long)ioremap(paddr, d->resource.end - d->resource.start);
+               vaddr = (unsigned long)ioremap(paddr, resource_size(&d->resource));
        } else {
                vaddr = paddr + DIO_VIRADDRBASE;
        }
@@ -344,7 +344,7 @@ static void __devexit hpfb_remove_one(struct dio_dev *d)
        unregister_framebuffer(&fb_info);
        if (d->scode >= DIOII_SCBASE)
                iounmap((void *)fb_regs);
-        release_mem_region(d->resource.start, d->resource.end - d->resource.start);
+       release_mem_region(d->resource.start, resource_size(&d->resource));
 }
 
 static struct dio_device_id hpfb_dio_tbl[] = {