diff options
author | Stephen Warren <swarren@nvidia.com> | 2012-11-07 19:24:28 -0500 |
---|---|---|
committer | Stephen Warren <swarren@nvidia.com> | 2012-12-24 11:36:37 -0500 |
commit | 656c669bc0cb9d2a621318b4b7300e8072930278 (patch) | |
tree | c05dcd73c3dd062cc8ca13bfa228ea84a1dea45f /arch/arm | |
parent | 8726e96fcb29298351c777670742b553ca947508 (diff) |
ARM: samsung: register syscore_ops for timer resume directly
Instead of using struct sys_timer's resume function, register syscore_ops
directly in s3c2410_timer_init(). This will allow the sys_timer suspend/
resume fields to be removed, and eventually lead to a complete removal of
struct sys_timer.
Cc: Ben Dooks <ben-linux@fluff.org>
Cc: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/plat-samsung/time.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/arm/plat-samsung/time.c b/arch/arm/plat-samsung/time.c index 67206df94aa8..773745a85f0f 100644 --- a/arch/arm/plat-samsung/time.c +++ b/arch/arm/plat-samsung/time.c | |||
@@ -27,6 +27,7 @@ | |||
27 | #include <linux/clk.h> | 27 | #include <linux/clk.h> |
28 | #include <linux/io.h> | 28 | #include <linux/io.h> |
29 | #include <linux/platform_device.h> | 29 | #include <linux/platform_device.h> |
30 | #include <linux/syscore_ops.h> | ||
30 | 31 | ||
31 | #include <asm/mach-types.h> | 32 | #include <asm/mach-types.h> |
32 | 33 | ||
@@ -271,6 +272,10 @@ static void __init s3c2410_timer_resources(void) | |||
271 | clk_enable(tin); | 272 | clk_enable(tin); |
272 | } | 273 | } |
273 | 274 | ||
275 | static struct syscore_ops s3c24xx_syscore_ops = { | ||
276 | .resume = s3c2410_timer_setup, | ||
277 | }; | ||
278 | |||
274 | static void __init s3c2410_timer_init(void) | 279 | static void __init s3c2410_timer_init(void) |
275 | { | 280 | { |
276 | arch_gettimeoffset = s3c2410_gettimeoffset; | 281 | arch_gettimeoffset = s3c2410_gettimeoffset; |
@@ -278,9 +283,9 @@ static void __init s3c2410_timer_init(void) | |||
278 | s3c2410_timer_resources(); | 283 | s3c2410_timer_resources(); |
279 | s3c2410_timer_setup(); | 284 | s3c2410_timer_setup(); |
280 | setup_irq(IRQ_TIMER4, &s3c2410_timer_irq); | 285 | setup_irq(IRQ_TIMER4, &s3c2410_timer_irq); |
286 | register_syscore_ops(&s3c24xx_syscore_ops); | ||
281 | } | 287 | } |
282 | 288 | ||
283 | struct sys_timer s3c24xx_timer = { | 289 | struct sys_timer s3c24xx_timer = { |
284 | .init = s3c2410_timer_init, | 290 | .init = s3c2410_timer_init, |
285 | .resume = s3c2410_timer_setup | ||
286 | }; | 291 | }; |