summaryrefslogtreecommitdiffstats
path: root/usr.sbin/pciconf
diff options
context:
space:
mode:
authorbapt <bapt@FreeBSD.org>2015-09-06 20:05:29 +0000
committerbapt <bapt@FreeBSD.org>2015-09-06 20:05:29 +0000
commit50ceb9f7c2ddaa9609128a9a1033eb780b5c99a0 (patch)
tree20eb892a770518275d93833a64bac751f196897c /usr.sbin/pciconf
parentb198bf28c24ca161218edee32c43a3ae74b210d7 (diff)
downloadFreeBSD-src-50ceb9f7c2ddaa9609128a9a1033eb780b5c99a0.zip
FreeBSD-src-50ceb9f7c2ddaa9609128a9a1033eb780b5c99a0.tar.gz
Prefer pciids database from ports if present
Given the pciids database on ports is updated more often than the one in base prefer this version if present, otherwise read the one from base. MFC after: 1 week Relnotes: yes Differential Revision: https://reviews.freebsd.org/D3391
Diffstat (limited to 'usr.sbin/pciconf')
-rw-r--r--usr.sbin/pciconf/pathnames.h1
-rw-r--r--usr.sbin/pciconf/pciconf.86
-rw-r--r--usr.sbin/pciconf/pciconf.c7
3 files changed, 10 insertions, 4 deletions
diff --git a/usr.sbin/pciconf/pathnames.h b/usr.sbin/pciconf/pathnames.h
index 719615a..61c0993 100644
--- a/usr.sbin/pciconf/pathnames.h
+++ b/usr.sbin/pciconf/pathnames.h
@@ -1,3 +1,4 @@
/* $FreeBSD$ */
#define _PATH_DEVPCI "/dev/pci"
#define _PATH_PCIVDB "/usr/share/misc/pci_vendors"
+#define _PATH_LPCIVDB "/usr/local/share/pciids/pci.ids"
diff --git a/usr.sbin/pciconf/pciconf.8 b/usr.sbin/pciconf/pciconf.8
index e0caf1f..8dbb2a6 100644
--- a/usr.sbin/pciconf/pciconf.8
+++ b/usr.sbin/pciconf/pciconf.8
@@ -25,7 +25,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd January 20, 2014
+.Dd September 06, 2015
.Dt PCICONF 8
.Os
.Sh NAME
@@ -281,7 +281,9 @@ indicates a halfword (two-byte) operation.
The default is to read or
write a longword (four bytes).
.Sh ENVIRONMENT
-The PCI vendor/device information database is normally read from
+PCI vendor and device information is read from
+.Pa /usr/local/share/pciids/pci.ids .
+If that file is not present, it is read from
.Pa /usr/share/misc/pci_vendors .
This path can be overridden by setting the environment variable
.Ev PCICONF_VENDOR_DATABASE .
diff --git a/usr.sbin/pciconf/pciconf.c b/usr.sbin/pciconf/pciconf.c
index 31b3880..721d120 100644
--- a/usr.sbin/pciconf/pciconf.c
+++ b/usr.sbin/pciconf/pciconf.c
@@ -549,9 +549,12 @@ load_vendors(void)
*/
TAILQ_INIT(&pci_vendors);
if ((dbf = getenv("PCICONF_VENDOR_DATABASE")) == NULL)
+ dbf = _PATH_LPCIVDB;
+ if ((db = fopen(dbf, "r")) == NULL) {
dbf = _PATH_PCIVDB;
- if ((db = fopen(dbf, "r")) == NULL)
- return(1);
+ if ((db = fopen(dbf, "r")) == NULL)
+ return(1);
+ }
cv = NULL;
cd = NULL;
error = 0;
OpenPOWER on IntegriCloud