summaryrefslogtreecommitdiffstats
path: root/sys/dev/pci/pci.c
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2002-11-27 06:41:28 +0000
committerimp <imp@FreeBSD.org>2002-11-27 06:41:28 +0000
commit5a806bdbdee9e13bd51cc934d44461cb417c21ba (patch)
treee27728d0d62643d537703709ce2f92ce251092fa /sys/dev/pci/pci.c
parent7153bb5d5537f59dd7cad8475561353f64f08c12 (diff)
downloadFreeBSD-src-5a806bdbdee9e13bd51cc934d44461cb417c21ba.zip
FreeBSD-src-5a806bdbdee9e13bd51cc934d44461cb417c21ba.tar.gz
Add a new cardbus specific ivar: PCI_IVAR_ETHADDR. Some pci-like
buses support querying the MAC address in a standard-for-that-bus way. The base pci bus returns NULL for this IVAR always. Submitted by: sam Approved by: re (blanket for NEWCARD)
Diffstat (limited to 'sys/dev/pci/pci.c')
-rw-r--r--sys/dev/pci/pci.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/dev/pci/pci.c b/sys/dev/pci/pci.c
index 3b2daab..2c5e7a4 100644
--- a/sys/dev/pci/pci.c
+++ b/sys/dev/pci/pci.c
@@ -1121,6 +1121,13 @@ pci_read_ivar(device_t dev, device_t child, int which, uintptr_t *result)
cfg = &dinfo->cfg;
switch (which) {
+ case PCI_IVAR_ETHADDR:
+ /*
+ * The generic accessor doesn't deal with failure, so
+ * we set the return value, then return an error.
+ */
+ *((u_int8_t **) result) = NULL;
+ return (EINVAL);
case PCI_IVAR_SUBVENDOR:
*result = cfg->subvendor;
break;
@@ -1179,6 +1186,7 @@ pci_write_ivar(device_t dev, device_t child, int which, uintptr_t value)
cfg = &dinfo->cfg;
switch (which) {
+ case PCI_IVAR_ETHADDR:
case PCI_IVAR_SUBVENDOR:
case PCI_IVAR_SUBDEVICE:
case PCI_IVAR_VENDOR:
OpenPOWER on IntegriCloud