From 6e1a25360946cbe627a52daf8aa3428afa319b35 Mon Sep 17 00:00:00 2001 From: Linus Walleij Date: Thu, 8 Sep 2011 21:22:32 +0100 Subject: [PATCH] --- yaml --- r: 264639 b: refs/heads/master c: 6d8ce7129f6c4c2f8716d6a771d59f263deab898 h: refs/heads/master i: 264637: 1cb800ff90045fdf1d1077aed127a37a74b25a39 264635: 3f8c9b020c34417de864275720f6f0dc91b676c4 264631: 3f6075519a0df0dd6000d7175f678f56c8098c0b 264623: 75d69f930aaa325d5746025f09951edfc97dcc54 264607: a2881c20732b9937411621ea249d5de1b9ba4c69 264575: 8f4e6a9ba9bd95e02c0f0d1ca79134627d46eae8 v: v3 --- [refs] | 2 +- trunk/arch/arm/mach-integrator/integrator_ap.c | 15 +++++---------- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/[refs] b/[refs] index e798a477a9e4..beef6e6134d5 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 02f5632122ccbb6eb0c3b3f612b564b659defb32 +refs/heads/master: 6d8ce7129f6c4c2f8716d6a771d59f263deab898 diff --git a/trunk/arch/arm/mach-integrator/integrator_ap.c b/trunk/arch/arm/mach-integrator/integrator_ap.c index e66a8bce3999..0a6f397f1222 100644 --- a/trunk/arch/arm/mach-integrator/integrator_ap.c +++ b/trunk/arch/arm/mach-integrator/integrator_ap.c @@ -398,12 +398,10 @@ static int clkevt_set_next_event(unsigned long next, struct clock_event_device * static struct clock_event_device integrator_clockevent = { .name = "timer1", - .shift = 34, .features = CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT, .set_mode = clkevt_set_mode, .set_next_event = clkevt_set_next_event, .rating = 300, - .cpumask = cpu_all_mask, }; static struct irqaction integrator_timer_irq = { @@ -415,9 +413,9 @@ static struct irqaction integrator_timer_irq = { static void integrator_clockevent_init(u32 khz) { - struct clock_event_device *evt = &integrator_clockevent; unsigned int ctrl = 0; + /* Calculate and program a divisor */ if (khz * 1000 > 0x100000 * HZ) { khz /= 256; ctrl |= TIMER_CTRL_DIV256; @@ -425,17 +423,14 @@ static void integrator_clockevent_init(u32 khz) khz /= 16; ctrl |= TIMER_CTRL_DIV16; } - timer_reload = khz * 1000 / HZ; writel(ctrl, clkevt_base + TIMER_CTRL); - evt->irq = IRQ_TIMERINT1; - evt->mult = div_sc(khz, NSEC_PER_MSEC, evt->shift); - evt->max_delta_ns = clockevent_delta2ns(0xffff, evt); - evt->min_delta_ns = clockevent_delta2ns(0xf, evt); - setup_irq(IRQ_TIMERINT1, &integrator_timer_irq); - clockevents_register_device(evt); + clockevents_config_and_register(&integrator_clockevent, + khz * 1000, + 1, + 0xffffU); } /*