]> err.no Git - linux-2.6/blobdiff - drivers/rtc/rtc-sh.c
Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
[linux-2.6] / drivers / rtc / rtc-sh.c
index 6abf4811958c3969270fb09e3f8fffd23b656013..93ee05eeaeba810f6bda495c5655cccc4031de7f 100644 (file)
@@ -104,7 +104,7 @@ static irqreturn_t sh_rtc_interrupt(int irq, void *dev_id)
 
        writeb(tmp, rtc->regbase + RCR1);
 
-       rtc_update_irq(&rtc->rtc_dev, 1, events);
+       rtc_update_irq(rtc->rtc_dev, 1, events);
 
        spin_unlock(&rtc->lock);
 
@@ -139,7 +139,7 @@ static irqreturn_t sh_rtc_alarm(int irq, void *dev_id)
 
                rtc->rearm_aie = 1;
 
-               rtc_update_irq(&rtc->rtc_dev, 1, events);
+               rtc_update_irq(rtc->rtc_dev, 1, events);
        }
 
        spin_unlock(&rtc->lock);
@@ -153,7 +153,7 @@ static irqreturn_t sh_rtc_periodic(int irq, void *dev_id)
 
        spin_lock(&rtc->lock);
 
-       rtc_update_irq(&rtc->rtc_dev, 1, RTC_PF | RTC_IRQF);
+       rtc_update_irq(rtc->rtc_dev, 1, RTC_PF | RTC_IRQF);
 
        spin_unlock(&rtc->lock);
 
@@ -341,7 +341,7 @@ static int sh_rtc_read_time(struct device *dev, struct rtc_time *tm)
                tm->tm_sec--;
 #endif
 
-       dev_dbg(&dev, "%s: tm is secs=%d, mins=%d, hours=%d, "
+       dev_dbg(dev, "%s: tm is secs=%d, mins=%d, hours=%d, "
                "mday=%d, mon=%d, year=%d, wday=%d\n",
                __FUNCTION__,
                tm->tm_sec, tm->tm_min, tm->tm_hour,
@@ -365,6 +365,7 @@ static int sh_rtc_set_time(struct device *dev, struct rtc_time *tm)
        /* Reset pre-scaler & stop RTC */
        tmp = readb(rtc->regbase + RCR2);
        tmp |= RCR2_RESET;
+       tmp &= ~RCR2_START;
        writeb(tmp, rtc->regbase + RCR2);
 
        writeb(BIN2BCD(tm->tm_sec),  rtc->regbase + RSECCNT);