misc: ti-st: Adding IORESOURCE_IRQ_OPTIONAL case
[linux-2.6.git] / drivers / misc / atmel_pwm.c
index 5b5a14d..28f5aaa 100644 (file)
@@ -1,6 +1,7 @@
 #include <linux/module.h>
 #include <linux/clk.h>
 #include <linux/err.h>
+#include <linux/slab.h>
 #include <linux/io.h>
 #include <linux/interrupt.h>
 #include <linux/platform_device.h>
@@ -211,8 +212,7 @@ int pwm_clk_alloc(unsigned prescale, unsigned div)
        if ((mr & 0xffff) == 0) {
                mr |= val;
                ret = PWM_CPR_CLKA;
-       }
-       if ((mr & (0xffff << 16)) == 0) {
+       } else if ((mr & (0xffff << 16)) == 0) {
                mr |= val << 16;
                ret = PWM_CPR_CLKB;
        }
@@ -329,7 +329,7 @@ static int __init pwm_probe(struct platform_device *pdev)
        p->pdev = pdev;
        p->mask = *mp;
        p->irq = irq;
-       p->base = ioremap(r->start, r->end - r->start + 1);
+       p->base = ioremap(r->start, resource_size(r));
        if (!p->base)
                goto fail;
        p->clk = clk_get(&pdev->dev, "pwm_clk");