summaryrefslogtreecommitdiff
path: root/sys/arch/mac68k/dev/adb_direct.c
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2004-11-25 18:32:12 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2004-11-25 18:32:12 +0000
commit06601d07c3f3a948ad4b435e9cce75bf9077f455 (patch)
tree9251a36ae3d19312fbc860cddc0107339e4181c8 /sys/arch/mac68k/dev/adb_direct.c
parentab3b10696322bc78ecdd88ea3d7b1c61c975f342 (diff)
Move towards a more flexible and generic interrupt system, as well as better
zs behaviour. From NetBSD; integration work by Martin Reindl
Diffstat (limited to 'sys/arch/mac68k/dev/adb_direct.c')
-rw-r--r--sys/arch/mac68k/dev/adb_direct.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/sys/arch/mac68k/dev/adb_direct.c b/sys/arch/mac68k/dev/adb_direct.c
index 3200c91a940..73214a76ef9 100644
--- a/sys/arch/mac68k/dev/adb_direct.c
+++ b/sys/arch/mac68k/dev/adb_direct.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: adb_direct.c,v 1.13 2003/11/03 06:43:02 david Exp $ */
+/* $OpenBSD: adb_direct.c,v 1.14 2004/11/25 18:32:10 miod Exp $ */
/* $NetBSD: adb_direct.c,v 1.5 1997/04/21 18:04:28 scottr Exp $ */
/* From: adb_direct.c 2.02 4/18/97 jpw */
@@ -204,8 +204,6 @@ int ADBNumDevices; /* num. of ADB devices found with ADBReInit */
extern struct mac68k_machine_S mac68k_machine;
-int zshard(int);
-
void pm_setup_adb(void);
void pm_check_adb_devices(int);
void pm_intr(void);
@@ -1073,7 +1071,7 @@ switch_start:
ADB_SET_STATE_ACKON(); /* start ACK to ADB chip */
delay(ADB_DELAY); /* delay */
ADB_SET_STATE_ACKOFF(); /* end ACK to ADB chip */
- zshard(0); /* grab any serial interrupts */
+ (void)intr_dispatch(0x70);
break;
case ADB_ACTION_IN:
@@ -1087,7 +1085,7 @@ switch_start:
ADB_SET_STATE_ACKON(); /* start ACK to ADB chip */
delay(ADB_DELAY); /* delay */
ADB_SET_STATE_ACKOFF(); /* end ACK to ADB chip */
- zshard(0); /* grab any serial interrupts */
+ (void)intr_dispatch(0x70);
if (1 == ending) { /* end of message? */
ADB_SET_STATE_INACTIVE(); /* signal end of frame */
@@ -1148,7 +1146,7 @@ switch_start:
adbActionState = ADB_ACTION_OUT; /* set next state */
delay(ADB_DELAY); /* delay */
- zshard(0); /* grab any serial interrupts */
+ (void)intr_dispatch(0x70);
if (ADB_INTR_IS_ON) { /* ADB intr low during
* write */
@@ -1189,13 +1187,13 @@ switch_start:
adbWriteDelay = 1; /* must retry when done with
* read */
delay(ADB_DELAY); /* delay */
- zshard(0); /* grab any serial interrupts */
+ (void)intr_dispatch(0x70);
goto switch_start; /* process next state right
* now */
break;
}
delay(ADB_DELAY); /* required delay */
- zshard(0); /* grab any serial interrupts */
+ (void)intr_dispatch(0x70);
if (adbOutputBuffer[0] == adbSentChars) { /* check for done */
if (0 == adb_cmd_result(adbOutputBuffer)) { /* do we expect data