From 8a19988dafee7dee48ce850cc4f4c880bcf3aa89 Mon Sep 17 00:00:00 2001 From: Stephen Warren Date: Wed, 7 Nov 2012 17:07:45 -0700 Subject: [PATCH] --- yaml --- r: 355175 b: refs/heads/master c: 8726e96fcb29298351c777670742b553ca947508 h: refs/heads/master i: 355173: ec65be7a73c345b10723e85a163048dd24e8a6bc 355171: 453f8607d3cbf7fcf0fab055074342f903505daa 355167: 87fab31b7dfdce74b58f84101f1dd551d9236280 v: v3 --- [refs] | 2 +- trunk/arch/arm/mach-ux500/timer.c | 7 ------ trunk/drivers/clocksource/nomadik-mtu.c | 33 +++++++++++++++---------- 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/[refs] b/[refs] index 11308eac4115..4e6244af059e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e3cbfb6213757429694775aa7e97ee80c98ee2c6 +refs/heads/master: 8726e96fcb29298351c777670742b553ca947508 diff --git a/trunk/arch/arm/mach-ux500/timer.c b/trunk/arch/arm/mach-ux500/timer.c index 875309acb022..46a724493964 100644 --- a/trunk/arch/arm/mach-ux500/timer.c +++ b/trunk/arch/arm/mach-ux500/timer.c @@ -100,13 +100,6 @@ static void __init ux500_timer_init(void) ux500_twd_init(); } -static void ux500_timer_reset(void) -{ - nmdk_clkevt_reset(); - nmdk_clksrc_reset(); -} - struct sys_timer ux500_timer = { .init = ux500_timer_init, - .resume = ux500_timer_reset, }; diff --git a/trunk/drivers/clocksource/nomadik-mtu.c b/trunk/drivers/clocksource/nomadik-mtu.c index 8914c3c1c88b..025afc6dd324 100644 --- a/trunk/drivers/clocksource/nomadik-mtu.c +++ b/trunk/drivers/clocksource/nomadik-mtu.c @@ -134,12 +134,32 @@ static void nmdk_clkevt_mode(enum clock_event_mode mode, } } +void nmdk_clksrc_reset(void) +{ + /* Disable */ + writel(0, mtu_base + MTU_CR(0)); + + /* ClockSource: configure load and background-load, and fire it up */ + writel(nmdk_cycle, mtu_base + MTU_LR(0)); + writel(nmdk_cycle, mtu_base + MTU_BGLR(0)); + + writel(clk_prescale | MTU_CRn_32BITS | MTU_CRn_ENA, + mtu_base + MTU_CR(0)); +} + +static void nmdk_clkevt_resume(struct clock_event_device *cedev) +{ + nmdk_clkevt_reset(); + nmdk_clksrc_reset(); +} + static struct clock_event_device nmdk_clkevt = { .name = "mtu_1", .features = CLOCK_EVT_FEAT_ONESHOT | CLOCK_EVT_FEAT_PERIODIC, .rating = 200, .set_mode = nmdk_clkevt_mode, .set_next_event = nmdk_clkevt_next, + .resume = nmdk_clkevt_resume, }; /* @@ -161,19 +181,6 @@ static struct irqaction nmdk_timer_irq = { .dev_id = &nmdk_clkevt, }; -void nmdk_clksrc_reset(void) -{ - /* Disable */ - writel(0, mtu_base + MTU_CR(0)); - - /* ClockSource: configure load and background-load, and fire it up */ - writel(nmdk_cycle, mtu_base + MTU_LR(0)); - writel(nmdk_cycle, mtu_base + MTU_BGLR(0)); - - writel(clk_prescale | MTU_CRn_32BITS | MTU_CRn_ENA, - mtu_base + MTU_CR(0)); -} - void __init nmdk_timer_init(void __iomem *base, int irq) { unsigned long rate;