Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq
[pandora-kernel.git] / drivers / mfd / t7l66xb.c
index bcf4687..da6383a 100644 (file)
@@ -26,6 +26,7 @@
 #include <linux/module.h>
 #include <linux/err.h>
 #include <linux/io.h>
+#include <linux/slab.h>
 #include <linux/irq.h>
 #include <linux/clk.h>
 #include <linux/platform_device.h>
@@ -360,7 +361,7 @@ static int t7l66xb_probe(struct platform_device *dev)
        if (ret)
                goto err_request_scr;
 
-       t7l66xb->scr = ioremap(rscr->start, rscr->end - rscr->start + 1);
+       t7l66xb->scr = ioremap(rscr->start, resource_size(rscr));
        if (!t7l66xb->scr) {
                ret = -ENOMEM;
                goto err_ioremap;
@@ -403,12 +404,12 @@ static int t7l66xb_probe(struct platform_device *dev)
 err_ioremap:
        release_resource(&t7l66xb->rscr);
 err_request_scr:
-       kfree(t7l66xb);
        clk_put(t7l66xb->clk48m);
 err_clk48m_get:
        clk_put(t7l66xb->clk32k);
 err_clk32k_get:
 err_noirq:
+       kfree(t7l66xb);
        return ret;
 }