X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fasm-arm%2Farch-omap%2Ftime.h;fp=arch%2Farm%2Fmach-omap%2Ftime.c;h=85d48121982498d736590537fe99a751e3e34b9c;hb=f9296eb00ed30209424102d3c920e69617eea853;hp=cb3c5d6f7be60f8836ef78d725bc9835678d01c7;hpb=a91482bdcc2e0f6035702e46f1b99043a0893346;p=linux-2.6.git diff --git a/arch/arm/mach-omap/time.c b/include/asm-arm/arch-omap/time.h similarity index 89% rename from arch/arm/mach-omap/time.c rename to include/asm-arm/arch-omap/time.h index cb3c5d6f7..85d481219 100644 --- a/arch/arm/mach-omap/time.c +++ b/include/asm-arm/arch-omap/time.h @@ -1,7 +1,7 @@ /* - * arch/arm/mach-omap/time.c + * linux/include/asm-arm/arch-omap/time.h * - * OMAP Timer Tick + * 32kHz timer definition * * Copyright (C) 2000 RidgeRun, Inc. * Author: Greg Lonnon @@ -26,21 +26,17 @@ * with this program; if not, write to the Free Software Foundation, Inc., * 675 Mass Ave, Cambridge, MA 02139, USA. */ +#if !defined(__ASM_ARCH_OMAP_TIME_H) +#define __ASM_ARCH_OMAP_TIME_H #include -#include -#include #include -#include -#include - #include #include #include #include #include #include -#include #include #ifndef __instrument @@ -166,14 +162,14 @@ unsigned long __noinstrument machinecycles_to_usecs(unsigned long mputicks) */ static unsigned long systimer_mark; -static unsigned long omap_gettimeoffset(void) +static unsigned long omap1510_gettimeoffset(void) { /* Return elapsed usecs since last system timer ISR */ return machinecycles_to_usecs(do_getmachinecycles() - systimer_mark); } static irqreturn_t -omap_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) +omap1510_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) { unsigned long now, ilatency; @@ -188,30 +184,29 @@ omap_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) ilatency = MPUTICKS_PER_SEC / 100 - read_mputimer2(); systimer_mark = now - ilatency; - timer_tick(regs); + do_leds(); + do_timer(regs); + do_profile(regs); return IRQ_HANDLED; } -static struct irqaction omap_timer_irq = { - .name = "OMAP Timer Tick", - .flags = SA_INTERRUPT, - .handler = omap_timer_interrupt -}; - -void __init omap_init_time(void) +void __init time_init(void) { /* Since we don't call request_irq, we must init the structure */ - gettimeoffset = omap_gettimeoffset; + gettimeoffset = omap1510_gettimeoffset; + timer_irq.handler = omap1510_timer_interrupt; + timer_irq.flags = SA_INTERRUPT; #ifdef OMAP1510_USE_32KHZ_TIMER timer32k_write(TIMER32k_CR, 0x0); timer32k_write(TIMER32k_TVR,TIMER32k_PERIOD); - setup_irq(INT_OS_32kHz_TIMER, &omap_timer_irq); + setup_irq(INT_OS_32kHz_TIMER, &timer_irq); start_timer32k(); #else - setup_irq(INT_TIMER2, &omap_timer_irq); + setup_irq(INT_TIMER2, &timer_irq); start_mputimer2(MPUTICKS_PER_SEC / 100 - 1); #endif } +#endif