linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] rtc: rtc-s3c: Fix and Update s3c_rtc_setaie()
@ 2010-11-16  0:02 Kukjin Kim
  2010-11-16  0:02 ` [PATCH 1/3] rtc: rtc-s3c: Fix return type and argument of s3c_rtc_setaie Kukjin Kim
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Kukjin Kim @ 2010-11-16  0:02 UTC (permalink / raw)
  To: linux-arm-kernel

This patch includes fixing s3c_rtc_setaie() function for Samsung SoCs.

[PATCH 1/3] rtc: rtc-s3c: Fix return type and argument of s3c_rtc_setaie
[PATCH 2/3] rtc: rtc-s3c: Add spin_lock_irq in s3c_rtc_setaie
[PATCH 3/3] rtc: rtc-s3c: Change set alarm interrupt method in s3c_rtc_setaie

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 1/3] rtc: rtc-s3c: Fix return type and argument of s3c_rtc_setaie
  2010-11-16  0:02 [PATCH 0/3] rtc: rtc-s3c: Fix and Update s3c_rtc_setaie() Kukjin Kim
@ 2010-11-16  0:02 ` Kukjin Kim
  2010-11-16  1:30   ` Kyungmin Park
  2010-11-16  0:02 ` [PATCH 2/3] rtc: rtc-s3c: Add spin_lock_irq in s3c_rtc_setaie Kukjin Kim
  2010-11-16  0:02 ` [PATCH 3/3] rtc: rtc-s3c: Change set alarm interrupt method " Kukjin Kim
  2 siblings, 1 reply; 6+ messages in thread
From: Kukjin Kim @ 2010-11-16  0:02 UTC (permalink / raw)
  To: linux-arm-kernel

According to struct rtc_class_ops, this patch fixes return type
and argument of s3c_rtc_setaie().

 int (*alarm_irq_enable)(struct device *, unsigned int enabled);

Cc: Ben Dooks <ben-linux@fluff.org>
Cc: Wan ZongShun <mcuos.com@gmail.com>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
---
 drivers/rtc/rtc-s3c.c |   13 +++++++------
 1 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
index cf953ec..e2636ff 100644
--- a/drivers/rtc/rtc-s3c.c
+++ b/drivers/rtc/rtc-s3c.c
@@ -76,19 +76,20 @@ static irqreturn_t s3c_rtc_tickirq(int irq, void *id)
 	return IRQ_HANDLED;
 }
 
-/* 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 +309,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 +441,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);
-- 
1.6.2.5

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 2/3] rtc: rtc-s3c: Add spin_lock_irq in s3c_rtc_setaie
  2010-11-16  0:02 [PATCH 0/3] rtc: rtc-s3c: Fix and Update s3c_rtc_setaie() Kukjin Kim
  2010-11-16  0:02 ` [PATCH 1/3] rtc: rtc-s3c: Fix return type and argument of s3c_rtc_setaie Kukjin Kim
@ 2010-11-16  0:02 ` Kukjin Kim
  2015-05-02 14:00   ` [2/3] " Alexandre Belloni
  2010-11-16  0:02 ` [PATCH 3/3] rtc: rtc-s3c: Change set alarm interrupt method " Kukjin Kim
  2 siblings, 1 reply; 6+ messages in thread
From: Kukjin Kim @ 2010-11-16  0:02 UTC (permalink / raw)
  To: linux-arm-kernel

This patch adds spin_lock_irq() and spin_unlock_irq() during
alarm interrupt configuration to avoid interrupt missing.

Cc: Ben Dooks <ben-linux@fluff.org>
Cc: Wan ZongShun <mcuos.com@gmail.com>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
---
 drivers/rtc/rtc-s3c.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
index e2636ff..bb88027 100644
--- a/drivers/rtc/rtc-s3c.c
+++ b/drivers/rtc/rtc-s3c.c
@@ -82,12 +82,14 @@ static int s3c_rtc_setaie(struct device *dev, unsigned int enabled)
 
 	pr_debug("%s: aie=%d\n", __func__, enabled);
 
+	spin_lock_irq(&s3c_rtc_pie_lock);
 	tmp = readb(s3c_rtc_base + S3C2410_RTCALM) & ~S3C2410_RTCALM_ALMEN;
 
 	if (enabled)
 		tmp |= S3C2410_RTCALM_ALMEN;
 
 	writeb(tmp, s3c_rtc_base + S3C2410_RTCALM);
+	spin_unlock_irq(&s3c_rtc_pie_lock);
 
 	return 0;
 }
-- 
1.6.2.5

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 3/3] rtc: rtc-s3c: Change set alarm interrupt method in s3c_rtc_setaie
  2010-11-16  0:02 [PATCH 0/3] rtc: rtc-s3c: Fix and Update s3c_rtc_setaie() Kukjin Kim
  2010-11-16  0:02 ` [PATCH 1/3] rtc: rtc-s3c: Fix return type and argument of s3c_rtc_setaie Kukjin Kim
  2010-11-16  0:02 ` [PATCH 2/3] rtc: rtc-s3c: Add spin_lock_irq in s3c_rtc_setaie Kukjin Kim
@ 2010-11-16  0:02 ` Kukjin Kim
  2 siblings, 0 replies; 6+ messages in thread
From: Kukjin Kim @ 2010-11-16  0:02 UTC (permalink / raw)
  To: linux-arm-kernel

This patch changes method of setting alarm interrupt.

Cc: Ben Dooks <ben-linux@fluff.org>
Cc: Wan ZongShun <mcuos.com@gmail.com>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
---
 drivers/rtc/rtc-s3c.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
