summaryrefslogtreecommitdiffstats
path: root/arch/m68k/sun3/config.c
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-02-18 00:24:27 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-02-18 00:24:27 +0000
commitb9558d5f86c471a125abf1fb3a3882fb053b1f8c (patch)
tree707b53ec64e740a7da87d5f36485e3cd9b1c794e /arch/m68k/sun3/config.c
parentb3ac367c7a3e6047abe74817db27e34e759f279f (diff)
Merge with Linux 2.3.41.
Diffstat (limited to 'arch/m68k/sun3/config.c')
-rw-r--r--arch/m68k/sun3/config.c30
1 files changed, 10 insertions, 20 deletions
diff --git a/arch/m68k/sun3/config.c b/arch/m68k/sun3/config.c
index 05fbdea8d..87bae8a51 100644
--- a/arch/m68k/sun3/config.c
+++ b/arch/m68k/sun3/config.c
@@ -36,7 +36,7 @@ extern char _text, _end;
static int kernel_start, kernel_end;
char sun3_reserved_pmeg[SUN3_PMEGS_NUM];
-static unsigned long sun3_gettimeoffset(void);
+extern unsigned long sun3_gettimeoffset(void);
extern int sun3_get_irq_list (char *);
extern void sun3_sched_init(void (*handler)(int, void *, struct pt_regs *));
extern void sun3_init_IRQ (void);
@@ -50,8 +50,9 @@ extern void sun3_enable_interrupts (void);
extern void sun3_disable_interrupts (void);
extern void sun3_get_model (unsigned char* model);
extern void idprom_init (void);
-void sun3_gettod (int *yearp, int *monp, int *dayp,
+extern void sun3_gettod (int *yearp, int *monp, int *dayp,
int *hourp, int *minp, int *secp);
+extern int sun3_hwclk(int set, struct hwclk_time *t);
extern unsigned long sun_serial_setup(unsigned long memory_start);
volatile char* clock_va;
@@ -106,6 +107,11 @@ static void sun3_reboot (void)
prom_reboot ("vmlinux");
}
+static void sun3_halt (void)
+{
+ prom_halt ();
+}
+
void __init config_sun3(unsigned long *start_mem_p, unsigned long *end_mem_p)
{
printk("ARCH: SUN3\n");
@@ -126,6 +132,8 @@ void __init config_sun3(unsigned long *start_mem_p, unsigned long *end_mem_p)
mach_reset = sun3_reboot;
mach_gettimeoffset = sun3_gettimeoffset;
mach_get_model = sun3_get_model;
+ mach_hwclk = sun3_hwclk;
+ mach_halt = sun3_halt;
#ifndef CONFIG_SERIAL_CONSOLE
conswitchp = &dummy_con;
#endif
@@ -153,21 +161,3 @@ void __init sun3_sched_init(void (*timer_routine)(int, void *, struct pt_regs *)
intersil_clear();
}
-static unsigned long sun3_gettimeoffset(void)
-{
- return 1;
-}
-
-void sun3_gettod (int *yearp, int *monp, int *dayp,
- int *hourp, int *minp, int *secp)
-{
- struct intersil_dt* todintersil;
- todintersil = (struct intersil_dt *) &intersil_clock->counter;
- *secp = todintersil->second;
- *minp = todintersil->minute;
- *hourp = todintersil->hour;
- *dayp = todintersil->day;
- *monp = todintersil->month;
- *yearp = todintersil->year+68; /* The base year for sun3 is 1968 */
-}
-