]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/rtc/rtc-sh.c
rtc: bunch of drivers: fix 'no irq' case handing
[linux-2.6-omap-h63xx.git] / drivers / rtc / rtc-sh.c
index aaf9d6a337cc78181e89413353026e56b9bde272..5ed66acf8ca5113da9a743f54d53b88644a7ab97 100644 (file)
@@ -89,7 +89,9 @@ struct sh_rtc {
        void __iomem *regbase;
        unsigned long regsize;
        struct resource *res;
-       unsigned int alarm_irq, periodic_irq, carry_irq;
+       int alarm_irq;
+       int periodic_irq;
+       int carry_irq;
        struct rtc_device *rtc_dev;
        spinlock_t lock;
        unsigned long capabilities;     /* See asm-sh/rtc.h for cap bits */
@@ -578,7 +580,7 @@ static int __devinit sh_rtc_probe(struct platform_device *pdev)
 
        /* get periodic/carry/alarm irqs */
        ret = platform_get_irq(pdev, 0);
-       if (unlikely(ret < 0)) {
+       if (unlikely(ret <= 0)) {
                ret = -ENOENT;
                dev_err(&pdev->dev, "No IRQ for period\n");
                goto err_badres;
@@ -586,7 +588,7 @@ static int __devinit sh_rtc_probe(struct platform_device *pdev)
        rtc->periodic_irq = ret;
 
        ret = platform_get_irq(pdev, 1);
-       if (unlikely(ret < 0)) {
+       if (unlikely(ret <= 0)) {
                ret = -ENOENT;
                dev_err(&pdev->dev, "No IRQ for carry\n");
                goto err_badres;
@@ -594,7 +596,7 @@ static int __devinit sh_rtc_probe(struct platform_device *pdev)
        rtc->carry_irq = ret;
 
        ret = platform_get_irq(pdev, 2);
-       if (unlikely(ret < 0)) {
+       if (unlikely(ret <= 0)) {
                ret = -ENOENT;
                dev_err(&pdev->dev, "No IRQ for alarm\n");
                goto err_badres;