[<prev] [next>] [day] [month] [year] [list]
Message-Id: <200802120616.m1C6G6rw009982@goober>
Date: Tue, 12 Feb 2008 16:16:06 +1000
From: Greg Ungerer <gerg@...pgear.com>
To: torvalds@...ux-foundation.org
Cc: gerg@...inux.org, linux-kernel@...r.kernel.org
Subject: [M68KNOMMU]: fix profile timer
From: Matt Waddel <Matt.Waddel@...escale.com>
I was looking at timers in the Coldfire system and I
noticed that the CONFIG_HIGHPROFILE option seems to
be a little out of date.
This patch gets it compiling and running on a 2.6.23
uClinux kernel. Please apply if you think it's OK.
Signed-off-by: Greg Ungerer <gerg@...inux.org>
---
diff -Naurp linux-2.6.25-rc1/arch/m68knommu/platform/coldfire/timers.c linux-2.6.x/arch/m68knommu/platform/coldfire/timers.c
--- linux-2.6.25-rc1/arch/m68knommu/platform/coldfire/timers.c 2008-02-11 14:50:21.000000000 +1000
+++ linux-2.6.x/arch/m68knommu/platform/coldfire/timers.c 2008-02-12 14:05:13.000000000 +1000
@@ -148,25 +148,32 @@ irqreturn_t coldfire_profile_tick(int ir
/* Reset ColdFire timer2 */
__raw_writeb(MCFTIMER_TER_CAP | MCFTIMER_TER_REF, PA(MCFTIMER_TER));
if (current->pid)
- profile_tick(CPU_PROFILING, regs);
+ profile_tick(CPU_PROFILING);
return IRQ_HANDLED;
}
/***************************************************************************/
+static struct irqaction coldfire_profile_irq = {
+ .name = "profile timer",
+ .flags = IRQF_DISABLED | IRQF_TIMER,
+ .handler = coldfire_profile_tick,
+};
+
void coldfire_profile_init(void)
{
- printk(KERN_INFO "PROFILE: lodging TIMER2 @ %dHz as profile timer\n", PROFILEHZ);
+ printk(KERN_INFO "PROFILE: lodging TIMER2 @ %dHz as profile timer\n",
+ PROFILEHZ);
+
+ setup_irq(mcf_profilevector, &coldfire_profile_irq);
/* Set up TIMER 2 as high speed profile clock */
__raw_writew(MCFTIMER_TMR_DISABLE, PA(MCFTIMER_TMR));
- __raw_writetrr(((MCF_CLK / 16) / PROFILEHZ), PA(MCFTIMER_TRR));
+ __raw_writetrr(((MCF_BUSCLK / 16) / PROFILEHZ), PA(MCFTIMER_TRR));
__raw_writew(MCFTIMER_TMR_ENORI | MCFTIMER_TMR_CLK16 |
MCFTIMER_TMR_RESTART | MCFTIMER_TMR_ENABLE, PA(MCFTIMER_TMR));
- request_irq(mcf_profilevector, coldfire_profile_tick,
- (IRQF_DISABLED | IRQ_FLG_FAST), "profile timer", NULL);
mcf_settimericr(2, 7);
}
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists