diff options
author | Keith M Wesolowski <wesolows@foobazco.org> | 2000-08-01 04:24:49 +0000 |
---|---|---|
committer | Keith M Wesolowski <wesolows@foobazco.org> | 2000-08-01 04:24:49 +0000 |
commit | f7bbf9552e93a3fa9e5aa7c5cfed458b77b37695 (patch) | |
tree | 137da613a3a73d0c311fbcc3210f51c6f15c1ae4 | |
parent | 7f78cc6fbe77afbbd4c84f2c8fab9c92f58b1976 (diff) |
ARC console is not just for IP22.
Timer dead code cleanup.
-rw-r--r-- | Documentation/Configure.help | 2 | ||||
-rw-r--r-- | arch/mips/arc/Makefile | 8 | ||||
-rw-r--r-- | arch/mips/arc/arc_con.c | 69 | ||||
-rw-r--r-- | arch/mips/arc/cmdline.c | 2 | ||||
-rw-r--r-- | arch/mips/arc/console.c | 32 | ||||
-rw-r--r-- | arch/mips/arc/printf.c | 40 | ||||
-rw-r--r-- | arch/mips/config.in | 5 | ||||
-rw-r--r-- | arch/mips/defconfig | 3 | ||||
-rw-r--r-- | arch/mips/defconfig-ip22 | 3 | ||||
-rw-r--r-- | arch/mips/sgi/kernel/Makefile | 3 | ||||
-rw-r--r-- | arch/mips/sgi/kernel/indy_timer.c | 297 | ||||
-rw-r--r-- | arch/mips/sgi/kernel/promcon.c | 72 | ||||
-rw-r--r-- | arch/mips/sgi/kernel/setup.c | 12 | ||||
-rw-r--r-- | arch/mips64/sgi-ip22/ip22-setup.c | 2 | ||||
-rw-r--r-- | drivers/char/mem.c | 6 | ||||
-rw-r--r-- | drivers/char/tty_io.c | 3 |
16 files changed, 126 insertions, 433 deletions
diff --git a/Documentation/Configure.help b/Documentation/Configure.help index a5fa3b1d4..b64444b26 100644 --- a/Documentation/Configure.help +++ b/Documentation/Configure.help @@ -2211,7 +2211,7 @@ CONFIG_SERIAL_MULTIPORT of those special I/O ports. SGI PROM Console Support -CONFIG_SGI_PROM_CONSOLE +CONFIG_ARC_CONSOLE Say Y here if you want to use the PROMs for console I/O. SGI Zilog85C30 serial support diff --git a/arch/mips/arc/Makefile b/arch/mips/arc/Makefile index 7bfefcfba..e37207b33 100644 --- a/arch/mips/arc/Makefile +++ b/arch/mips/arc/Makefile @@ -10,7 +10,11 @@ # Note 2! The CFLAGS definitions are now in the main makefile... L_TARGET = arclib.a -L_OBJS = console.o init.o printf.o memory.o tree.o env.o cmdline.o misc.o \ - time.o file.o identify.o +L_OBJS = console.o init.o memory.o tree.o env.o cmdline.o misc.o time.o \ + file.o identify.o + +ifdef CONFIG_ARC_CONSOLE +L_OBJS += arc_con.o +endif include $(TOPDIR)/Rules.make diff --git a/arch/mips/arc/arc_con.c b/arch/mips/arc/arc_con.c new file mode 100644 index 000000000..6fe94a6c7 --- /dev/null +++ b/arch/mips/arc/arc_con.c @@ -0,0 +1,69 @@ +/* + * Wrap-around code for a console using the + * ARC io-routines. + * + * Copyright (c) 1998 Harald Koerfgen + */ + +#include <linux/tty.h> +#include <linux/major.h> +#include <linux/ptrace.h> +#include <linux/init.h> +#include <linux/console.h> +#include <linux/fs.h> + +extern char prom_getchar (void); +extern void prom_printf (char *, ...); + +static void prom_console_write(struct console *co, const char *s, + unsigned count) +{ + unsigned i; + + /* + * Now, do each character + */ + for (i = 0; i < count; i++) { + if (*s == 10) + prom_printf("%c", 13); + prom_printf("%c", *s++); + } +} + +static int prom_console_wait_key(struct console *co) +{ + return prom_getchar(); +} + +static int __init prom_console_setup(struct console *co, char *options) +{ + return 0; +} + +static kdev_t prom_console_device(struct console *c) +{ + return MKDEV(TTY_MAJOR, 64 + c->index); +} + +static struct console arc_cons = { + "ttyS", + prom_console_write, + NULL, + prom_console_device, + prom_console_wait_key, + NULL, + prom_console_setup, + CON_PRINTBUFFER, + -1, + 0, + NULL +}; + +/* + * Register console. + */ + +void __init arc_console_init(void) +{ + register_console(&arc_cons); +} diff --git a/arch/mips/arc/cmdline.c b/arch/mips/arc/cmdline.c index d60ff2bab..ba356e65d 100644 --- a/arch/mips/arc/cmdline.c +++ b/arch/mips/arc/cmdline.c @@ -12,7 +12,7 @@ #include <asm/sgialib.h> #include <asm/bootinfo.h> -/* #define DEBUG_CMDLINE */ +#undef DEBUG_CMDLINE char arcs_cmdline[CL_SIZE]; diff --git a/arch/mips/arc/console.c b/arch/mips/arc/console.c index 4de5130fb..cf367a3c1 100644 --- a/arch/mips/arc/console.c +++ b/arch/mips/arc/console.c @@ -8,6 +8,7 @@ */ #include <linux/config.h> #include <linux/init.h> +#include <linux/kernel.h> #include <asm/sgialib.h> #include <asm/bcache.h> @@ -20,7 +21,7 @@ */ extern struct bcache_ops *bcops; -#ifdef CONFIG_SGI_PROM_CONSOLE +#ifdef CONFIG_ARC_CONSOLE void prom_putchar(char c) #else void __init prom_putchar(char c) @@ -34,7 +35,7 @@ void __init prom_putchar(char c) bcops->bc_enable(); } -#ifdef CONFIG_SGI_PROM_CONSOLE +#ifdef CONFIG_ARC_CONSOLE char prom_getchar(void) #else char __init prom_getchar(void) @@ -48,3 +49,30 @@ char __init prom_getchar(void) bcops->bc_enable(); return c; } + +static char ppbuf[1024]; + +#ifdef CONFIG_ARC_CONSOLE +void prom_printf(char *fmt, ...) +#else +void __init prom_printf(char *fmt, ...) +#endif +{ + va_list args; + char ch, *bptr; + int i; + + va_start(args, fmt); + i = vsprintf(ppbuf, fmt, args); + + bptr = ppbuf; + + while((ch = *(bptr++)) != 0) { + if(ch == '\n') + prom_putchar('\r'); + + prom_putchar(ch); + } + va_end(args); + return; +} diff --git a/arch/mips/arc/printf.c b/arch/mips/arc/printf.c deleted file mode 100644 index 78b1b5937..000000000 --- a/arch/mips/arc/printf.c +++ /dev/null @@ -1,40 +0,0 @@ -/* - * printf.c: Putting things on the screen using SGI arcs - * PROM facilities. - * - * Copyright (C) 1996 David S. Miller (dm@sgi.com) - * - * $Id: printf.c,v 1.3 1999/10/09 00:00:57 ralf Exp $ - */ -#include <linux/config.h> -#include <linux/init.h> -#include <linux/kernel.h> - -#include <asm/sgialib.h> - -static char ppbuf[1024]; - -#ifdef CONFIG_SGI_PROM_CONSOLE -void prom_printf(char *fmt, ...) -#else -void __init prom_printf(char *fmt, ...) -#endif -{ - va_list args; - char ch, *bptr; - int i; - - va_start(args, fmt); - i = vsprintf(ppbuf, fmt, args); - - bptr = ppbuf; - - while((ch = *(bptr++)) != 0) { - if(ch == '\n') - prom_putchar('\r'); - - prom_putchar(ch); - } - va_end(args); - return; -} diff --git a/arch/mips/config.in b/arch/mips/config.in index e546eb5c2..8126ff15b 100644 --- a/arch/mips/config.in +++ b/arch/mips/config.in @@ -151,6 +151,10 @@ if [ "$CONFIG_CPU_LITTLE_ENDIAN" = "n" ]; then bool 'Include forward keyboard' CONFIG_FORWARD_KEYBOARD fi +if [ "$CONFIG_ARC32" = "y" ]; then + bool 'ARC console support' CONFIG_ARC_CONSOLE +fi + define_bool CONFIG_BINFMT_AOUT n define_bool CONFIG_BINFMT_ELF y tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC @@ -337,7 +341,6 @@ if [ "$CONFIG_SGI_IP22" = "y" ]; then else define_bool CONFIG_FONT_8x16 y fi - bool 'SGI PROM Console Support' CONFIG_SGI_PROM_CONSOLE fi bool 'PS/2 mouse support' CONFIG_PSMOUSE if [ "$CONFIG_PSMOUSE" != "n" ]; then diff --git a/arch/mips/defconfig b/arch/mips/defconfig index 61436603d..99df6b011 100644 --- a/arch/mips/defconfig +++ b/arch/mips/defconfig @@ -24,6 +24,7 @@ CONFIG_SGI_IP22=y # CONFIG_SBUS is not set CONFIG_ARC32=y CONFIG_PC_KEYB=y +# CONFIG_PSMOUSE is not set CONFIG_SGI=y # CONFIG_ISA is not set # CONFIG_PCI is not set @@ -219,7 +220,7 @@ CONFIG_VT=y CONFIG_VT_CONSOLE=y CONFIG_SGI_NEWPORT_CONSOLE=y CONFIG_FONT_8x16=y -# CONFIG_SGI_PROM_CONSOLE is not set +# CONFIG_ARC_CONSOLE is not set # CONFIG_UNIX98_PTYS is not set # diff --git a/arch/mips/defconfig-ip22 b/arch/mips/defconfig-ip22 index 61436603d..bef1b1f71 100644 --- a/arch/mips/defconfig-ip22 +++ b/arch/mips/defconfig-ip22 @@ -24,6 +24,7 @@ CONFIG_SGI_IP22=y # CONFIG_SBUS is not set CONFIG_ARC32=y CONFIG_PC_KEYB=y +CONFIG_PSMOUSE=y CONFIG_SGI=y # CONFIG_ISA is not set # CONFIG_PCI is not set @@ -219,7 +220,7 @@ CONFIG_VT=y CONFIG_VT_CONSOLE=y CONFIG_SGI_NEWPORT_CONSOLE=y CONFIG_FONT_8x16=y -# CONFIG_SGI_PROM_CONSOLE is not set +# CONFIG_ARC_CONSOLE is not set # CONFIG_UNIX98_PTYS is not set # diff --git a/arch/mips/sgi/kernel/Makefile b/arch/mips/sgi/kernel/Makefile index 6eb3f1775..f016cd12f 100644 --- a/arch/mips/sgi/kernel/Makefile +++ b/arch/mips/sgi/kernel/Makefile @@ -15,9 +15,6 @@ OBJS = indy_mc.o indy_sc.o indy_hpc.o indy_int.o indy_rtc.o \ system.o indyIRQ.o reset.o setup.o time.o -ifdef CONFIG_SGI_PROM_CONSOLE -OBJS += promcon.o -endif all: sgikern.a diff --git a/arch/mips/sgi/kernel/indy_timer.c b/arch/mips/sgi/kernel/indy_timer.c deleted file mode 100644 index 3306cdc25..000000000 --- a/arch/mips/sgi/kernel/indy_timer.c +++ /dev/null @@ -1,297 +0,0 @@ -/* $Id: indy_timer.c,v 1.17 2000/01/21 22:34:03 ralf Exp $ - * - * indy_timer.c: Setting up the clock on the INDY 8254 controller. - * - * Copyright (C) 1996 David S. Miller (dm@engr.sgi.com) - * Copytight (C) 1997, 1998 Ralf Baechle (ralf@gnu.org) - */ -#include <linux/errno.h> -#include <linux/init.h> -#include <linux/sched.h> -#include <linux/kernel.h> -#include <linux/param.h> -#include <linux/string.h> -#include <linux/mm.h> -#include <linux/interrupt.h> -#include <linux/timex.h> -#include <linux/kernel_stat.h> - -#include <asm/bootinfo.h> -#include <asm/io.h> -#include <asm/irq.h> -#include <asm/ptrace.h> -#include <asm/system.h> -#include <asm/sgialib.h> -#include <asm/sgi/sgi.h> -#include <asm/sgi/sgihpc.h> -#include <asm/sgi/sgint23.h> - - -/* Because of a bug in the i8254 timer we need to use the onchip r4k - * counter as our system wide timer interrupt running at 100HZ. - */ -static unsigned long r4k_offset; /* Amount to increment compare reg each time */ -static unsigned long r4k_cur; /* What counter should be at next timer irq */ - -extern rwlock_t xtime_lock; - -static inline void ack_r4ktimer(unsigned long newval) -{ - write_32bit_cp0_register(CP0_COMPARE, newval); -} - -static int set_rtc_mmss(unsigned long nowtime) -{ - struct indy_clock *clock = (struct indy_clock *)INDY_CLOCK_REGS; - int retval = 0; - int real_seconds, real_minutes, clock_minutes; - -#define FROB_FROM_CLOCK(x) (((x) & 0xf) | ((((x) & 0xf0) >> 4) * 10)); -#define FROB_TO_CLOCK(x) ((((((x) & 0xff) / 10)<<4) | (((x) & 0xff) % 10)) & 0xff) - - clock->cmd &= ~(0x80); - clock_minutes = clock->min; - clock->cmd |= (0x80); - - clock_minutes = FROB_FROM_CLOCK(clock_minutes); - real_seconds = nowtime % 60; - real_minutes = nowtime / 60; - - if(((abs(real_minutes - clock_minutes) + 15)/30) & 1) - real_minutes += 30; /* correct for half hour time zone */ - - real_minutes %= 60; - if(abs(real_minutes - clock_minutes) < 30) { - /* Force clock oscillator to be on. */ - clock->month &= ~(0x80); - - /* Write real_seconds and real_minutes into the Dallas. */ - clock->cmd &= ~(0x80); - clock->sec = real_seconds; - clock->min = real_minutes; - clock->cmd |= (0x80); - } else - return -1; - -#undef FROB_FROM_CLOCK -#undef FROB_TO_CLOCK - - return retval; -} - -static long last_rtc_update = 0; -unsigned long missed_heart_beats = 0; - -void indy_timer_interrupt(struct pt_regs *regs) -{ - unsigned long count; - int irq = 7; - - write_lock(&xtime_lock); - /* Ack timer and compute new compare. */ - count = read_32bit_cp0_register(CP0_COUNT); - /* This has races. */ - if ((count - r4k_cur) >= r4k_offset) { - /* If this happens to often we'll need to compensate. */ - missed_heart_beats++; - r4k_cur = count + r4k_offset; - } - else - r4k_cur += r4k_offset; - ack_r4ktimer(r4k_cur); - kstat.irqs[0][irq]++; - do_timer(regs); - - /* We update the Dallas time of day approx. every 11 minutes, - * because of how the numbers work out we need to make - * absolutely sure we do this update within 500ms before the - * next second starts, thus the following code. - */ - if ((time_status & STA_UNSYNC) == 0 && - xtime.tv_sec > last_rtc_update + 660 && - xtime.tv_usec >= 500000 - (tick >> 1) && - xtime.tv_usec <= 500000 + (tick >> 1)) { - if (set_rtc_mmss(xtime.tv_sec) == 0) - last_rtc_update = xtime.tv_sec; - else - /* do it again in 60 s */ - last_rtc_update = xtime.tv_sec - 600; - } - write_unlock(&xtime_lock); -} - -static unsigned long dosample(volatile unsigned char *tcwp, - volatile unsigned char *tc2p) -{ - unsigned long ct0, ct1; - unsigned char msb, lsb; - - /* Start the counter. */ - *tcwp = (SGINT_TCWORD_CNT2 | SGINT_TCWORD_CALL | SGINT_TCWORD_MRGEN); - *tc2p = (SGINT_TCSAMP_COUNTER & 0xff); - *tc2p = (SGINT_TCSAMP_COUNTER >> 8); - - /* Get initial counter invariant */ - ct0 = read_32bit_cp0_register(CP0_COUNT); - - /* Latch and spin until top byte of counter2 is zero */ - do { - *tcwp = (SGINT_TCWORD_CNT2 | SGINT_TCWORD_CLAT); - lsb = *tc2p; - msb = *tc2p; - ct1 = read_32bit_cp0_register(CP0_COUNT); - } while(msb); - - /* Stop the counter. */ - *tcwp = (SGINT_TCWORD_CNT2 | SGINT_TCWORD_CALL | SGINT_TCWORD_MSWST); - - /* Return the difference, this is how far the r4k counter increments - * for every one HZ. - */ - return ct1 - ct0; -} - -/* Converts Gregorian date to seconds since 1970-01-01 00:00:00. - * Assumes input in normal date format, i.e. 1980-12-31 23:59:59 - * => year=1980, mon=12, day=31, hour=23, min=59, sec=59. - * - * [For the Julian calendar (which was used in Russia before 1917, - * Britain & colonies before 1752, anywhere else before 1582, - * and is still in use by some communities) leave out the - * -year/100+year/400 terms, and add 10.] - * - * This algorithm was first published by Gauss (I think). - * - * WARNING: this function will overflow on 2106-02-07 06:28:16 on - * machines were long is 32-bit! (However, as time_t is signed, we - * will already get problems at other places on 2038-01-19 03:14:08) - */ -static inline unsigned long mktime(unsigned int year, unsigned int mon, - unsigned int day, unsigned int hour, - unsigned int min, unsigned int sec) -{ - if (0 >= (int) (mon -= 2)) { /* 1..12 -> 11,12,1..10 */ - mon += 12; /* Puts Feb last since it has leap day */ - year -= 1; - } - return ((( - (unsigned long)(year/4 - year/100 + year/400 + 367*mon/12 + day) + - year*365 - 719499 - )*24 + hour /* now have hours */ - )*60 + min /* now have minutes */ - )*60 + sec; /* finally seconds */ -} - -static unsigned long __init get_indy_time(void) -{ - struct indy_clock *clock = (struct indy_clock *)INDY_CLOCK_REGS; - unsigned int year, mon, day, hour, min, sec; - - /* Freeze it. */ - clock->cmd &= ~(0x80); - - /* Read regs. */ - sec = clock->sec; - min = clock->min; - hour = (clock->hr & 0x3f); - day = (clock->date & 0x3f); - mon = (clock->month & 0x1f); - year = clock->year; - - /* Unfreeze clock. */ - clock->cmd |= 0x80; - - /* Frob the bits. */ -#define FROB1(x) (((x) & 0xf) + ((((x) & 0xf0) >> 4) * 10)); -#define FROB2(x) (((x) & 0xf) + (((((x) & 0xf0) >> 4) & 0x3) * 10)); - - /* XXX Should really check that secs register is the same - * XXX as when we first read it and if not go back and - * XXX read the regs above again. - */ - sec = FROB1(sec); min = FROB1(min); day = FROB1(day); - mon = FROB1(mon); year = FROB1(year); - hour = FROB2(hour); - -#undef FROB1 -#undef FROB2 - - /* Wheee... */ - if(year < 45) - year += 30; - if ((year += 1940) < 1970) - year += 100; - - return mktime(year, mon, day, hour, min, sec); -} - -#define ALLINTS (IE_IRQ0 | IE_IRQ1 | IE_IRQ2 | IE_IRQ3 | IE_IRQ4 | IE_IRQ5) - -void __init indy_timer_init(void) -{ - struct sgi_ioc_timers *p; - volatile unsigned char *tcwp, *tc2p; - - /* Figure out the r4k offset, the algorithm is very simple - * and works in _all_ cases as long as the 8254 counter - * register itself works ok (as an interrupt driving timer - * it does not because of bug, this is why we are using - * the onchip r4k counter/compare register to serve this - * purpose, but for r4k_offset calculation it will work - * ok for us). There are other very complicated ways - * of performing this calculation but this one works just - * fine so I am not going to futz around. ;-) - */ - p = ioc_timers; - tcwp = &p->tcword; - tc2p = &p->tcnt2; - - printk("calculating r4koff... "); - dosample(tcwp, tc2p); /* First sample. */ - dosample(tcwp, tc2p); /* Eat one. */ - r4k_offset = dosample(tcwp, tc2p); /* Second sample. */ - - printk("%08lx(%d)\n", r4k_offset, (int) r4k_offset); - - r4k_cur = (read_32bit_cp0_register(CP0_COUNT) + r4k_offset); - write_32bit_cp0_register(CP0_COMPARE, r4k_cur); - set_cp0_status(ST0_IM, ALLINTS); - sti(); - - write_lock_irq(&xtime_lock); - xtime.tv_sec = get_indy_time(); /* Read time from RTC. */ - xtime.tv_usec = 0; - write_unlock_irq(&xtime_lock); -} - -void indy_8254timer_irq(void) -{ - int cpu = smp_processor_id(); - int irq = 4; - - irq_enter(cpu); - kstat.irqs[0][irq]++; - printk("indy_8254timer_irq: Whoops, should not have gotten this IRQ\n"); - prom_getchar(); - prom_imode(); - irq_exit(cpu); -} - -void do_gettimeofday(struct timeval *tv) -{ - unsigned long flags; - - read_lock_irqsave(&xtime_lock, flags); - *tv = xtime; - read_unlock_irqrestore(&xtime_lock, flags); -} - -void do_settimeofday(struct timeval *tv) -{ - write_lock_irq(&xtime_lock); - xtime = *tv; - time_state = TIME_BAD; - time_maxerror = MAXPHASE; - time_esterror = MAXPHASE; - write_unlock_irq(&xtime_lock); -} diff --git a/arch/mips/sgi/kernel/promcon.c b/arch/mips/sgi/kernel/promcon.c deleted file mode 100644 index 391f9613c..000000000 --- a/arch/mips/sgi/kernel/promcon.c +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Wrap-around code for a console using the - * SGI PROM io-routines. - * - * Copyright (c) 1999 Ulf Carlsson - * - * Derived from DECstation promcon.c - * Copyright (c) 1998 Harald Koerfgen - */ - -#include <linux/tty.h> -#include <linux/major.h> -#include <linux/ptrace.h> -#include <linux/init.h> -#include <linux/console.h> -#include <linux/fs.h> - -#include <asm/sgialib.h> - -static void prom_console_write(struct console *co, const char *s, - unsigned count) -{ - unsigned i; - - /* - * Now, do each character - */ - for (i = 0; i < count; i++) { - if (*s == 10) - prom_printf("%c", 13); - prom_printf("%c", *s++); - } -} - -static int prom_console_wait_key(struct console *co) -{ - return prom_getchar(); -} - -static int __init prom_console_setup(struct console *co, char *options) -{ - return 0; -} - -static kdev_t prom_console_device(struct console *c) -{ - return MKDEV(TTY_MAJOR, 64 + c->index); -} - -static struct console sercons = -{ - "ttyS", - prom_console_write, - NULL, - prom_console_device, - prom_console_wait_key, - NULL, - prom_console_setup, - CON_PRINTBUFFER, - -1, - 0, - NULL -}; - -/* - * Register console. - */ - -void __init sgi_prom_console_init(void ) -{ - register_console(&sercons); -} diff --git a/arch/mips/sgi/kernel/setup.c b/arch/mips/sgi/kernel/setup.c index f511e98de..a1d4ca08e 100644 --- a/arch/mips/sgi/kernel/setup.c +++ b/arch/mips/sgi/kernel/setup.c @@ -32,7 +32,7 @@ extern void breakpoint(void); static int remote_debug = 0; #endif -#if defined(CONFIG_SERIAL_CONSOLE) || defined(CONFIG_SGI_PROM_CONSOLE) +#if defined(CONFIG_SERIAL_CONSOLE) || defined(CONFIG_ARC_CONSOLE) extern void console_setup(char *); #endif @@ -180,7 +180,7 @@ void sgi_time_init (struct irqaction *irq) { */ struct sgi_ioc_timers *p; volatile unsigned char *tcwp, *tc2p; - unsigned long r4k_ticks[3] = { 0, 0, 0 }; + unsigned long r4k_ticks[3]; unsigned long r4k_next; /* Figure out the r4k offset, the algorithm is very simple @@ -201,10 +201,12 @@ void sgi_time_init (struct irqaction *irq) { dosample(tcwp, tc2p); /* Prime cache. */ dosample(tcwp, tc2p); /* Prime cache. */ /* Zero is NOT an option. */ - while (!r4k_ticks[0]) + do { r4k_ticks[0] = dosample (tcwp, tc2p); - while (!r4k_ticks[1]) + } while (!r4k_ticks[0]); + do { r4k_ticks[1] = dosample (tcwp, tc2p); + } while (!r4k_ticks[1]); if (r4k_ticks[0] != r4k_ticks[1]) { printk ("warning: timer counts differ, retrying..."); @@ -290,7 +292,7 @@ void __init sgi_setup(void) } #endif -#ifdef CONFIG_SGI_PROM_CONSOLE +#ifdef CONFIG_ARC_CONSOLE console_setup("ttyS0"); #endif diff --git a/arch/mips64/sgi-ip22/ip22-setup.c b/arch/mips64/sgi-ip22/ip22-setup.c index 82aa098c5..937d291d1 100644 --- a/arch/mips64/sgi-ip22/ip22-setup.c +++ b/arch/mips64/sgi-ip22/ip22-setup.c @@ -153,7 +153,7 @@ void __init ip22_setup(void) console_setup ("ttyS0"); } #endif -#ifdef CONFIG_SGI_PROM_CONSOLE +#ifdef CONFIG_ARC_CONSOLE console_setup("ttyS0"); #endif diff --git a/drivers/char/mem.c b/drivers/char/mem.c index 9c7faf625..3b5a2c497 100644 --- a/drivers/char/mem.c +++ b/drivers/char/mem.c @@ -49,9 +49,6 @@ extern void fbmem_init(void); #ifdef CONFIG_PROM_CONSOLE extern void prom_con_init(void); #endif -#ifdef CONFIG_SGI_PROM_CONSOLE -extern void sgi_prom_console_init(void); -#endif #ifdef CONFIG_MDA_CONSOLE extern void mda_console_init(void); #endif @@ -636,9 +633,6 @@ int __init chr_dev_init(void) #if defined (CONFIG_PROM_CONSOLE) prom_con_init(); #endif -#if defined (CONFIG_SGI_PROM_CONSOLE) - sgi_prom_console_init(); -#endif #if defined (CONFIG_MDA_CONSOLE) mda_console_init(); #endif diff --git a/drivers/char/tty_io.c b/drivers/char/tty_io.c index 4e8d4db73..0d6e6f3fa 100644 --- a/drivers/char/tty_io.c +++ b/drivers/char/tty_io.c @@ -2198,6 +2198,9 @@ void __init console_init(void) #ifdef CONFIG_SERIAL_SA1100_CONSOLE sa1100_rs_console_init(); #endif +#ifdef CONFIG_ARC_CONSOLE + arc_console_init(); +#endif } static struct tty_driver dev_tty_driver, dev_syscons_driver; |