|
@@ -77,18 +77,20 @@ static irqreturn_t s3c_rtc_tickirq(int irq, void *id)
|
|
}
|
|
}
|
|
|
|
|
|
/* Update control registers */
|
|
/* Update control registers */
|
|
-static void s3c_rtc_setaie(int to)
|
|
|
|
|
|
+static int s3c_rtc_setaie(struct device *dev, unsigned int enabled)
|
|
{
|
|
{
|
|
unsigned int tmp;
|
|
unsigned int tmp;
|
|
|
|
|
|
- pr_debug("%s: aie=%d\n", __func__, to);
|
|
|
|
|
|
+ pr_debug("%s: aie=%d\n", __func__, enabled);
|
|
|
|
|
|
tmp = readb(s3c_rtc_base + S3C2410_RTCALM) & ~S3C2410_RTCALM_ALMEN;
|
|
tmp = readb(s3c_rtc_base + S3C2410_RTCALM) & ~S3C2410_RTCALM_ALMEN;
|
|
|
|
|
|
- if (to)
|
|
|
|
|
|
+ if (enabled)
|
|
tmp |= S3C2410_RTCALM_ALMEN;
|
|
tmp |= S3C2410_RTCALM_ALMEN;
|
|
|
|
|
|
writeb(tmp, s3c_rtc_base + S3C2410_RTCALM);
|
|
writeb(tmp, s3c_rtc_base + S3C2410_RTCALM);
|
|
|
|
+
|
|
|
|
+ return 0;
|
|
}
|
|
}
|
|
|
|
|
|
static int s3c_rtc_setpie(struct device *dev, int enabled)
|
|
static int s3c_rtc_setpie(struct device *dev, int enabled)
|
|
@@ -308,7 +310,7 @@ static int s3c_rtc_setalarm(struct device *dev, struct rtc_wkalrm *alrm)
|
|
|
|
|
|
writeb(alrm_en, base + S3C2410_RTCALM);
|
|
writeb(alrm_en, base + S3C2410_RTCALM);
|
|
|
|
|
|
- s3c_rtc_setaie(alrm->enabled);
|
|
|
|
|
|
+ s3c_rtc_setaie(dev, alrm->enabled);
|
|
|
|
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
@@ -440,7 +442,7 @@ static int __devexit s3c_rtc_remove(struct platform_device *dev)
|
|
rtc_device_unregister(rtc);
|
|
rtc_device_unregister(rtc);
|
|
|
|
|
|
s3c_rtc_setpie(&dev->dev, 0);
|
|
s3c_rtc_setpie(&dev->dev, 0);
|
|
- s3c_rtc_setaie(0);
|
|
|
|
|
|
+ s3c_rtc_setaie(&dev->dev, 0);
|
|
|
|
|
|
clk_disable(rtc_clk);
|
|
clk_disable(rtc_clk);
|
|
clk_put(rtc_clk);
|
|
clk_put(rtc_clk);
|