diff options
author | Harald Koerfgen <hkoerfg@web.de> | 1999-04-11 17:06:16 +0000 |
---|---|---|
committer | Harald Koerfgen <hkoerfg@web.de> | 1999-04-11 17:06:16 +0000 |
commit | 67134debfe2833bc2cfb4c42f754560c795baa71 (patch) | |
tree | 6e1aec3ac67d13f11dd4faded5471d2e2a2d36b6 /drivers/tc | |
parent | cf32452ae9bc67a48c2f0fb3719b31a78512ed82 (diff) |
DECstation updates
Diffstat (limited to 'drivers/tc')
-rw-r--r-- | drivers/tc/Makefile | 12 | ||||
-rw-r--r-- | drivers/tc/tc.c | 6 | ||||
-rw-r--r-- | drivers/tc/zs.c | 11 |
3 files changed, 23 insertions, 6 deletions
diff --git a/drivers/tc/Makefile b/drivers/tc/Makefile index b1f4c4644..701214ea5 100644 --- a/drivers/tc/Makefile +++ b/drivers/tc/Makefile @@ -14,8 +14,20 @@ ALL_SUB_DIRS := L_TARGET := tc.a L_OBJS := tc.o +# Nasty trick as nobody references tcsyms.o, but we still want it linked. +# Stolen from pci Makefile +ifeq ($(CONFIG_MODULES),y) +O_TARGET = tc_syms.o +OX_OBJS = tcsyms.o +O_OBJS = tc.o +L_OBJS := tc_syms.o +else +L_OBJS := tc.o +endif + ifdef CONFIG_ZS L_OBJS += zs.o endif include $(TOPDIR)/Rules.make + diff --git a/drivers/tc/tc.c b/drivers/tc/tc.c index 36183ff9c..c5e3d4c6b 100644 --- a/drivers/tc/tc.c +++ b/drivers/tc/tc.c @@ -135,19 +135,25 @@ __initfunc(static void tc_probe(unsigned long startaddr, unsigned long size, int switch (slot) { case 0: tc_bus[slot].interrupt = TC0; + break; case 1: tc_bus[slot].interrupt = TC1; + break; case 2: tc_bus[slot].interrupt = TC2; + break; /* * Yuck! DS5000/200 onboard devices */ case 5: tc_bus[slot].interrupt = SCSI_INT; + break; case 6: tc_bus[slot].interrupt = ETHER; + break; default: tc_bus[slot].interrupt = -1; + break; } } } diff --git a/drivers/tc/zs.c b/drivers/tc/zs.c index 3dbb837a2..887fea87f 100644 --- a/drivers/tc/zs.c +++ b/drivers/tc/zs.c @@ -42,7 +42,6 @@ #include <asm/segment.h> #include <asm/bitops.h> #include <asm/uaccess.h> -#include <asm/wbflush.h> #include <asm/dec/interrupts.h> #include <asm/dec/machtype.h> #include <asm/dec/tc.h> @@ -196,7 +195,7 @@ static inline unsigned char read_zsreg(struct dec_zschannel *channel, if (reg != 0) { *channel->control = reg & 0xf; - wbflush(); RECOVERY_DELAY; + RECOVERY_DELAY; } retval = *channel->control; RECOVERY_DELAY; @@ -208,10 +207,10 @@ static inline void write_zsreg(struct dec_zschannel *channel, { if (reg != 0) { *channel->control = reg & 0xf; - wbflush(); RECOVERY_DELAY; + RECOVERY_DELAY; } *channel->control = value; - wbflush(); RECOVERY_DELAY; + RECOVERY_DELAY; return; } @@ -228,7 +227,7 @@ static inline void write_zsdata(struct dec_zschannel *channel, unsigned char value) { *channel->data = value; - wbflush(); RECOVERY_DELAY; + RECOVERY_DELAY; return; } @@ -1830,7 +1829,7 @@ zs_console_putchar(struct dec_serial *info, char ch) while (!(*(info->zs_channel->control) & Tx_BUF_EMP) && --loops) RECOVERY_DELAY; *(info->zs_channel->data) = ch; - wbflush(); RECOVERY_DELAY; + RECOVERY_DELAY; restore_flags(flags); } |