summaryrefslogtreecommitdiffstats
path: root/sys/pccard/pcic.c
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2001-04-19 05:45:51 +0000
committerimp <imp@FreeBSD.org>2001-04-19 05:45:51 +0000
commitf4adb6edecdd82553e9815c37a1f918845ea17e1 (patch)
tree0f351228ff364adcb6dd31a9bd8a9bb90914838c /sys/pccard/pcic.c
parentc0ad0e9671b11b347795377aaccff91e49e3e58f (diff)
downloadFreeBSD-src-f4adb6edecdd82553e9815c37a1f918845ea17e1.zip
FreeBSD-src-f4adb6edecdd82553e9815c37a1f918845ea17e1.tar.gz
Indirect off cinfo rather than calling pcic_ functions directly. This
means that the pcic98 functionality might now work (I've tested it on my pcic machine, but not the pcic98). Since these functions are rarely called, it is unlikely that this will have a measurable impact on performance.
Diffstat (limited to 'sys/pccard/pcic.c')
-rw-r--r--sys/pccard/pcic.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/sys/pccard/pcic.c b/sys/pccard/pcic.c
index 4fd36db..809ba7d 100644
--- a/sys/pccard/pcic.c
+++ b/sys/pccard/pcic.c
@@ -761,16 +761,16 @@ pcic_reset(void *chan)
case 1: /* Assert reset */
clrb(sp, PCIC_INT_GEN, PCIC_CARDRESET);
slt->insert_seq = 2;
- timeout(pcic_reset, (void *)slt, hz/4);
+ timeout(cinfo.reset, (void *)slt, hz/4);
return;
case 2: /* Deassert it again */
setb(sp, PCIC_INT_GEN, PCIC_CARDRESET|PCIC_IOCARD);
slt->insert_seq = 3;
- timeout(pcic_reset, (void *)slt, hz/4);
+ timeout(cinfo.reset, (void *)slt, hz/4);
return;
case 3: /* Wait if card needs more time */
if (!sp->getb(sp, PCIC_STATUS) & PCIC_READY) {
- timeout(pcic_reset, (void *)slt, hz/10);
+ timeout(cinfo.reset, (void *)slt, hz/10);
return;
}
}
@@ -852,7 +852,7 @@ pcicintr(void *arg)
pccard_event(sp->slt,
card_inserted);
} else {
- pcic_disable(sp->slt);
+ cinfo.disable(sp->slt);
pccard_event(sp->slt,
card_removed);
}
@@ -1129,7 +1129,7 @@ pcic_activate_resource(device_t dev, device_t child, int type, int rid,
ip->flags |= IODF_ACTIVE;
ip->start = rman_get_start(r);
ip->size = rman_get_end(r) - rman_get_start(r) + 1;
- err = pcic_io(devi->slt, rid);
+ err = cinfo.mapio(devi->slt, rid);
if (err)
return err;
break;
@@ -1149,7 +1149,7 @@ pcic_activate_resource(device_t dev, device_t child, int type, int rid,
mp->flags |= MDF_ACTIVE;
mp->start = (caddr_t) rman_get_start(r);
mp->size = rman_get_end(r) - rman_get_start(r) + 1;
- err = pcic_memory(devi->slt, rid);
+ err = cinfo.mapmem(devi->slt, rid);
if (err)
return err;
break;
@@ -1172,7 +1172,7 @@ pcic_deactivate_resource(device_t dev, device_t child, int type, int rid,
case SYS_RES_IOPORT: {
struct io_desc *ip = &devi->slt->io[rid];
ip->flags &= ~IODF_ACTIVE;
- err = pcic_io(devi->slt, rid);
+ err = cinfo.mapio(devi->slt, rid);
if (err) {
return err;
}
@@ -1183,7 +1183,7 @@ pcic_deactivate_resource(device_t dev, device_t child, int type, int rid,
case SYS_RES_MEMORY: {
struct mem_desc *mp = &devi->slt->mem[rid];
mp->flags &= ~(MDF_ACTIVE | MDF_ATTR);
- err = pcic_memory(devi->slt, rid);
+ err = cinfo.mapmem(devi->slt, rid);
if (err) {
return err;
}
@@ -1212,7 +1212,7 @@ pcic_setup_intr(device_t dev, device_t child, struct resource *irq,
err = bus_generic_setup_intr(dev, child, irq, flags, intr, arg,
cookiep);
if (err == 0)
- pcic_mapirq(devi->slt, rman_get_start(irq));
+ cinfo.mapirq(devi->slt, rman_get_start(irq));
else
device_printf(dev, "Error %d irq %ld\n", err,
rman_get_start(irq));
@@ -1225,7 +1225,7 @@ pcic_teardown_intr(device_t dev, device_t child, struct resource *irq,
{
struct pccard_devinfo *devi = device_get_ivars(child);
- pcic_mapirq(devi->slt, 0);
+ cinfo.mapirq(devi->slt, 0);
return (bus_generic_teardown_intr(dev, child, irq, cookie));
}
@@ -1250,7 +1250,7 @@ pcic_set_res_flags(device_t bus, device_t child, int restype, int rid,
mp->flags &= ~MDF_16BITS;
break;
}
- err = pcic_memory(devi->slt, rid);
+ err = cinfo.mapmem(devi->slt, rid);
break;
}
default:
@@ -1296,7 +1296,7 @@ pcic_set_memory_offset(device_t bus, device_t child, int rid, u_int32_t offset,
mp->card = offset;
if (deltap)
*deltap = 0; /* XXX BAD XXX */
- return (pcic_memory(devi->slt, rid));
+ return (cinfo.mapmem(devi->slt, rid));
}
static int
OpenPOWER on IntegriCloud