diff --git a/arch/m68knommu/platform/68328/timers.c b/arch/m68knommu/platform/68328/timers.c index ef067f4c3cd47b8a241ea364869eda661a469ffc..0396476f955d6de405ba7a62d5c9edb35f3d113a 100644 --- a/arch/m68knommu/platform/68328/timers.c +++ b/arch/m68knommu/platform/68328/timers.c @@ -18,10 +18,10 @@ #include #include #include +#include #include #include #include -#include #include #include @@ -53,14 +53,19 @@ /***************************************************************************/ +static struct irqaction m68328_timer_irq = { + .name = "timer", + .flags = IRQF_DISABLED | IRQF_TIMER, +}; + void m68328_timer_init(irq_handler_t timer_routine) { /* disable timer 1 */ TCTL = 0; /* set ISR */ - if (request_irq(TMR_IRQ_NUM, timer_routine, IRQ_FLG_LOCK, "timer", NULL)) - panic("Unable to attach timer interrupt\n"); + m68328_timer_irq.handler = timer_routine; + setup_irq(TMR_IRQ_NUM, &m68328_timer_irq); /* Restart mode, Enable int, Set clock source */ TCTL = TCTL_OM | TCTL_IRQEN | CLOCK_SOURCE;