Cc: Sergei Shtylyov <[email protected]>
Signed-off-by: Kevin Hilman <[email protected]>
---
 drivers/ide/palm_bk3710.c |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/drivers/ide/palm_bk3710.c b/drivers/ide/palm_bk3710.c
index f38aac7..6196f76 100644
--- a/drivers/ide/palm_bk3710.c
+++ b/drivers/ide/palm_bk3710.c
@@ -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,19 @@ static int __init palm_bk3710_probe(struct 
platform_device *pdev)
                return -ENODEV;
        }
 
-       if (request_mem_region(mem->start, mem->end - mem->start + 1,
+       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);
-- 
1.6.1


_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to