summaryrefslogtreecommitdiffstats
path: root/sys/pccard/pcic_isa.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/pccard/pcic_isa.c')
-rw-r--r--sys/pccard/pcic_isa.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/sys/pccard/pcic_isa.c b/sys/pccard/pcic_isa.c
index ce39f26..e20eedf 100644
--- a/sys/pccard/pcic_isa.c
+++ b/sys/pccard/pcic_isa.c
@@ -75,6 +75,16 @@ static struct {
{ "Intel i82365SL-DF", PCIC_DF_POWER}
};
+static pcic_intr_way_t pcic_isa_intr_way;
+static pcic_init_t pcic_isa_init;
+
+struct pcic_chip pcic_isa_chip = {
+ pcic_isa_intr_way,
+ pcic_isa_intr_way,
+ pcic_isa_mapirq,
+ pcic_isa_init
+};
+
/*
* Look for an Intel PCIC (or compatible).
* For each available slot, allocate a PC-CARD slot.
@@ -291,6 +301,7 @@ pcic_isa_attach(device_t dev)
sc->iores = r;
sc->csc_route = pcic_iw_isa;
sc->func_route = pcic_iw_isa;
+ sc->chip = &pcic_isa_chip;
rid = 0;
r = NULL;
@@ -331,6 +342,26 @@ pcic_isa_attach(device_t dev)
return (pcic_attach(dev));
}
+/*
+ * ISA cards can only do ISA interrupts. There's no need to do
+ * anything but check args for sanity.
+ */
+static int
+pcic_isa_intr_way(struct pcic_slot *sp, enum pcic_intr_way iw)
+{
+ if (iw != pcic_iw_isa)
+ return (EINVAL);
+ return (0);
+}
+
+/*
+ * No speicial initialization is necesary for ISA cards.
+ */
+static void
+pcic_isa_init(device_t dev)
+{
+}
+
static device_method_t pcic_methods[] = {
/* Device interface */
DEVMETHOD(device_probe, pcic_isa_probe),
OpenPOWER on IntegriCloud