Skip to content

Commit

Permalink
m68knommu: cleanup 68360 startup code
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Greg Ungerer authored and Linus Torvalds committed Oct 24, 2007
1 parent 8467571 commit 7e6a3d4
Showing 1 changed file with 16 additions and 35 deletions.
51 changes: 16 additions & 35 deletions arch/m68knommu/platform/68360/config.c
Original file line number Diff line number Diff line change
Expand Up @@ -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>

Expand All @@ -40,23 +38,31 @@ 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 */
/* calculate properly using the right PLL and prescaller */
// 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;
Expand Down Expand Up @@ -90,24 +96,14 @@ 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: */
tgcr_save = (pquicc->timer_tgcr & 0xfff0) | 0x0001;
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;
}
Expand All @@ -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;
Expand Down Expand Up @@ -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;
}

0 comments on commit 7e6a3d4

Please sign in to comment.