diff options
author | imp <imp@FreeBSD.org> | 2002-11-27 06:41:28 +0000 |
---|---|---|
committer | imp <imp@FreeBSD.org> | 2002-11-27 06:41:28 +0000 |
commit | 5a806bdbdee9e13bd51cc934d44461cb417c21ba (patch) | |
tree | e27728d0d62643d537703709ce2f92ce251092fa /sys/dev/pci/pci.c | |
parent | 7153bb5d5537f59dd7cad8475561353f64f08c12 (diff) | |
download | FreeBSD-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.c | 8 |
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: |