Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

+6 -1
+6 -1
arch/arm/plat-samsung/time.c
··· 27 27 #include <linux/clk.h> 28 28 #include <linux/io.h> 29 29 #include <linux/platform_device.h> 30 + #include <linux/syscore_ops.h> 30 31 31 32 #include <asm/mach-types.h> 32 33 ··· 272 271 clk_enable(tin); 273 272 } 274 273 274 + static struct syscore_ops s3c24xx_syscore_ops = { 275 + .resume = s3c2410_timer_setup, 276 + }; 277 + 275 278 static void __init s3c2410_timer_init(void) 276 279 { 277 280 arch_gettimeoffset = s3c2410_gettimeoffset; ··· 283 278 s3c2410_timer_resources(); 284 279 s3c2410_timer_setup(); 285 280 setup_irq(IRQ_TIMER4, &s3c2410_timer_irq); 281 + register_syscore_ops(&s3c24xx_syscore_ops); 286 282 } 287 283 288 284 struct sys_timer s3c24xx_timer = { 289 285 .init = s3c2410_timer_init, 290 - .resume = s3c2410_timer_setup 291 286 };