summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
authordfr <dfr@FreeBSD.org>1999-10-12 21:35:51 +0000
committerdfr <dfr@FreeBSD.org>1999-10-12 21:35:51 +0000
commit229cdb91443142db582b7e32098f62f6446c3f3a (patch)
tree8eaacbe4f132a095dfe6be00173bd751633a034d /sys/dev
parentb203e98b2b9de39cedbf62c7eb859ade4d60e6bc (diff)
downloadFreeBSD-src-229cdb91443142db582b7e32098f62f6446c3f3a.zip
FreeBSD-src-229cdb91443142db582b7e32098f62f6446c3f3a.tar.gz
* Add struct resource_list* argument to resource_list_alloc and
resource_list_release. This removes the dependancy on the layout of ivars. * Move set_resource, get_resource and delete_resource from isa_if.m to bus_if.m. * Simplify driver code by providing wrappers to those methods: bus_set_resource(dev, type, rid, start, count); bus_get_resource(dev, type, rid, startp, countp); bus_get_resource_start(dev, type, rid); bus_get_resource_count(dev, type, rid); bus_delete_resource(dev, type, rid); * Delete isa_get_rsrc and use bus_get_resource_start instead. * Fix a stupid typo in isa_alloc_resource reported by Takahashi Yoshihiro <nyan@FreeBSD.org>. * Print a diagnostic message if we can't assign resources to a PnP device. * Change device_print_prettyname() so that it doesn't print "(no driver assigned)-1" for anonymous devices.
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/aha/aha_isa.c14
-rw-r--r--sys/dev/buslogic/bt_isa.c6
-rw-r--r--sys/dev/ed/if_ed.c33
-rw-r--r--sys/dev/pcm/isa/mss.c4
-rw-r--r--sys/dev/pcm/isa/sb.c7
-rw-r--r--sys/dev/sound/isa/mss.c4
-rw-r--r--sys/dev/sound/isa/sb.c7
-rw-r--r--sys/dev/sound/isa/sb16.c7
-rw-r--r--sys/dev/sound/isa/sb8.c7
9 files changed, 35 insertions, 54 deletions
diff --git a/sys/dev/aha/aha_isa.c b/sys/dev/aha/aha_isa.c
index cb55409..0720aa7 100644
--- a/sys/dev/aha/aha_isa.c
+++ b/sys/dev/aha/aha_isa.c
@@ -83,8 +83,8 @@ aha_isa_probe(device_t dev)
if (ISA_PNP_PROBE(device_get_parent(dev), dev, aha_ids) == ENXIO)
return (ENXIO);
- error = ISA_GET_RESOURCE(device_get_parent(dev), dev, SYS_RES_IOPORT,
- 0, &port_start, &port_count);
+ error = bus_get_resource(dev, SYS_RES_IOPORT, 0,
+ &port_start, &port_count);
if (error != 0)
port_start = 0;
@@ -111,8 +111,8 @@ aha_isa_probe(device_t dev)
*/
if (aha_check_probed_iop(ioport) != 0)
continue;
- error = ISA_SET_RESOURCE(device_get_parent(dev), dev,
- SYS_RES_IOPORT, 0, ioport, AHA_NREGS);
+ error = bus_set_resource(dev, SYS_RES_IOPORT, 0,
+ ioport, AHA_NREGS);
if (error)
return error;
@@ -179,14 +179,12 @@ aha_isa_probe(device_t dev)
"Failing probe\n", ioport);
return (ENXIO);
}
- error = ISA_SET_RESOURCE(device_get_parent(dev), dev,
- SYS_RES_DRQ, 0, drq, 1);
+ error = bus_set_resource(dev, SYS_RES_DRQ, 0, drq, 1);
if (error)
return error;
irq = ffs(config_data.irq) + 8;
- error = ISA_SET_RESOURCE(device_get_parent(dev), dev,
- SYS_RES_IRQ, 0, irq, 1);
+ error = bus_set_resource(dev, SYS_RES_IRQ, 0, irq, 1);
if (error)
return error;
diff --git a/sys/dev/buslogic/bt_isa.c b/sys/dev/buslogic/bt_isa.c
index b51fe8e..9377be9 100644
--- a/sys/dev/buslogic/bt_isa.c
+++ b/sys/dev/buslogic/bt_isa.c
@@ -172,10 +172,8 @@ bt_isa_probe(device_t dev)
bt_isa_release_resources(dev);
- ISA_SET_RESOURCE(device_get_parent(dev), dev,
- SYS_RES_DRQ, 0, info.drq, 1);
- ISA_SET_RESOURCE(device_get_parent(dev), dev,
- SYS_RES_IRQ, 0, info.irq, 1);
+ bus_set_resource(dev, SYS_RES_DRQ, 0, info.drq, 1);
+ bus_set_resource(dev, SYS_RES_IRQ, 0, info.irq, 1);
return (0);
}
diff --git a/sys/dev/ed/if_ed.c b/sys/dev/ed/if_ed.c
index 97d04d3..f35c1c4 100644
--- a/sys/dev/ed/if_ed.c
+++ b/sys/dev/ed/if_ed.c
@@ -555,8 +555,7 @@ ed_probe_WD80x3(dev)
memsize = 8192;
}
- error = ISA_GET_RESOURCE(device_get_parent(dev), dev,
- SYS_RES_MEMORY, 0,
+ error = bus_get_resource(dev, SYS_RES_MEMORY, 0,
&conf_maddr, &conf_msize);
if (error)
return (error);
@@ -606,12 +605,10 @@ ed_probe_WD80x3(dev)
/*
* If no interrupt specified (or "?"), use what the board tells us.
*/
- error = ISA_GET_RESOURCE(device_get_parent(dev), dev,
- SYS_RES_IRQ, 0,
+ error = bus_get_resource(dev, SYS_RES_IRQ, 0,
&irq, &junk);
if (error) {
- ISA_SET_RESOURCE(device_get_parent(dev), dev,
- SYS_RES_IRQ, 0,
+ bus_set_resource(dev, SYS_RES_IRQ, 0,
ed_intr_val[iptr], 1);
}
@@ -633,12 +630,10 @@ ed_probe_WD80x3(dev)
/*
* If no interrupt specified (or "?"), use what the board tells us.
*/
- error = ISA_GET_RESOURCE(device_get_parent(dev), dev,
- SYS_RES_IRQ, 0,
+ error = bus_get_resource(dev, SYS_RES_IRQ, 0,
&irq, &junk);
if (error) {
- ISA_SET_RESOURCE(device_get_parent(dev), dev,
- SYS_RES_IRQ, 0,
+ bus_set_resource(dev, SYS_RES_IRQ, 0,
ed_790_intr_val[iptr], 1);
}
@@ -648,8 +643,7 @@ ed_probe_WD80x3(dev)
outb(sc->asic_addr + ED_WD790_ICR,
inb(sc->asic_addr + ED_WD790_ICR) | ED_WD790_ICR_EIL);
}
- error = ISA_GET_RESOURCE(device_get_parent(dev), dev,
- SYS_RES_IRQ, 0,
+ error = bus_get_resource(dev, SYS_RES_IRQ, 0,
&irq, &junk);
if (error) {
device_printf(dev, "%s cards don't support auto-detected/assigned interrupts.\n",
@@ -850,8 +844,7 @@ ed_probe_3Com(dev)
return (ENXIO);
}
- error = ISA_GET_RESOURCE(device_get_parent(dev), dev,
- SYS_RES_MEMORY, 0,
+ error = bus_get_resource(dev, SYS_RES_MEMORY, 0,
&conf_maddr, &conf_msize);
if (error)
return (error);
@@ -1019,8 +1012,7 @@ ed_probe_3Com(dev)
/*
* Set IRQ. 3c503 only allows a choice of irq 2-5.
*/
- error = ISA_GET_RESOURCE(device_get_parent(dev), dev,
- SYS_RES_IRQ, 0,
+ error = bus_get_resource(dev, SYS_RES_IRQ, 0,
&irq, &junk);
if (error)
return (error);
@@ -1464,12 +1456,10 @@ ed_probe_HP_pclanp(dev)
* of the IRQ. If the kernel IRQ was explicitly specified, it
* should match that of the hardware.
*/
- error = ISA_GET_RESOURCE(device_get_parent(dev), dev,
- SYS_RES_IRQ, 0,
+ error = bus_get_resource(dev, SYS_RES_IRQ, 0,
&conf_irq, &junk);
if (error) {
- ISA_SET_RESOURCE(device_get_parent(dev), dev,
- SYS_RES_IRQ, 0,
+ bus_set_resource(dev, SYS_RES_IRQ, 0,
ed_hpp_intr_val[irq], 1);
} else {
if (conf_irq != ed_hpp_intr_val[irq])
@@ -1515,8 +1505,7 @@ ed_probe_HP_pclanp(dev)
* Check that the kernel specified start of memory and
* hardware's idea of it match.
*/
- error = ISA_GET_RESOURCE(device_get_parent(dev), dev,
- SYS_RES_MEMORY, 0,
+ error = bus_get_resource(dev, SYS_RES_MEMORY, 0,
&conf_maddr, &conf_msize);
if (error)
return (error);
diff --git a/sys/dev/pcm/isa/mss.c b/sys/dev/pcm/isa/mss.c
index 588a430..fe3d79a 100644
--- a/sys/dev/pcm/isa/mss.c
+++ b/sys/dev/pcm/isa/mss.c
@@ -449,7 +449,7 @@ mss_probe(device_t dev)
mss->io_rid = 0;
/* XXX verify this */
setres = 1;
- ISA_SET_RESOURCE(device_get_parent(dev), dev, SYS_RES_IOPORT, mss->io_rid,
+ bus_set_resource(dev, SYS_RES_IOPORT, mss->io_rid,
0x530, 8);
mss->io_base = bus_alloc_resource(dev, SYS_RES_IOPORT, &mss->io_rid,
0, ~0, 8, RF_ACTIVE);
@@ -866,7 +866,7 @@ mss_attach(device_t dev)
mss->drq1_rid = 0;
mss->drq2_rid = -1;
if (flags & DV_F_DUAL_DMA) {
- ISA_SET_RESOURCE(device_get_parent(dev), dev, SYS_RES_DRQ, 1,
+ bus_set_resource(dev, SYS_RES_DRQ, 1,
flags & DV_F_DRQ_MASK, 1);
mss->drq2_rid = 1;
}
diff --git a/sys/dev/pcm/isa/sb.c b/sys/dev/pcm/isa/sb.c
index 94af544..bdc2a8b 100644
--- a/sys/dev/pcm/isa/sb.c
+++ b/sys/dev/pcm/isa/sb.c
@@ -573,8 +573,7 @@ sb_probe(device_t dev)
no:
i = sb->io_rid;
sb_release_resources(sb, dev);
- if (allocated) ISA_DELETE_RESOURCE(device_get_parent(dev), dev,
- SYS_RES_IOPORT, i);
+ if (allocated) bus_delete_resource(dev, SYS_RES_IOPORT, i);
return error;
}
@@ -647,8 +646,8 @@ sb_attach(device_t dev)
int flags = device_get_flags(dev);
if (flags & DV_F_DUAL_DMA) {
- ISA_SET_RESOURCE(device_get_parent(dev), dev, SYS_RES_DRQ, 1,
- flags & DV_F_DRQ_MASK, 1);
+ bus_set_resource(dev, SYS_RES_DRQ, 1,
+ flags & DV_F_DRQ_MASK, 1);
}
sb = (struct sb_info *)malloc(sizeof *sb, M_DEVBUF, M_NOWAIT);
if (!sb) return ENXIO;
diff --git a/sys/dev/sound/isa/mss.c b/sys/dev/sound/isa/mss.c
index 588a430..fe3d79a 100644
--- a/sys/dev/sound/isa/mss.c
+++ b/sys/dev/sound/isa/mss.c
@@ -449,7 +449,7 @@ mss_probe(device_t dev)
mss->io_rid = 0;
/* XXX verify this */
setres = 1;
- ISA_SET_RESOURCE(device_get_parent(dev), dev, SYS_RES_IOPORT, mss->io_rid,
+ bus_set_resource(dev, SYS_RES_IOPORT, mss->io_rid,
0x530, 8);
mss->io_base = bus_alloc_resource(dev, SYS_RES_IOPORT, &mss->io_rid,
0, ~0, 8, RF_ACTIVE);
@@ -866,7 +866,7 @@ mss_attach(device_t dev)
mss->drq1_rid = 0;
mss->drq2_rid = -1;
if (flags & DV_F_DUAL_DMA) {
- ISA_SET_RESOURCE(device_get_parent(dev), dev, SYS_RES_DRQ, 1,
+ bus_set_resource(dev, SYS_RES_DRQ, 1,
flags & DV_F_DRQ_MASK, 1);
mss->drq2_rid = 1;
}
diff --git a/sys/dev/sound/isa/sb.c b/sys/dev/sound/isa/sb.c
index 94af544..bdc2a8b 100644
--- a/sys/dev/sound/isa/sb.c
+++ b/sys/dev/sound/isa/sb.c
@@ -573,8 +573,7 @@ sb_probe(device_t dev)
no:
i = sb->io_rid;
sb_release_resources(sb, dev);
- if (allocated) ISA_DELETE_RESOURCE(device_get_parent(dev), dev,
- SYS_RES_IOPORT, i);
+ if (allocated) bus_delete_resource(dev, SYS_RES_IOPORT, i);
return error;
}
@@ -647,8 +646,8 @@ sb_attach(device_t dev)
int flags = device_get_flags(dev);
if (flags & DV_F_DUAL_DMA) {
- ISA_SET_RESOURCE(device_get_parent(dev), dev, SYS_RES_DRQ, 1,
- flags & DV_F_DRQ_MASK, 1);
+ bus_set_resource(dev, SYS_RES_DRQ, 1,
+ flags & DV_F_DRQ_MASK, 1);
}
sb = (struct sb_info *)malloc(sizeof *sb, M_DEVBUF, M_NOWAIT);
if (!sb) return ENXIO;
diff --git a/sys/dev/sound/isa/sb16.c b/sys/dev/sound/isa/sb16.c
index 94af544..bdc2a8b 100644
--- a/sys/dev/sound/isa/sb16.c
+++ b/sys/dev/sound/isa/sb16.c
@@ -573,8 +573,7 @@ sb_probe(device_t dev)
no:
i = sb->io_rid;
sb_release_resources(sb, dev);
- if (allocated) ISA_DELETE_RESOURCE(device_get_parent(dev), dev,
- SYS_RES_IOPORT, i);
+ if (allocated) bus_delete_resource(dev, SYS_RES_IOPORT, i);
return error;
}
@@ -647,8 +646,8 @@ sb_attach(device_t dev)
int flags = device_get_flags(dev);
if (flags & DV_F_DUAL_DMA) {
- ISA_SET_RESOURCE(device_get_parent(dev), dev, SYS_RES_DRQ, 1,
- flags & DV_F_DRQ_MASK, 1);
+ bus_set_resource(dev, SYS_RES_DRQ, 1,
+ flags & DV_F_DRQ_MASK, 1);
}
sb = (struct sb_info *)malloc(sizeof *sb, M_DEVBUF, M_NOWAIT);
if (!sb) return ENXIO;
diff --git a/sys/dev/sound/isa/sb8.c b/sys/dev/sound/isa/sb8.c
index 94af544..bdc2a8b 100644
--- a/sys/dev/sound/isa/sb8.c
+++ b/sys/dev/sound/isa/sb8.c
@@ -573,8 +573,7 @@ sb_probe(device_t dev)
no:
i = sb->io_rid;
sb_release_resources(sb, dev);
- if (allocated) ISA_DELETE_RESOURCE(device_get_parent(dev), dev,
- SYS_RES_IOPORT, i);
+ if (allocated) bus_delete_resource(dev, SYS_RES_IOPORT, i);
return error;
}
@@ -647,8 +646,8 @@ sb_attach(device_t dev)
int flags = device_get_flags(dev);
if (flags & DV_F_DUAL_DMA) {
- ISA_SET_RESOURCE(device_get_parent(dev), dev, SYS_RES_DRQ, 1,
- flags & DV_F_DRQ_MASK, 1);
+ bus_set_resource(dev, SYS_RES_DRQ, 1,
+ flags & DV_F_DRQ_MASK, 1);
}
sb = (struct sb_info *)malloc(sizeof *sb, M_DEVBUF, M_NOWAIT);
if (!sb) return ENXIO;
OpenPOWER on IntegriCloud