summaryrefslogtreecommitdiffstats
path: root/sys/mips/alchemy
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2010-02-18 19:41:38 +0000
committerimp <imp@FreeBSD.org>2010-02-18 19:41:38 +0000
commit73f0ead32ac2a85fee043f1865bb1e6c591894aa (patch)
tree064b59f350a5d8535f56f37c5d41b01a52c98e49 /sys/mips/alchemy
parente0d8c3f88bdab67a1ce8141101772f3b7a25e17c (diff)
downloadFreeBSD-src-73f0ead32ac2a85fee043f1865bb1e6c591894aa.zip
FreeBSD-src-73f0ead32ac2a85fee043f1865bb1e6c591894aa.tar.gz
Hack to make ALCHEMY compile again...
Diffstat (limited to 'sys/mips/alchemy')
-rw-r--r--sys/mips/alchemy/obio.c41
1 files changed, 38 insertions, 3 deletions
diff --git a/sys/mips/alchemy/obio.c b/sys/mips/alchemy/obio.c
index 8d83928..fb55813 100644
--- a/sys/mips/alchemy/obio.c
+++ b/sys/mips/alchemy/obio.c
@@ -120,6 +120,40 @@ static int obio_setup_intr(device_t, device_t, struct resource *, int,
static int obio_teardown_intr(device_t, device_t, struct resource *,
void *);
+static void
+obio_mask_irq(void *arg)
+{
+ /* XXX need to write */
+#if 0
+ unsigned int irq = (unsigned int)arg;
+ int ip_bit, mask, mask_register;
+
+ /* mask IRQ */
+ mask_register = ICU_IRQ_MASK_REG(irq);
+ ip_bit = ICU_IP_BIT(irq);
+
+ mask = ICU_REG_READ(mask_register);
+ ICU_REG_WRITE(mask_register, mask | ip_bit);
+#endif
+}
+
+static void
+obio_unmask_irq(void *arg)
+{
+ /* XXX need to write */
+#if 0
+ unsigned int irq = (unsigned int)arg;
+ int ip_bit, mask, mask_register;
+
+ /* unmask IRQ */
+ mask_register = ICU_IRQ_MASK_REG(irq);
+ ip_bit = ICU_IP_BIT(irq);
+
+ mask = ICU_REG_READ(mask_register);
+ ICU_REG_WRITE(mask_register, mask & ~ip_bit);
+#endif
+}
+
static int
obio_probe(device_t dev)
{
@@ -320,9 +354,10 @@ obio_setup_intr(device_t dev, device_t child, struct resource *ires,
event = sc->sc_eventstab[irq];
if (event == NULL) {
- error = intr_event_create(&event, (void *)irq, 0, irq,
- (mask_fn)mips_mask_irq, (mask_fn)mips_unmask_irq,
- NULL, NULL, "obio intr%d:", irq);
+ error = intr_event_create(&event, (void *)irq, 0, irq,
+ obio_mask_irq, obio_unmask_irq,
+ NULL, NULL,
+ "obio intr%d:", irq);
sc->sc_eventstab[irq] = event;
}
OpenPOWER on IntegriCloud