diff options
author | tmm <tmm@FreeBSD.org> | 2003-07-01 13:54:10 +0000 |
---|---|---|
committer | tmm <tmm@FreeBSD.org> | 2003-07-01 13:54:10 +0000 |
commit | 80cc92f5ec49101c39cee17b408fd2c5b000d305 (patch) | |
tree | 2c01cb043d369e0634a2234e2fb6f67f6243f9f6 /sys/dev | |
parent | f71aabaec8193debe1772b8eb2160ddfd45f22c5 (diff) | |
download | FreeBSD-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.c | 4 |
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: |