rtc: rtc-s3c: fix prototype for s3c_rtc_setaie()
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
Signed-off-by Axel Lin <[email protected]>
--- drivers/rtc/rtc-s3c.c | 12 +++++++----- 1 files changed, 7 insertions(+), 5 deletions(-)
drivers/rtc/rtc-s3c.c +7 -5
@@ -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
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 typeSigned-off-by Axel Lin <[email protected]>--- drivers/rtc/rtc-s3c.c | 12 +++++++----- 1 files changed, 7 insertions(+), 5 deletions(-)drivers/rtc/rtc-s3c.c +6
-4@@ -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.