IDE: palm_bk3710: use ioremap instead of arch-specific IO_ADDRESS()
authorKevin Hilman <khilman@deeprootsystems.com>
Fri, 30 Jan 2009 19:59:27 +0000 (11:59 -0800)
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Fri, 27 Mar 2009 11:46:23 +0000 (12:46 +0100)
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
[bart: minor CodingStyle fixup per Sergei's suggestion]
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
drivers/ide/palm_bk3710.c

index f38aac78044c77617f19fd3d349a1aaf6dd9e286..c7acca0b8733b6f28a79613bdfd15ffd5b123376 100644 (file)
@@ -347,7 +347,7 @@ static int __init palm_bk3710_probe(struct platform_device *pdev)
        struct clk *clk;
        struct resource *mem, *irq;
        void __iomem *base;
-       unsigned long rate;
+       unsigned long rate, mem_size;
        int i, rc;
        hw_regs_t hw, *hws[] = { &hw, NULL, NULL, NULL };
 
@@ -374,13 +374,18 @@ static int __init palm_bk3710_probe(struct platform_device *pdev)
                return -ENODEV;
        }
 
-       if (request_mem_region(mem->start, mem->end - mem->start + 1,
-                              "palm_bk3710") == NULL) {
+       mem_size = mem->end - mem->start + 1;
+       if (request_mem_region(mem->start, mem_size, "palm_bk3710") == NULL) {
                printk(KERN_ERR "failed to request memory region\n");
                return -EBUSY;
        }
 
-       base = IO_ADDRESS(mem->start);
+       base = ioremap(mem->start, mem_size);
+       if (!base) {
+               printk(KERN_ERR "failed to map IO memory\n");
+               release_mem_region(mem->start, mem_size);
+               return -ENOMEM;
+       }
 
        /* Configure the Palm Chip controller */
        palm_bk3710_chipinit(base);