Skip to contentSkip to conversation

rtc: rtc-s3c: fix prototype for s3c_rtc_setaie()

PATCH In review Axel Lin 2 participants 2 messages Feb 11, 2011 – Feb 28, 2011 Real time clock (RTC)

lore
Share & tools
lore

Axel Lin

author
#0 lore raw

PATCH 1/1 rtc: rtc-s3c: fix prototype for s3c_rtc_setaie()

Fix s3c_rtc_setaie() prototype to eliminate below compile warning. drivers/rtc/rtc-s3c.c:383: warning: initialization from incompatible pointer type

---
 drivers/rtc/rtc-s3c.c |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)
drivers/rtc/rtc-s3c.c +7 -5
index cf953ec..b80fa28 100644
@@ -77,18 +77,20 @@ static irqreturn_t s3c_rtc_tickirq(int irq, void *id)
 }
 
 /* Update control registers */
-static void s3c_rtc_setaie(int to)
+static int s3c_rtc_setaie(struct device *dev, unsigned int enabled)
 {
 	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;
 
-	if (to)
+	if (enabled)
 		tmp |= S3C2410_RTCALM_ALMEN;
 
 	writeb(tmp, s3c_rtc_base + S3C2410_RTCALM);
+
+	return 0;
 }
 
 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);
 
-	s3c_rtc_setaie(alrm->enabled);
+	s3c_rtc_setaie(dev, alrm->enabled);
 
 	return 0;
 }
@@ -440,7 +442,7 @@ static int __devexit s3c_rtc_remove(struct platform_device *dev)
 	rtc_device_unregister(rtc);
 
 	s3c_rtc_setpie(&dev->dev, 0);
-	s3c_rtc_setaie(0);
+	s3c_rtc_setaie(&dev->dev, 0);
 
 	clk_disable(rtc_clk);
 	clk_put(rtc_clk);
Signature · 1 line
1.7.2
#1 lore raw
Quoted 46 lines · On Fri, 11 Feb 2011 17:22:52 +0800 Axel Lin <[email protected]> wrote:

Fix s3c_rtc_setaie() prototype to eliminate below compile warning. drivers/rtc/rtc-s3c.c:383: warning: initialization from incompatible pointer type

---
 drivers/rtc/rtc-s3c.c |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)
drivers/rtc/rtc-s3c.c +6 -4
index cf953ec..b80fa28 100644
@@ -77,18 +77,20 @@ static irqreturn_t s3c_rtc_tickirq(int irq, void *id)
 }
 
 /* Update control registers */
-static void s3c_rtc_setaie(int to)
+static int s3c_rtc_setaie(struct device *dev, unsigned int enabled)
 {
 	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;
 
-	if (to)
+	if (enabled)
 		tmp |= S3C2410_RTCALM_ALMEN;
 
 	writeb(tmp, s3c_rtc_base + S3C2410_RTCALM);
+
+	return 0;
 }
 
 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);
 
-	s3c_rtc_setaie(alrm->enabled);
+	s3c_rtc_setaie(dev, alrm->enabled);
 
 	return 0;
 }

drivers/rtc/rtc-s3c.c static int __devexit s3c_rtc_remove(struct platform_device *dev) · line 448

Quoted 8 lines
drivers/rtc/rtc-s3c.c +1 -1
@@ -440,7 +442,7 @@ static int __devexit s3c_rtc_remove(struct platform_device *dev)
 	rtc_device_unregister(rtc);
 
 	s3c_rtc_setpie(&dev->dev, 0);
-	s3c_rtc_setaie(0);
+	s3c_rtc_setaie(&dev->dev, 0);
 
 	clk_disable(rtc_clk);
 	clk_put(rtc_clk);

This does more than fix a warning! The rtc_class_ops.alarm_irq_enable() handler was being passed two arguments where it expected one and it wouldn't have functioned correctly.