summaryrefslogtreecommitdiffstats
path: root/sys/isa/isa_common.c
diff options
context:
space:
mode:
authordfr <dfr@FreeBSD.org>1999-05-30 11:02:17 +0000
committerdfr <dfr@FreeBSD.org>1999-05-30 11:02:17 +0000
commit3372b64e9da101fdd27f84e127b88dfc1c69edb6 (patch)
tree6f9756cfbc396db3e53829159e59e48cfaa96521 /sys/isa/isa_common.c
parent5e6c0b736334f0b218b5fe71b0edf37422a870d2 (diff)
downloadFreeBSD-src-3372b64e9da101fdd27f84e127b88dfc1c69edb6.zip
FreeBSD-src-3372b64e9da101fdd27f84e127b88dfc1c69edb6.tar.gz
* Add ivars for ISA pnp.
* Move isa_dma* declarations to isavar.h. * Add a method ISA_DELETE_RESOURCE() to the ISA interface. * Tidy up include protection defines.
Diffstat (limited to 'sys/isa/isa_common.c')
-rw-r--r--sys/isa/isa_common.c51
1 files changed, 49 insertions, 2 deletions
diff --git a/sys/isa/isa_common.c b/sys/isa/isa_common.c
index 7b3b494..d2207ac 100644
--- a/sys/isa/isa_common.c
+++ b/sys/isa/isa_common.c
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: isa_common.c,v 1.1 1999/05/22 15:18:23 dfr Exp $
+ * $Id: isa_common.c,v 1.2 1999/05/28 09:24:58 dfr Exp $
*/
/*
* Modifications for Intel architecture by Garrett A. Wollman.
@@ -279,8 +279,28 @@ isa_read_ivar(device_t bus, device_t dev, int index, uintptr_t * result)
case ISA_IVAR_FLAGS:
*result = idev->id_flags;
break;
+
+ case ISA_IVAR_VENDORID:
+ *result = idev->id_vendorid;
+ break;
+
+ case ISA_IVAR_SERIAL:
+ *result = idev->id_serial;
+ break;
+
+ case ISA_IVAR_LOGICALID:
+ *result = idev->id_logicalid;
+ break;
+
+ case ISA_IVAR_COMPATID:
+ *result = idev->id_compatid;
+ break;
+
+ default:
+ return ENOENT;
}
- return ENOENT;
+
+ return 0;
}
static int
@@ -307,9 +327,27 @@ isa_write_ivar(device_t bus, device_t dev,
case ISA_IVAR_FLAGS:
idev->id_flags = value;
break;
+
+ case ISA_IVAR_VENDORID:
+ idev->id_vendorid = value;
+ break;
+
+ case ISA_IVAR_SERIAL:
+ idev->id_serial = value;
+ break;
+
+ case ISA_IVAR_LOGICALID:
+ idev->id_logicalid = value;
+ break;
+
+ case ISA_IVAR_COMPATID:
+ idev->id_compatid = value;
+ break;
+
default:
return (ENOENT);
}
+
return (0);
}
@@ -349,6 +387,14 @@ isa_get_resource(device_t dev, device_t child, int type, int rid,
return 0;
}
+static void
+isa_delete_resource(device_t dev, device_t child, int type, int rid)
+{
+ struct isa_device* idev = DEVTOISA(child);
+ struct resource_list *rl = &idev->id_resources;
+ resource_list_delete(rl, type, rid);
+}
+
static device_method_t isa_methods[] = {
/* Device interface */
DEVMETHOD(device_probe, isa_probe),
@@ -373,6 +419,7 @@ static device_method_t isa_methods[] = {
/* ISA interface */
DEVMETHOD(isa_set_resource, isa_set_resource),
DEVMETHOD(isa_get_resource, isa_get_resource),
+ DEVMETHOD(isa_delete_resource, isa_delete_resource),
{ 0, 0 }
};
OpenPOWER on IntegriCloud