diff --git a/arch/m68knommu/platform/68360/config.c b/arch/m68knommu/platform/68360/config.c index 155b72fe2607ac5f179be1c59b734332e4f2b0c0..2b3196af811f3b92ee9b20e532a7d46acbb91310 100644 --- a/arch/m68knommu/platform/68360/config.c +++ b/arch/m68knommu/platform/68360/config.c @@ -14,8 +14,6 @@ #include #include #include -#include -#include #include #include @@ -40,8 +38,6 @@ extern void m360_cpm_reset(void); unsigned long int system_clock; -void M68360_init_IRQ(void); - extern QUICC *pquicc; /* TODO DON"T Hard Code this */ @@ -49,14 +45,24 @@ extern QUICC *pquicc; // unsigned int system_clock = 33000000l; extern unsigned long int system_clock; //In kernel setup.c -extern void config_M68360_irq(void); + +static irqreturn_t hw_tick(int irq, void *dummy) +{ + /* Reset Timer1 */ + /* TSTAT &= 0; */ + + pquicc->timer_ter1 = 0x0002; /* clear timer event */ + + return arch_timer_interrupt(irq, dummy); +} static struct irqaction m68360_timer_irq = { - .name = "timer", - .flags = IRQF_DISABLED | IRQF_TIMER, + .name = "timer", + .flags = IRQF_DISABLED | IRQF_TIMER, + .handler = hw_tick, }; -void BSP_sched_init(irq_handler_t timer_routine) +void hw_timer_init(void) { unsigned char prescaler; unsigned short tgcr_save; @@ -90,7 +96,6 @@ void BSP_sched_init(irq_handler_t timer_routine) pquicc->timer_ter1 = 0x0003; /* clear timer events */ /* enable timer 1 interrupt in CIMR */ - m68360_timer_irq.handler = timer_routine; setup_irq(CPMVEC_TIMER1, &m68360_timer_irq); /* Start timer 1: */ @@ -98,16 +103,7 @@ void BSP_sched_init(irq_handler_t timer_routine) pquicc->timer_tgcr = tgcr_save; } - -void BSP_tick(void) -{ - /* Reset Timer1 */ - /* TSTAT &= 0; */ - - pquicc->timer_ter1 = 0x0002; /* clear timer event */ -} - -unsigned long BSP_gettimeoffset (void) +unsigned long hw_timer_offset(void) { return 0; } @@ -117,17 +113,7 @@ void BSP_gettod (int *yearp, int *monp, int *dayp, { } -int BSP_hwclk(int op, struct rtc_time *t) -{ - if (!op) { - /* read */ - } else { - /* write */ - } - return 0; -} - -int BSP_set_clock_mmss (unsigned long nowtime) +int BSP_set_clock_mmss(unsigned long nowtime) { #if 0 short real_seconds = nowtime % 60, real_minutes = (nowtime / 60) % 60; @@ -200,11 +186,6 @@ void config_BSP(char *command, int len) scc1_hwaddr = "\00\01\02\03\04\05"; #endif - mach_sched_init = BSP_sched_init; - mach_tick = BSP_tick; - mach_gettimeoffset = BSP_gettimeoffset; mach_gettod = BSP_gettod; - mach_hwclk = NULL; - mach_set_clock_mmss = NULL; mach_reset = BSP_reset; }