summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
authortmm <tmm@FreeBSD.org>2003-07-01 13:54:10 +0000
committertmm <tmm@FreeBSD.org>2003-07-01 13:54:10 +0000
commit80cc92f5ec49101c39cee17b408fd2c5b000d305 (patch)
tree2c01cb043d369e0634a2234e2fb6f67f6243f9f6 /sys/dev
parentf71aabaec8193debe1772b8eb2160ddfd45f22c5 (diff)
downloadFreeBSD-src-80cc92f5ec49101c39cee17b408fd2c5b000d305.zip
FreeBSD-src-80cc92f5ec49101c39cee17b408fd2c5b000d305.tar.gz
Allow to write the intpin ivar using the pci_set_intpin() accessor. There
are some Sun PCI devices around which bogusly set intpin to 0, although they use the intline mechanism; this allows the device driver to correct that. Reviewed by: imp
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/pci/pci.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/dev/pci/pci.c b/sys/dev/pci/pci.c
index f5cd677..71865a8 100644
--- a/sys/dev/pci/pci.c
+++ b/sys/dev/pci/pci.c
@@ -1232,6 +1232,9 @@ pci_write_ivar(device_t dev, device_t child, int which, uintptr_t value)
dinfo = device_get_ivars(child);
switch (which) {
+ case PCI_IVAR_INTPIN:
+ dinfo->cfg.intpin = value;
+ return (0);
case PCI_IVAR_ETHADDR:
case PCI_IVAR_SUBVENDOR:
case PCI_IVAR_SUBDEVICE:
@@ -1242,7 +1245,6 @@ pci_write_ivar(device_t dev, device_t child, int which, uintptr_t value)
case PCI_IVAR_SUBCLASS:
case PCI_IVAR_PROGIF:
case PCI_IVAR_REVID:
- case PCI_IVAR_INTPIN:
case PCI_IVAR_IRQ:
case PCI_IVAR_BUS:
case PCI_IVAR_SLOT:
OpenPOWER on IntegriCloud