summaryrefslogtreecommitdiff
path: root/sys/src/9/pc/usbehcipc.c
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@gmx.de>2012-12-06 18:53:17 +0100
committercinap_lenrek <cinap_lenrek@gmx.de>2012-12-06 18:53:17 +0100
commit5a138029db4a59025fe25a06f2a688d62d73aec3 (patch)
tree8b6dba77269c4c408e9ff4f32a984e03a3387afe /sys/src/9/pc/usbehcipc.c
parent75b1ec6716c7fda0c2e8907541bd314ce0cdd2fa (diff)
move devusb to port
moved devusb to port, shifting the responsibility of how to enable interrupts to the arch specific hci driver.
Diffstat (limited to 'sys/src/9/pc/usbehcipc.c')
-rw-r--r--sys/src/9/pc/usbehcipc.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/sys/src/9/pc/usbehcipc.c b/sys/src/9/pc/usbehcipc.c
index 89c0b112c..ad624750e 100644
--- a/sys/src/9/pc/usbehcipc.c
+++ b/sys/src/9/pc/usbehcipc.c
@@ -273,6 +273,18 @@ reset(Hci *hp)
ehcilinkage(hp);
hp->shutdown = shutdown;
hp->debug = setdebug;
+ if(hp->interrupt == nil)
+ return 0;
+
+ /*
+ * IRQ2 doesn't really exist, it's used to gang the interrupt
+ * controllers together. A device set to IRQ2 will appear on
+ * the second interrupt controller as IRQ9.
+ */
+ if(hp->irq == 2)
+ hp->irq = 9;
+ intrenable(hp->irq, hp->interrupt, hp, hp->tbdf, hp->type);
+
return 0;
}