index bb88027..1ccf81c 100644
--- a/drivers/rtc/rtc-s3c.c
+++ b/drivers/rtc/rtc-s3c.c
@@ -83,10 +83,12 @@ static int s3c_rtc_setaie(struct device *dev, unsigned int enabled)
 	pr_debug("%s: aie=%d\n", __func__, enabled);
 
 	spin_lock_irq(&s3c_rtc_pie_lock);
-	tmp = readb(s3c_rtc_base + S3C2410_RTCALM) & ~S3C2410_RTCALM_ALMEN;
+	tmp = readb(s3c_rtc_base + S3C2410_RTCALM);
 
 	if (enabled)
 		tmp |= S3C2410_RTCALM_ALMEN;
+	else
+		tmp &= ~S3C2410_RTCALM_ALMEN;
 
 	writeb(tmp, s3c_rtc_base + S3C2410_RTCALM);
 	spin_unlock_irq(&s3c_rtc_pie_lock);
-- 
1.6.2.5

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 1/3] rtc: rtc-s3c: Fix return type and argument of s3c_rtc_setaie
  2010-11-16  0:02 ` [PATCH 1/3] rtc: rtc-s3c: Fix return type and argument of s3c_rtc_setaie Kukjin Kim
@ 2010-11-16  1:30   ` Kyungmin Park
  0 siblings, 0 replies; 6+ messages in thread
From: Kyungmin Park @ 2010-11-16  1:30 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

It's same patch early.
I used the email address by ./script/get_maintainer.sh

http://groups.google.com/group/linux.kernel/browse_thread/thread/953c417a31756ab9?pli=1

Thank you,
Kyungmin Park

On Tue, Nov 16, 2010 at 9:02 AM, Kukjin Kim <kgene.kim@samsung.com> wrote:
> According to struct rtc_class_ops, this patch fixes return type
> and argument of s3c_rtc_setaie().
>
> ?int (*alarm_irq_enable)(struct device *, unsigned int enabled);
>
> Cc: Ben Dooks <ben-linux@fluff.org>
> Cc: Wan ZongShun <mcuos.com@gmail.com>
> Cc: Alessandro Zummo <a.zummo@towertech.it>
> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
> ---
> ?drivers/rtc/rtc-s3c.c | ? 13 +++++++------
> ?1 files changed, 7 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
> index cf953ec..e2636ff 100644
> --- a/drivers/rtc/rtc-s3c.c
> +++ b/drivers/rtc/rtc-s3c.c
> @@ -76,19 +76,20 @@ static irqreturn_t s3c_rtc_tickirq(int irq, void *id)
> ? ? ? ?return IRQ_HANDLED;
> ?}
>
> -/* 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 +309,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 +441,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);
> --
> 1.6.2.5
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at ?http://vger.kernel.org/majordomo-info.html
>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [2/3] rtc: rtc-s3c: Add spin_lock_irq in s3c_rtc_setaie
  2010-11-16  0:02 ` [PATCH 2/3] rtc: rtc-s3c: Add spin_lock_irq in s3c_rtc_setaie Kukjin Kim
@ 2015-05-02 14:00   ` Alexandre Belloni
  0 siblings, 0 replies; 6+ messages in thread
From: Alexandre Belloni @ 2015-05-02 14:00 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Kukjin,

On 16/11/2010 at 09:02:53 +0900, Kukjin Kim wrote :
> This patch adds spin_lock_irq() and spin_unlock_irq() during
> alarm interrupt configuration to avoid interrupt missing.
> 
> Cc: Ben Dooks <ben-linux@fluff.org>
> Cc: Wan ZongShun <mcuos.com@gmail.com>
> Cc: Alessandro Zummo <a.zummo@towertech.it>
> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>

This patch never made it in the mainline, is it still necessary?

> ---
>  drivers/rtc/rtc-s3c.c |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
> index e2636ff..bb88027 100644
> --- a/drivers/rtc/rtc-s3c.c
> +++ b/drivers/rtc/rtc-s3c.c
> @@ -82,12 +82,14 @@ static int s3c_rtc_setaie(struct device *dev, unsigned int enabled)
>  
>  	pr_debug("%s: aie=%d\n", __func__, enabled);
>  
> +	spin_lock_irq(&s3c_rtc_pie_lock);
>  	tmp = readb(s3c_rtc_base + S3C2410_RTCALM) & ~S3C2410_RTCALM_ALMEN;
>  
>  	if (enabled)
>  		tmp |= S3C2410_RTCALM_ALMEN;
>  
>  	writeb(tmp, s3c_rtc_base + S3C2410_RTCALM);
> +	spin_unlock_irq(&s3c_rtc_pie_lock);
>  
>  	return 0;
>  }

-- 
Alexandre Belloni, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2015-05-02 14:00 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-11-16  0:02 [PATCH 0/3] rtc: rtc-s3c: Fix and Update s3c_rtc_setaie() Kukjin Kim
2010-11-16  0:02 ` [PATCH 1/3] rtc: rtc-s3c: Fix return type and argument of s3c_rtc_setaie Kukjin Kim
2010-11-16  1:30   ` Kyungmin Park
2010-11-16  0:02 ` [PATCH 2/3] rtc: rtc-s3c: Add spin_lock_irq in s3c_rtc_setaie Kukjin Kim
2015-05-02 14:00   ` [2/3] " Alexandre Belloni
2010-11-16  0:02 ` [PATCH 3/3] rtc: rtc-s3c: Change set alarm interrupt method " Kukjin Kim

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).