tree e41794daea2cd8029b79312ee40fc8bc7b96bf64
parent d9b9d5ddb827dc36cc1f7214f5818640e1bc22d5
author Greg Ungerer <[EMAIL PROTECTED]> Fri, 09 Sep 2005 09:32:14 +1000
committer Linus Torvalds <[EMAIL PROTECTED]> Fri, 09 Sep 2005 07:27:37 -0700

[PATCH] m68knommu: extract common timer code for 68EZ328 processor

Rework the 68x328 configuration and setup code. All 68x328 varients
share the same timer hardware. So extract that into its own file,
instead of keeping copies in each processors setup code.

Signed-off-by: Greg Ungerer <[EMAIL PROTECTED]>
Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>

 arch/m68knommu/platform/68EZ328/config.c |   80 ++++++++-----------------------
 1 files changed, 21 insertions(+), 59 deletions(-)

diff --git a/arch/m68knommu/platform/68EZ328/config.c 
b/arch/m68knommu/platform/68EZ328/config.c
--- a/arch/m68knommu/platform/68EZ328/config.c
+++ b/arch/m68knommu/platform/68EZ328/config.c
@@ -1,5 +1,7 @@
+/***************************************************************************/
+
 /*
- *  linux/arch/$(ARCH)/platform/$(PLATFORM)/config.c
+ *  linux/arch/m68knommu/platform/68EZ328/config.c
  *
  *  Copyright (C) 1993 Hamish Macdonald
  *  Copyright (C) 1999 D. Jeff Dionne
@@ -9,6 +11,8 @@
  * for more details.
  */
 
+/***************************************************************************/
+
 #include <stdarg.h>
 #include <linux/config.h>
 #include <linux/types.h>
@@ -20,68 +24,22 @@
 #include <asm/setup.h>
 #include <asm/system.h>
 #include <asm/pgtable.h>
-#include <asm/irq.h>
 #include <asm/machdep.h>
 #include <asm/MC68EZ328.h>
 #ifdef CONFIG_UCSIMM
 #include <asm/bootstd.h>
 #endif
-#ifdef CONFIG_PILOT
-#include "PalmV/romfs.h"
-#endif
 
-void BSP_sched_init(void (*timer_routine)(int, void *, struct pt_regs *))
-{
-  /* Restart mode, Enable int, 32KHz, Enable timer */
-  TCTL = TCTL_OM | TCTL_IRQEN | TCTL_CLKSOURCE_32KHZ | TCTL_TEN;
-  /* Set prescaler (Divide 32KHz by 32)*/
-  TPRER = 31;
-  /* Set compare register  32Khz / 32 / 10 = 100 */
-  TCMP = 10;                                                              
-
-  request_irq(TMR_IRQ_NUM, timer_routine, IRQ_FLG_LOCK, "timer", NULL);
-}
+/***************************************************************************/
 
-void BSP_tick(void)
-{
-       /* Reset Timer1 */
-       TSTAT &= 0;
-}
+void m68328_timer_init(irqreturn_t (*timer_routine) (int, void *, struct 
pt_regs *));
+void m68328_timer_tick(void);
+unsigned long m68328_timer_gettimeoffset(void);
+void m68328_timer_gettod(int *year, int *mon, int *day, int *hour, int *min, 
int *sec);
 
-unsigned long BSP_gettimeoffset (void)
-{
-  return 0;
-}
+/***************************************************************************/
 
-void BSP_gettod (int *yearp, int *monp, int *dayp,
-                  int *hourp, int *minp, int *secp)
-{
-}
-
-int BSP_hwclk(int op, struct hwclk_time *t)
-{
-  if (!op) {
-    /* read */
-  } else {
-    /* write */
-  }
-  return 0;
-}
-
-int BSP_set_clock_mmss (unsigned long nowtime)
-{
-#if 0
-  short real_seconds = nowtime % 60, real_minutes = (nowtime / 60) % 60;
-
-  tod->second1 = real_seconds / 10;
-  tod->second2 = real_seconds % 10;
-  tod->minute1 = real_minutes / 10;
-  tod->minute2 = real_minutes % 10;
-#endif
-  return 0;
-}
-
-void BSP_reset (void)
+void m68ez328_reset(void)
 {
   local_irq_disable();
   asm volatile ("
@@ -93,6 +51,8 @@ void BSP_reset (void)
     ");
 }
 
+/***************************************************************************/
+
 unsigned char *cs8900a_hwaddr;
 static int errno;
 
@@ -119,11 +79,13 @@ void config_BSP(char *command, int len)
   else command[0] = 0;
 #endif
  
-  mach_sched_init      = BSP_sched_init;
-  mach_tick            = BSP_tick;
-  mach_gettimeoffset   = BSP_gettimeoffset;
-  mach_gettod          = BSP_gettod;
+  mach_sched_init      = m68328_timer_init;
+  mach_tick            = m68328_timer_tick;
+  mach_gettimeoffset   = m68328_timer_gettimeoffset;
+  mach_gettod          = m68328_timer_gettod;
   mach_hwclk           = NULL;
   mach_set_clock_mmss  = NULL;
-  mach_reset           = BSP_reset;
+  mach_reset           = m68ez328_reset;
 }
+
+/***************************************************************************/
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to