Re: [PATCH 05/11] ARM: at91: convert timer suspend/resume to clock_event_device

2012-11-12 Thread Jean-Christophe PLAGNIOL-VILLARD
On 14:01 Thu 08 Nov , Stephen Warren wrote:
> From: Stephen Warren 
> 
> Move at91's timer suspend/resume functions from struct sys_timer
> at91sam926x_timer into struct clock_event_device pit_clkevt. This
> will allow the sys_timer suspend/resume fields to be removed, and
> eventually lead to a complete removal of struct sys_timer.
> 
> Cc: Andrew Victor 
> Cc: Nicolas Ferre 
> Cc: Jean-Christophe Plagniol-Villard 
> Signed-off-by: Stephen Warren 
> ---
look fine

Acked-by: Jean-Christophe PLAGNIOL-VILLARD 

Best Regards,
J.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 05/11] ARM: at91: convert timer suspend/resume to clock_event_device

2012-11-12 Thread Jean-Christophe PLAGNIOL-VILLARD
On 14:01 Thu 08 Nov , Stephen Warren wrote:
 From: Stephen Warren swar...@nvidia.com
 
 Move at91's timer suspend/resume functions from struct sys_timer
 at91sam926x_timer into struct clock_event_device pit_clkevt. This
 will allow the sys_timer suspend/resume fields to be removed, and
 eventually lead to a complete removal of struct sys_timer.
 
 Cc: Andrew Victor li...@maxim.org.za
 Cc: Nicolas Ferre nicolas.fe...@atmel.com
 Cc: Jean-Christophe Plagniol-Villard plagn...@jcrosoft.com
 Signed-off-by: Stephen Warren swar...@nvidia.com
 ---
look fine

Acked-by: Jean-Christophe PLAGNIOL-VILLARD plagn...@jcrosoft.com

Best Regards,
J.
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 05/11] ARM: at91: convert timer suspend/resume to clock_event_device

2012-11-08 Thread Stephen Warren
From: Stephen Warren 

Move at91's timer suspend/resume functions from struct sys_timer
at91sam926x_timer into struct clock_event_device pit_clkevt. This
will allow the sys_timer suspend/resume fields to be removed, and
eventually lead to a complete removal of struct sys_timer.

Cc: Andrew Victor 
Cc: Nicolas Ferre 
Cc: Jean-Christophe Plagniol-Villard 
Signed-off-by: Stephen Warren 
---
 arch/arm/mach-at91/at91sam926x_time.c |   47 ++--
 1 files changed, 26 insertions(+), 21 deletions(-)

diff --git a/arch/arm/mach-at91/at91sam926x_time.c 
b/arch/arm/mach-at91/at91sam926x_time.c
index ffc0957..2794882 100644
--- a/arch/arm/mach-at91/at91sam926x_time.c
+++ b/arch/arm/mach-at91/at91sam926x_time.c
@@ -94,12 +94,38 @@ pit_clkevt_mode(enum clock_event_mode mode, struct 
clock_event_device *dev)
}
 }
 
+static void at91sam926x_pit_suspend(struct clock_event_device *cedev)
+{
+   /* Disable timer */
+   pit_write(AT91_PIT_MR, 0);
+}
+
+static void at91sam926x_pit_reset(void)
+{
+   /* Disable timer and irqs */
+   pit_write(AT91_PIT_MR, 0);
+
+   /* Clear any pending interrupts, wait for PIT to stop counting */
+   while (PIT_CPIV(pit_read(AT91_PIT_PIVR)) != 0)
+   cpu_relax();
+
+   /* Start PIT but don't enable IRQ */
+   pit_write(AT91_PIT_MR, (pit_cycle - 1) | AT91_PIT_PITEN);
+}
+
+static void at91sam926x_pit_resume(struct clock_event_device *cedev)
+{
+   at91sam926x_pit_reset();
+}
+
 static struct clock_event_device pit_clkevt = {
.name   = "pit",
.features   = CLOCK_EVT_FEAT_PERIODIC,
.shift  = 32,
.rating = 100,
.set_mode   = pit_clkevt_mode,
+   .suspend= at91sam926x_pit_suspend,
+   .resume = at91sam926x_pit_resume,
 };
 
 
@@ -140,19 +166,6 @@ static struct irqaction at91sam926x_pit_irq = {
.irq= NR_IRQS_LEGACY + AT91_ID_SYS,
 };
 
-static void at91sam926x_pit_reset(void)
-{
-   /* Disable timer and irqs */
-   pit_write(AT91_PIT_MR, 0);
-
-   /* Clear any pending interrupts, wait for PIT to stop counting */
-   while (PIT_CPIV(pit_read(AT91_PIT_PIVR)) != 0)
-   cpu_relax();
-
-   /* Start PIT but don't enable IRQ */
-   pit_write(AT91_PIT_MR, (pit_cycle - 1) | AT91_PIT_PITEN);
-}
-
 #ifdef CONFIG_OF
 static struct of_device_id pit_timer_ids[] = {
{ .compatible = "atmel,at91sam9260-pit" },
@@ -240,12 +253,6 @@ static void __init at91sam926x_pit_init(void)
clockevents_register_device(_clkevt);
 }
 
