diff options
Diffstat (limited to 'drivers/video/msm/mdp.c')
-rw-r--r-- | drivers/video/msm/mdp.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/video/msm/mdp.c b/drivers/video/msm/mdp.c index c3636d5..cb2ddf1 100644 --- a/drivers/video/msm/mdp.c +++ b/drivers/video/msm/mdp.c @@ -28,6 +28,7 @@ #include <mach/msm_iomap.h> #include <mach/msm_fb.h> #include <linux/platform_device.h> +#include <linux/export.h> #include "mdp_hw.h" @@ -406,8 +407,7 @@ int mdp_probe(struct platform_device *pdev) goto error_get_irq; } - mdp->base = ioremap(resource->start, - resource->end - resource->start); + mdp->base = ioremap(resource->start, resource_size(resource)); if (mdp->base == 0) { printk(KERN_ERR "msmfb: cannot allocate mdp regs!\n"); ret = -ENOMEM; @@ -422,10 +422,11 @@ int mdp_probe(struct platform_device *pdev) clk = clk_get(&pdev->dev, "mdp_clk"); if (IS_ERR(clk)) { printk(KERN_INFO "mdp: failed to get mdp clk"); - return PTR_ERR(clk); + ret = PTR_ERR(clk); + goto error_get_clk; } - ret = request_irq(mdp->irq, mdp_isr, IRQF_DISABLED, "msm_mdp", mdp); + ret = request_irq(mdp->irq, mdp_isr, 0, "msm_mdp", mdp); if (ret) goto error_request_irq; disable_irq(mdp->irq); @@ -496,6 +497,7 @@ int mdp_probe(struct platform_device *pdev) error_device_register: free_irq(mdp->irq, mdp); error_request_irq: +error_get_clk: iounmap(mdp->base); error_get_irq: error_ioremap: |