diff options
author | Greg Ungerer <gerg@snapgear.com> | 2007-10-24 04:03:25 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-24 05:45:44 +0200 |
commit | 7e6a3d402c97c95ca1f8dc84ad5b69f3118cd2b5 (patch) | |
tree | d151b19f3cbb445ffc6585cfb9b96d4898496c88 | |
parent | m68knommu: cleanup 68328 timer code (diff) | |
download | linux-7e6a3d402c97c95ca1f8dc84ad5b69f3118cd2b5.tar.xz linux-7e6a3d402c97c95ca1f8dc84ad5b69f3118cd2b5.zip |
m68knommu: cleanup 68360 startup code
Clean up 68360 timer support code. Removed header includes not needed.
Remove use of old m68knommu timer function pointers. Use common function
naming for 68328 timer functions.
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | arch/m68knommu/platform/68360/config.c | 51 |
1 files changed, 16 insertions, 35 deletions
diff --git a/arch/m68knommu/platform/68360/config.c b/arch/m68knommu/platform/68360/config.c index 155b72fe2607..2b3196af811f 100644 --- a/arch/m68knommu/platform/68360/config.c +++ b/arch/m68knommu/platform/68360/config.c @@ -14,8 +14,6 @@ #include <linux/types.h> #include <linux/kernel.h> #include <linux/mm.h> -#include <linux/tty.h> -#include <linux/console.h> #include <linux/interrupt.h> #include <linux/irq.h> @@ -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; } |