m68knommu: fix 68360 local setting of timer interrupt handler
Compiling for 68360 based targets fails with: arch/m68k/platform/68360/config.c: In function ‘hw_tick’: arch/m68k/platform/68360/config.c:55:2: error: implicit declaration of function ‘arch_timer_interrupt’ arch/m68k/platform/68360/config.c: At top level: arch/m68k/platform/68360/config.c:64:6: error: conflicting types for ‘hw_timer_init’ arch/m68k/include/asm/machdep.h:36:13: note: previous declaration of ‘hw_timer_init’ was here Changes made to hw_timer_init() didn't get updated in the 68328 timer code. So process and call the "handler" arg that is now passed into that hw_timer_init() function. Signed-off-by: Greg Ungerer <gerg@uclinux.org>
This commit is contained in:
@@ -35,6 +35,7 @@ extern void m360_cpm_reset(void);
|
|||||||
#define OSCILLATOR (unsigned long int)33000000
|
#define OSCILLATOR (unsigned long int)33000000
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
static irq_handler_t timer_interrupt;
|
||||||
unsigned long int system_clock;
|
unsigned long int system_clock;
|
||||||
|
|
||||||
extern QUICC *pquicc;
|
extern QUICC *pquicc;
|
||||||
@@ -52,7 +53,7 @@ static irqreturn_t hw_tick(int irq, void *dummy)
|
|||||||
|
|
||||||
pquicc->timer_ter1 = 0x0002; /* clear timer event */
|
pquicc->timer_ter1 = 0x0002; /* clear timer event */
|
||||||
|
|
||||||
return arch_timer_interrupt(irq, dummy);
|
return timer_interrupt(irq, dummy);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct irqaction m68360_timer_irq = {
|
static struct irqaction m68360_timer_irq = {
|
||||||
@@ -61,7 +62,7 @@ static struct irqaction m68360_timer_irq = {
|
|||||||
.handler = hw_tick,
|
.handler = hw_tick,
|
||||||
};
|
};
|
||||||
|
|
||||||
void hw_timer_init(void)
|
void hw_timer_init(irq_handler_t handler)
|
||||||
{
|
{
|
||||||
unsigned char prescaler;
|
unsigned char prescaler;
|
||||||
unsigned short tgcr_save;
|
unsigned short tgcr_save;
|
||||||
@@ -94,6 +95,8 @@ void hw_timer_init(void)
|
|||||||
|
|
||||||
pquicc->timer_ter1 = 0x0003; /* clear timer events */
|
pquicc->timer_ter1 = 0x0003; /* clear timer events */
|
||||||
|
|
||||||
|
timer_interrupt = handler;
|
||||||
|
|
||||||
/* enable timer 1 interrupt in CIMR */
|
/* enable timer 1 interrupt in CIMR */
|
||||||
setup_irq(CPMVEC_TIMER1, &m68360_timer_irq);
|
setup_irq(CPMVEC_TIMER1, &m68360_timer_irq);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user