-static void at91sam926x_pit_suspend(void)
-{
-   /* Disable timer */
-   pit_write(AT91_PIT_MR, 0);
-}
-
 void __init at91sam926x_ioremap_pit(u32 addr)
 {
 #if defined(CONFIG_OF)
@@ -265,6 +272,4 @@ void __init at91sam926x_ioremap_pit(u32 addr)
 
 struct sys_timer at91sam926x_timer = {
.init   = at91sam926x_pit_init,
-   .suspend= at91sam926x_pit_suspend,
-   .resume = at91sam926x_pit_reset,
 };
-- 
1.7.0.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 05/11] ARM: at91: convert timer suspend/resume to clock_event_device

2012-11-08 Thread Stephen Warren
From: Stephen Warren swar...@nvidia.com

Move at91's timer suspend/resume functions from struct sys_timer
at91sam926x_timer into struct clock_event_device pit_clkevt. This
will allow the sys_timer suspend/resume fields to be removed, and
eventually lead to a complete removal of struct sys_timer.

Cc: Andrew Victor li...@maxim.org.za
Cc: Nicolas Ferre nicolas.fe...@atmel.com
Cc: Jean-Christophe Plagniol-Villard plagn...@jcrosoft.com
Signed-off-by: Stephen Warren swar...@nvidia.com
---
 arch/arm/mach-at91/at91sam926x_time.c |   47 ++--
 1 files changed, 26 insertions(+), 21 deletions(-)

diff --git a/arch/arm/mach-at91/at91sam926x_time.c 
b/arch/arm/mach-at91/at91sam926x_time.c
index ffc0957..2794882 100644
--- a/arch/arm/mach-at91/at91sam926x_time.c
+++ b/arch/arm/mach-at91/at91sam926x_time.c
@@ -94,12 +94,38 @@ pit_clkevt_mode(enum clock_event_mode mode, struct 
clock_event_device *dev)
}
 }
 
+static void at91sam926x_pit_suspend(struct clock_event_device *cedev)
+{
+   /* Disable timer */
+   pit_write(AT91_PIT_MR, 0);
+}
+
+static void at91sam926x_pit_reset(void)
+{
+   /* Disable timer and irqs */
+   pit_write(AT91_PIT_MR, 0);
+
+   /* Clear any pending interrupts, wait for PIT to stop counting */
+   while (PIT_CPIV(pit_read(AT91_PIT_PIVR)) != 0)
+   cpu_relax();
+
+   /* Start PIT but don't enable IRQ */
+   pit_write(AT91_PIT_MR, (pit_cycle - 1) | AT91_PIT_PITEN);
+}
+
+static void at91sam926x_pit_resume(struct clock_event_device *cedev)
+{
+   at91sam926x_pit_reset();
+}
+
 static struct clock_event_device pit_clkevt = {
.name   = pit,
.features   = CLOCK_EVT_FEAT_PERIODIC,
.shift  = 32,
.rating = 100,
.set_mode   = pit_clkevt_mode,
+   .suspend= at91sam926x_pit_suspend,
+   .resume = at91sam926x_pit_resume,
 };
 
 
@@ -140,19 +166,6 @@ static struct irqaction at91sam926x_pit_irq = {
.irq= NR_IRQS_LEGACY + AT91_ID_SYS,
 };
 
-static void at91sam926x_pit_reset(void)
-{
-   /* Disable timer and irqs */
-   pit_write(AT91_PIT_MR, 0);
-
-   /* Clear any pending interrupts, wait for PIT to stop counting */
-   while (PIT_CPIV(pit_read(AT91_PIT_PIVR)) != 0)
-   cpu_relax();
-
-   /* Start PIT but don't enable IRQ */
-   pit_write(AT91_PIT_MR, (pit_cycle - 1) | AT91_PIT_PITEN);
-}
-
 #ifdef CONFIG_OF
 static struct of_device_id pit_timer_ids[] = {
{ .compatible = atmel,at91sam9260-pit },
@@ -240,12 +253,6 @@ static void __init at91sam926x_pit_init(void)
clockevents_register_device(pit_clkevt);
 }
 
-static void at91sam926x_pit_suspend(void)
-{
-   /* Disable timer */
-   pit_write(AT91_PIT_MR, 0);
-}
-
 void __init at91sam926x_ioremap_pit(u32 addr)
 {
 #if defined(CONFIG_OF)
@@ -265,6 +272,4 @@ void __init at91sam926x_ioremap_pit(u32 addr)
 
 struct sys_timer at91sam926x_timer = {
.init   = at91sam926x_pit_init,
-   .suspend= at91sam926x_pit_suspend,
-   .resume = at91sam926x_pit_reset,
 };
-- 
1.7.0.4

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/