Module Name:    src
Committed By:   mrg
Date:           Fri Jul 25 01:38:27 UTC 2014

Modified Files:
        src/distrib/sets/lists/base: ad.arm ad.mips ad.powerpc md.amd64
            md.sparc64 shl.mi
        src/distrib/sets/lists/debug: ad.arm ad.mips ad.powerpc md.amd64
            md.sparc64 shl.mi
        src/lib/libpci: Makefile pci.3 pci.h shlib_version
        src/sys/dev/pci: pci_usrreq.c pciio.h
Added Files:
        src/lib/libpci: pci_drvname.c

Log Message:
introduce a new pci_drvname(3) to libpci.  implement it in the backend
via PCI_IOC_DRVNAME.

update manual and set lists (and remove a couple of doubled entries.)o

this will be used in libpciaccess() to implement the has_kernel_driver()
method.


To generate a diff of this commit:
cvs rdiff -u -r1.49 -r1.50 src/distrib/sets/lists/base/ad.arm
cvs rdiff -u -r1.45 -r1.46 src/distrib/sets/lists/base/ad.mips
cvs rdiff -u -r1.14 -r1.15 src/distrib/sets/lists/base/ad.powerpc
cvs rdiff -u -r1.239 -r1.240 src/distrib/sets/lists/base/md.amd64
cvs rdiff -u -r1.226 -r1.227 src/distrib/sets/lists/base/md.sparc64
cvs rdiff -u -r1.709 -r1.710 src/distrib/sets/lists/base/shl.mi
cvs rdiff -u -r1.39 -r1.40 src/distrib/sets/lists/debug/ad.arm
cvs rdiff -u -r1.35 -r1.36 src/distrib/sets/lists/debug/ad.mips
cvs rdiff -u -r1.15 -r1.16 src/distrib/sets/lists/debug/ad.powerpc
cvs rdiff -u -r1.60 -r1.61 src/distrib/sets/lists/debug/md.amd64
cvs rdiff -u -r1.58 -r1.59 src/distrib/sets/lists/debug/md.sparc64
cvs rdiff -u -r1.68 -r1.69 src/distrib/sets/lists/debug/shl.mi
cvs rdiff -u -r1.3 -r1.4 src/lib/libpci/Makefile src/lib/libpci/shlib_version
cvs rdiff -u -r1.7 -r1.8 src/lib/libpci/pci.3
cvs rdiff -u -r1.4 -r1.5 src/lib/libpci/pci.h
cvs rdiff -u -r0 -r1.1 src/lib/libpci/pci_drvname.c
cvs rdiff -u -r1.26 -r1.27 src/sys/dev/pci/pci_usrreq.c
cvs rdiff -u -r1.3 -r1.4 src/sys/dev/pci/pciio.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/distrib/sets/lists/base/ad.arm
diff -u src/distrib/sets/lists/base/ad.arm:1.49 src/distrib/sets/lists/base/ad.arm:1.50
--- src/distrib/sets/lists/base/ad.arm:1.49	Wed Jul 23 02:42:56 2014
+++ src/distrib/sets/lists/base/ad.arm	Fri Jul 25 01:38:27 2014
@@ -1,4 +1,4 @@
-# $NetBSD: ad.arm,v 1.49 2014/07/23 02:42:56 lneto Exp $
+# $NetBSD: ad.arm,v 1.50 2014/07/25 01:38:27 mrg Exp $
 ./lib/oabi					base-compat-shlib	compat
 ./lib/oabi/npf					base-npf-shlib		compat
 ./lib/oabi/npf/ext_log.so			base-npf-shlib		compat,pic
@@ -170,8 +170,8 @@
 ./usr/lib/oabi/libisccc.so.8			base-compat-shlib	compat,pic
 ./usr/lib/oabi/libisccc.so.8.0			base-compat-shlib	compat,pic
 ./usr/lib/oabi/libisccfg.so.8			base-compat-shlib	compat,pic
-./usr/lib/oabi/libisccfg.so.8.1			base-compat-shlib	compat,pic
 ./usr/lib/oabi/libisccfg.so.8.0			base-compat-shlib	obsolete
+./usr/lib/oabi/libisccfg.so.8.1			base-compat-shlib	compat,pic
 ./usr/lib/oabi/libiscsi.so.2			base-compat-shlib	compat,pic,iscsi
 ./usr/lib/oabi/libiscsi.so.2.0			base-compat-shlib	compat,pic,iscsi
 ./usr/lib/oabi/libisns.so.0			base-compat-shlib	compat,pic
@@ -241,9 +241,7 @@
 ./usr/lib/oabi/libpcap.so.5			base-compat-shlib	compat,pic
 ./usr/lib/oabi/libpcap.so.5.0			base-compat-shlib	compat,pic
 ./usr/lib/oabi/libpci.so.2			base-compat-shlib	compat,pic
-./usr/lib/oabi/libpci.so.2			base-compat-shlib	compat,pic
-./usr/lib/oabi/libpci.so.2.0			base-compat-shlib	compat,pic
-./usr/lib/oabi/libpci.so.2.0			base-compat-shlib	compat,pic
+./usr/lib/oabi/libpci.so.2.1			base-compat-shlib	compat,pic
 ./usr/lib/oabi/libperfuse.so.0			base-compat-shlib	compat,pic
 ./usr/lib/oabi/libperfuse.so.0.0		base-compat-shlib	compat,pic
 ./usr/lib/oabi/libpmc.so.1			base-compat-shlib	compat,pic

Index: src/distrib/sets/lists/base/ad.mips
diff -u src/distrib/sets/lists/base/ad.mips:1.45 src/distrib/sets/lists/base/ad.mips:1.46
--- src/distrib/sets/lists/base/ad.mips:1.45	Wed Jul 23 02:42:56 2014
+++ src/distrib/sets/lists/base/ad.mips	Fri Jul 25 01:38:27 2014
@@ -1,4 +1,4 @@
-# $NetBSD: ad.mips,v 1.45 2014/07/23 02:42:56 lneto Exp $
+# $NetBSD: ad.mips,v 1.46 2014/07/25 01:38:27 mrg Exp $
 ./lib/64					base-compat-shlib	compat,arch64
 ./lib/64/npf					base-npf-shlib		compat,arch64
 ./lib/64/npf/ext_log.so				base-npf-shlib		compat,pic,arch64
@@ -241,7 +241,7 @@
 ./usr/lib/64/libpcap.so.5			base-compat-shlib	compat,pic,arch64
 ./usr/lib/64/libpcap.so.5.0			base-compat-shlib	compat,pic,arch64
 ./usr/lib/64/libpci.so.2			base-compat-shlib	compat,pic,arch64
-./usr/lib/64/libpci.so.2.0			base-compat-shlib	compat,pic,arch64
+./usr/lib/64/libpci.so.2.1			base-compat-shlib	compat,pic,arch64
 ./usr/lib/64/libperfuse.so.0			base-compat-shlib	compat,pic,arch64
 ./usr/lib/64/libperfuse.so.0.0			base-compat-shlib	compat,pic,arch64
 ./usr/lib/64/libposix.so.0			base-compat-shlib	compat,pic,arch64
@@ -580,7 +580,7 @@
 ./usr/lib/o32/libpcap.so.5			base-compat-shlib	compat,pic,arch64
 ./usr/lib/o32/libpcap.so.5.0			base-compat-shlib	compat,pic,arch64
 ./usr/lib/o32/libpci.so.2			base-compat-shlib	compat,pic,arch64
-./usr/lib/o32/libpci.so.2.0			base-compat-shlib	compat,pic,arch64
+./usr/lib/o32/libpci.so.2.1			base-compat-shlib	compat,pic,arch64
 ./usr/lib/o32/libperfuse.so.0			base-compat-shlib	compat,pic,arch64
 ./usr/lib/o32/libperfuse.so.0.0			base-compat-shlib	compat,pic,arch64
 ./usr/lib/o32/libposix.so.0			base-compat-shlib	compat,pic,arch64

Index: src/distrib/sets/lists/base/ad.powerpc
diff -u src/distrib/sets/lists/base/ad.powerpc:1.14 src/distrib/sets/lists/base/ad.powerpc:1.15
--- src/distrib/sets/lists/base/ad.powerpc:1.14	Wed Jul 23 02:42:56 2014
+++ src/distrib/sets/lists/base/ad.powerpc	Fri Jul 25 01:38:27 2014
@@ -1,4 +1,4 @@
-# $NetBSD: ad.powerpc,v 1.14 2014/07/23 02:42:56 lneto Exp $
+# $NetBSD: ad.powerpc,v 1.15 2014/07/25 01:38:27 mrg Exp $
 ./lib/powerpc					base-npf-shlib		compat,arch64
 ./lib/powerpc/npf				base-npf-shlib		compat,arch64
 ./lib/powerpc/npf/ext_log.so			base-npf-shlib		compat,arch64,pic
@@ -220,7 +220,7 @@
 ./usr/lib/powerpc/libpcap.so.5			base-compat-shlib	compat,arch64,pic
 ./usr/lib/powerpc/libpcap.so.5.0		base-compat-shlib	compat,arch64,pic
 ./usr/lib/powerpc/libpci.so.2			base-compat-shlib	compat,arch64,pic
-./usr/lib/powerpc/libpci.so.2.0			base-compat-shlib	compat,arch64,pic
+./usr/lib/powerpc/libpci.so.2.1			base-compat-shlib	compat,arch64,pic
 ./usr/lib/powerpc/libperfuse.so			base-compat-shlib       compat,arch64,pic		
 ./usr/lib/powerpc/libperfuse.so.0		base-compat-shlib       compat,arch64,pic
 ./usr/lib/powerpc/libperfuse.so.0.0		base-compat-shlib       compat,arch64,pic

Index: src/distrib/sets/lists/base/md.amd64
diff -u src/distrib/sets/lists/base/md.amd64:1.239 src/distrib/sets/lists/base/md.amd64:1.240
--- src/distrib/sets/lists/base/md.amd64:1.239	Wed Jul 23 02:42:56 2014
+++ src/distrib/sets/lists/base/md.amd64	Fri Jul 25 01:38:27 2014
@@ -1,4 +1,4 @@
-# $NetBSD: md.amd64,v 1.239 2014/07/23 02:42:56 lneto Exp $
+# $NetBSD: md.amd64,v 1.240 2014/07/25 01:38:27 mrg Exp $
 ./dev/lms0					base-obsolete		obsolete
 ./dev/mms0					base-obsolete		obsolete
 ./lib/i386					base-compat-shlib		compat
@@ -238,7 +238,7 @@
 ./usr/lib/i386/libpcap.so.5			base-compat-shlib	compat,pic
 ./usr/lib/i386/libpcap.so.5.0			base-compat-shlib	compat,pic
 ./usr/lib/i386/libpci.so.2			base-compat-shlib	compat,pic
-./usr/lib/i386/libpci.so.2.0			base-compat-shlib	compat,pic
+./usr/lib/i386/libpci.so.2.1			base-compat-shlib	compat,pic
 ./usr/lib/i386/libperfuse.so			base-compat-shlib       compat,pic
 ./usr/lib/i386/libperfuse.so.0			base-compat-shlib       compat,pic
 ./usr/lib/i386/libperfuse.so.0.0		base-compat-shlib       compat,pic

Index: src/distrib/sets/lists/base/md.sparc64
diff -u src/distrib/sets/lists/base/md.sparc64:1.226 src/distrib/sets/lists/base/md.sparc64:1.227
--- src/distrib/sets/lists/base/md.sparc64:1.226	Wed Jul 23 02:42:56 2014
+++ src/distrib/sets/lists/base/md.sparc64	Fri Jul 25 01:38:27 2014
@@ -1,4 +1,4 @@
-# $NetBSD: md.sparc64,v 1.226 2014/07/23 02:42:56 lneto Exp $
+# $NetBSD: md.sparc64,v 1.227 2014/07/25 01:38:27 mrg Exp $
 ./lib/sparc					base-npf-shlib		compat
 ./lib/sparc/npf					base-npf-shlib		compat
 ./lib/sparc/npf/ext_log.so			base-npf-shlib		compat,pic
@@ -233,7 +233,7 @@
 ./usr/lib/sparc/libpcap.so.5			base-compat-shlib	compat,pic
 ./usr/lib/sparc/libpcap.so.5.0			base-compat-shlib	compat,pic
 ./usr/lib/sparc/libpci.so.2			base-compat-shlib	compat,pic
-./usr/lib/sparc/libpci.so.2.0			base-compat-shlib	compat,pic
+./usr/lib/sparc/libpci.so.2.1			base-compat-shlib	compat,pic
 ./usr/lib/sparc/libperfuse.so			base-compat-shlib       compat,pic		
 ./usr/lib/sparc/libperfuse.so.0			base-compat-shlib       compat,pic
 ./usr/lib/sparc/libperfuse.so.0.0		base-compat-shlib       compat,pic

Index: src/distrib/sets/lists/base/shl.mi
diff -u src/distrib/sets/lists/base/shl.mi:1.709 src/distrib/sets/lists/base/shl.mi:1.710
--- src/distrib/sets/lists/base/shl.mi:1.709	Wed Jul 23 02:42:56 2014
+++ src/distrib/sets/lists/base/shl.mi	Fri Jul 25 01:38:27 2014
@@ -1,4 +1,4 @@
-# $NetBSD: shl.mi,v 1.709 2014/07/23 02:42:56 lneto Exp $
+# $NetBSD: shl.mi,v 1.710 2014/07/25 01:38:27 mrg Exp $
 #
 # Note:	Don't delete entries from here - mark them as "obsolete" instead,
 #	unless otherwise stated below.
@@ -421,7 +421,7 @@
 ./usr/lib/libpcap.so.5.0			base-net-shlib
 ./usr/lib/libpci.so				base-sys-shlib
 ./usr/lib/libpci.so.2				base-sys-shlib
-./usr/lib/libpci.so.2.0				base-sys-shlib
+./usr/lib/libpci.so.2.1				base-sys-shlib
 ./usr/lib/libperfuse.so				base-perfuse-shlib
 ./usr/lib/libperfuse.so.0			base-perfuse-shlib
 ./usr/lib/libperfuse.so.0.0			base-perfuse-shlib

Index: src/distrib/sets/lists/debug/ad.arm
diff -u src/distrib/sets/lists/debug/ad.arm:1.39 src/distrib/sets/lists/debug/ad.arm:1.40
--- src/distrib/sets/lists/debug/ad.arm:1.39	Sat Jul 19 18:38:33 2014
+++ src/distrib/sets/lists/debug/ad.arm	Fri Jul 25 01:38:27 2014
@@ -1,4 +1,4 @@
-# $NetBSD: ad.arm,v 1.39 2014/07/19 18:38:33 lneto Exp $
+# $NetBSD: ad.arm,v 1.40 2014/07/25 01:38:27 mrg Exp $
 ./usr/lib/libarm_g.a				comp-c-debuglib		debuglib
 ./usr/lib/libc_vfp_g.a				comp-c-debuglib		debuglib,softfloat
 ./usr/lib/libpmc_g.a				comp-c-debuglib		debuglib
@@ -155,7 +155,7 @@
 ./usr/libdata/debug/usr/lib/oabi/libp2k.so.2.0.debug		comp-puffs-debug	debug,compat,rump
 ./usr/libdata/debug/usr/lib/oabi/libpam.so.4.0.debug		comp-sys-debug	pam,debug,compat
 ./usr/libdata/debug/usr/lib/oabi/libpcap.so.5.0.debug	comp-net-debug	debug,compat
-./usr/libdata/debug/usr/lib/oabi/libpci.so.2.0.debug		comp-sys-debug	debug,compat
+./usr/libdata/debug/usr/lib/oabi/libpci.so.2.1.debug		comp-sys-debug	debug,compat
 ./usr/libdata/debug/usr/lib/oabi/libperfuse.so.0.0.debug	comp-compat-shlib	compat,pic,debug
 ./usr/libdata/debug/usr/lib/oabi/libpmc.so.1.0.debug		comp-sys-debug	debug,compat
 ./usr/libdata/debug/usr/lib/oabi/libposix.so.0.1.debug	comp-sys-debug	debug,compat

Index: src/distrib/sets/lists/debug/ad.mips
diff -u src/distrib/sets/lists/debug/ad.mips:1.35 src/distrib/sets/lists/debug/ad.mips:1.36
--- src/distrib/sets/lists/debug/ad.mips:1.35	Sat Jul 19 18:38:33 2014
+++ src/distrib/sets/lists/debug/ad.mips	Fri Jul 25 01:38:27 2014
@@ -1,4 +1,4 @@
-# $NetBSD: ad.mips,v 1.35 2014/07/19 18:38:33 lneto Exp $
+# $NetBSD: ad.mips,v 1.36 2014/07/25 01:38:27 mrg Exp $
 ./usr/lib/64/libcrypto_g.a			comp-c-debuglib		compat,crypto,debuglib,arch64
 ./usr/lib/64/libcrypto_idea_g.a			comp-obsolete		obsolete
 ./usr/lib/64/libcrypto_mdc2_g.a			comp-obsolete		obsolete
@@ -160,7 +160,7 @@
 ./usr/libdata/debug/usr/lib/64/libp2k.so.2.0.debug		comp-puffs-debug	debug,compat,rump,arch64
 ./usr/libdata/debug/usr/lib/64/libpam.so.4.0.debug		comp-sys-debug	pam,debug,compat,arch64
 ./usr/libdata/debug/usr/lib/64/libpcap.so.5.0.debug	comp-net-debug	debug,compat,arch64
-./usr/libdata/debug/usr/lib/64/libpci.so.2.0.debug		comp-sys-debug	debug,compat,arch64
+./usr/libdata/debug/usr/lib/64/libpci.so.2.1.debug		comp-sys-debug	debug,compat,arch64
 ./usr/libdata/debug/usr/lib/64/libperfuse.so.0.0.debug	comp-compat-shlib	compat,pic,debug,arch64
 ./usr/libdata/debug/usr/lib/64/libposix.so.0.1.debug	comp-sys-debug	debug,compat,arch64
 ./usr/libdata/debug/usr/lib/64/libppath.so.0.0.debug	comp-sys-debug	debug,compat,arch64
@@ -338,7 +338,7 @@
 ./usr/libdata/debug/usr/lib/o32/libp2k.so.2.0.debug		comp-puffs-debug	debug,compat,rump,arch64
 ./usr/libdata/debug/usr/lib/o32/libpam.so.4.0.debug		comp-sys-debug	pam,debug,compat,arch64
 ./usr/libdata/debug/usr/lib/o32/libpcap.so.5.0.debug	comp-net-debug	debug,compat,arch64
-./usr/libdata/debug/usr/lib/o32/libpci.so.2.0.debug		comp-sys-debug	debug,compat,arch64
+./usr/libdata/debug/usr/lib/o32/libpci.so.2.1.debug		comp-sys-debug	debug,compat,arch64
 ./usr/libdata/debug/usr/lib/o32/libperfuse.so.0.0.debug	comp-compat-shlib	compat,pic,debug,arch64
 ./usr/libdata/debug/usr/lib/o32/libposix.so.0.1.debug	comp-sys-debug	debug,compat,arch64
 ./usr/libdata/debug/usr/lib/o32/libppath.so.0.0.debug	comp-sys-debug	debug,compat,arch64

Index: src/distrib/sets/lists/debug/ad.powerpc
diff -u src/distrib/sets/lists/debug/ad.powerpc:1.15 src/distrib/sets/lists/debug/ad.powerpc:1.16
--- src/distrib/sets/lists/debug/ad.powerpc:1.15	Sat Jul 19 18:38:33 2014
+++ src/distrib/sets/lists/debug/ad.powerpc	Fri Jul 25 01:38:27 2014
@@ -1,4 +1,4 @@
-# $NetBSD: ad.powerpc,v 1.15 2014/07/19 18:38:33 lneto Exp $
+# $NetBSD: ad.powerpc,v 1.16 2014/07/25 01:38:27 mrg Exp $
 ./usr/lib/powerpc/libamu_g.a			comp-c-debuglib		compat,arch64,debuglib
 ./usr/lib/powerpc/libarchive_g.a		comp-c-debuglib		compat,arch64,debuglib
 ./usr/lib/powerpc/libasn1_g.a			comp-c-debuglib		compat,arch64,debuglib,kerberos
@@ -222,7 +222,7 @@
 ./usr/libdata/debug/usr/lib/powerpc/libp2k.so.2.0.debug			comp-compat-shlib	compat,arch64,debug,pic,rump
 ./usr/libdata/debug/usr/lib/powerpc/libpam.so.4.0.debug			comp-compat-shlib	compat,arch64,debug,pic
 ./usr/libdata/debug/usr/lib/powerpc/libpcap.so.5.0.debug			comp-compat-shlib	compat,arch64,debug,pic
-./usr/libdata/debug/usr/lib/powerpc/libpci.so.2.0.debug			comp-compat-shlib	compat,arch64,debug,pic
+./usr/libdata/debug/usr/lib/powerpc/libpci.so.2.1.debug			comp-compat-shlib	compat,arch64,debug,pic
 ./usr/libdata/debug/usr/lib/powerpc/libperfuse.so.0.0.debug			comp-compat-shlib	compat,arch64,debug,pic
 ./usr/libdata/debug/usr/lib/powerpc/libposix.so.0.1.debug			comp-compat-shlib	compat,arch64,debug,pic
 ./usr/libdata/debug/usr/lib/powerpc/libppath.so.0.0.debug	comp-compat-shlib	compat,arch64,debug,pic

Index: src/distrib/sets/lists/debug/md.amd64
diff -u src/distrib/sets/lists/debug/md.amd64:1.60 src/distrib/sets/lists/debug/md.amd64:1.61
--- src/distrib/sets/lists/debug/md.amd64:1.60	Sat Jul 19 18:38:33 2014
+++ src/distrib/sets/lists/debug/md.amd64	Fri Jul 25 01:38:27 2014
@@ -1,4 +1,4 @@
-# $NetBSD: md.amd64,v 1.60 2014/07/19 18:38:33 lneto Exp $
+# $NetBSD: md.amd64,v 1.61 2014/07/25 01:38:27 mrg Exp $
 ./usr/lib/i386/i18n/libBIG5_g.a			comp-c-debuglib		compat,debuglib
 ./usr/lib/i386/i18n/libDECHanyu_g.a		comp-c-debuglib		compat,debuglib
 ./usr/lib/i386/i18n/libEUCTW_g.a		comp-c-debuglib		compat,debuglib
@@ -285,7 +285,7 @@
 ./usr/libdata/debug/usr/lib/i386/libp2k.so.2.0.debug	comp-compat-shlib	compat,pic,debug,rump
 ./usr/libdata/debug/usr/lib/i386/libpam.so.4.0.debug	comp-compat-shlib	compat,pic,pam,debug
 ./usr/libdata/debug/usr/lib/i386/libpcap.so.5.0.debug	comp-compat-shlib	compat,pic,debug
-./usr/libdata/debug/usr/lib/i386/libpci.so.2.0.debug	comp-compat-shlib	compat,pic,debug
+./usr/libdata/debug/usr/lib/i386/libpci.so.2.1.debug	comp-compat-shlib	compat,pic,debug
 ./usr/libdata/debug/usr/lib/i386/libperfuse.so.0.0.debug	comp-compat-shlib	compat,pic,debug
 ./usr/libdata/debug/usr/lib/i386/libposix.so.0.1.debug	comp-compat-shlib	compat,pic,debug
 ./usr/libdata/debug/usr/lib/i386/libppath.so.0.0.debug	comp-compat-shlib	compat,pic,debug

Index: src/distrib/sets/lists/debug/md.sparc64
diff -u src/distrib/sets/lists/debug/md.sparc64:1.58 src/distrib/sets/lists/debug/md.sparc64:1.59
--- src/distrib/sets/lists/debug/md.sparc64:1.58	Sat Jul 19 18:38:33 2014
+++ src/distrib/sets/lists/debug/md.sparc64	Fri Jul 25 01:38:27 2014
@@ -1,4 +1,4 @@
-# $NetBSD: md.sparc64,v 1.58 2014/07/19 18:38:33 lneto Exp $
+# $NetBSD: md.sparc64,v 1.59 2014/07/25 01:38:27 mrg Exp $
 ./usr/lib/sparc/i18n/libBIG5_g.a		comp-obsolete		obsolete
 ./usr/lib/sparc/i18n/libDECHanyu_g.a		comp-obsolete		obsolete
 ./usr/lib/sparc/i18n/libEUCTW_g.a		comp-obsolete		obsolete
@@ -278,7 +278,7 @@
 ./usr/libdata/debug/usr/lib/sparc/libp2k.so.2.0.debug			comp-compat-shlib	compat,pic,debug,rump
 ./usr/libdata/debug/usr/lib/sparc/libpam.so.4.0.debug			comp-compat-shlib	compat,pic,debug
 ./usr/libdata/debug/usr/lib/sparc/libpcap.so.5.0.debug			comp-compat-shlib	compat,pic,debug
-./usr/libdata/debug/usr/lib/sparc/libpci.so.2.0.debug			comp-compat-shlib	compat,pic,debug
+./usr/libdata/debug/usr/lib/sparc/libpci.so.2.1.debug			comp-compat-shlib	compat,pic,debug
 ./usr/libdata/debug/usr/lib/sparc/libperfuse.so.0.0.debug			comp-compat-shlib	compat,pic,debug
 ./usr/libdata/debug/usr/lib/sparc/libposix.so.0.1.debug			comp-compat-shlib	compat,pic,debug
 ./usr/libdata/debug/usr/lib/sparc/libppath.so.0.0.debug	comp-compat-shlib	compat,pic,debug

Index: src/distrib/sets/lists/debug/shl.mi
diff -u src/distrib/sets/lists/debug/shl.mi:1.68 src/distrib/sets/lists/debug/shl.mi:1.69
--- src/distrib/sets/lists/debug/shl.mi:1.68	Sat Jul 19 18:38:33 2014
+++ src/distrib/sets/lists/debug/shl.mi	Fri Jul 25 01:38:27 2014
@@ -1,4 +1,4 @@
-# $NetBSD: shl.mi,v 1.68 2014/07/19 18:38:33 lneto Exp $
+# $NetBSD: shl.mi,v 1.69 2014/07/25 01:38:27 mrg Exp $
 ./usr/libdata/debug/lib/libc.so.12.192.debug		comp-sys-debug	debug
 ./usr/libdata/debug/lib/libcrypt.so.1.0.debug		comp-sys-debug	debug
 ./usr/libdata/debug/lib/libcrypto.so.8.2.debug		comp-sys-debug	debug
@@ -146,7 +146,7 @@
 ./usr/libdata/debug/usr/lib/libp2k.so.2.0.debug		comp-puffs-debug	debug,rump
 ./usr/libdata/debug/usr/lib/libpam.so.4.0.debug		comp-sys-debug	pam,debug
 ./usr/libdata/debug/usr/lib/libpcap.so.5.0.debug	comp-net-debug	debug
-./usr/libdata/debug/usr/lib/libpci.so.2.0.debug		comp-sys-debug	debug
+./usr/libdata/debug/usr/lib/libpci.so.2.1.debug		comp-sys-debug	debug
 ./usr/libdata/debug/usr/lib/libperfuse.so.0.0.debug	comp-perfuse-debug	debug
 ./usr/libdata/debug/usr/lib/libposix.so.0.1.debug	comp-sys-debug	debug
 ./usr/libdata/debug/usr/lib/libppath.so.0.0.debug	comp-sys-debug	debug

Index: src/lib/libpci/Makefile
diff -u src/lib/libpci/Makefile:1.3 src/lib/libpci/Makefile:1.4
--- src/lib/libpci/Makefile:1.3	Mon May 24 20:31:17 2010
+++ src/lib/libpci/Makefile	Fri Jul 25 01:38:26 2014
@@ -1,10 +1,10 @@
-#	$NetBSD: Makefile,v 1.3 2010/05/24 20:31:17 pgoyette Exp $
+#	$NetBSD: Makefile,v 1.4 2014/07/25 01:38:26 mrg Exp $
 
 .include <bsd.own.mk>
 
 LIB=	pci
 
-SRCS=	pci_bus.c pci_device.c pci_subr.c pci_verbose.c
+SRCS=	pci_bus.c pci_device.c pci_drvname.c pci_subr.c pci_verbose.c
 
 .PATH.c: ${NETBSDSRCDIR}/sys/dev/pci
 
Index: src/lib/libpci/shlib_version
diff -u src/lib/libpci/shlib_version:1.3 src/lib/libpci/shlib_version:1.4
--- src/lib/libpci/shlib_version:1.3	Sun Jan 11 03:07:49 2009
+++ src/lib/libpci/shlib_version	Fri Jul 25 01:38:26 2014
@@ -1,5 +1,5 @@
-#	$NetBSD: shlib_version,v 1.3 2009/01/11 03:07:49 christos Exp $
+#	$NetBSD: shlib_version,v 1.4 2014/07/25 01:38:26 mrg Exp $
 #	Remember to update distrib/sets/lists/base/shl.* when changing
 #
 major=2
-minor=0
+minor=1

Index: src/lib/libpci/pci.3
diff -u src/lib/libpci/pci.3:1.7 src/lib/libpci/pci.3:1.8
--- src/lib/libpci/pci.3:1.7	Fri Oct 23 15:41:58 2009
+++ src/lib/libpci/pci.3	Fri Jul 25 01:38:26 2014
@@ -1,4 +1,4 @@
-.\"	$NetBSD: pci.3,v 1.7 2009/10/23 15:41:58 cegger Exp $
+.\"	$NetBSD: pci.3,v 1.8 2014/07/25 01:38:26 mrg Exp $
 .\"
 .\" Copyright 2001 Wasabi Systems, Inc.
 .\" All rights reserved.
@@ -33,7 +33,7 @@
 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd April 24, 2004
+.Dd July 24, 2014
 .Dt PCI 3
 .Os
 .Sh NAME
@@ -59,6 +59,8 @@
 .Fn pci_devinfo "pcireg_t id_reg" "pcireg_t class_reg" "char *devinfo" "size_t len"
 .Ft void
 .Fn pci_conf_print "int pcifd" "u_int bus" "u_int dev" "u_int func"
+.Ft int
+.Fn pci_drvname "int pcifd" "u_int dev" "u_int func" "char *drvname" "size_t len"
 .Sh DESCRIPTION
 The
 .Nm
@@ -134,14 +136,28 @@ at
 .Fa func .
 .Fa pcifd
 must be an open file descriptor to a PCI bus within the target PCI domain.
+.It Fn pci_drvname
+For the PCI bus opened on
+.Fa pcifd ,
+return the driver name for
+.Fa dev
+and
+.Fa func
+into
+.Fa drvname
+using 
+.Fa len
+as the buffer length.
 .El
 .Sh RETURN VALUES
 The
 .Fn pcibus_conf_read ,
 .Fn pcibus_conf_write ,
 .Fn pcidev_conf_read ,
+.Fn pcidev_conf_write ,
+.Fn pci_devinfo
 and
-.Fn pcidev_conf_write
+.Fn pci_drvname
 functions return 0 on success and -1 on failure.
 .Pp
 The
@@ -162,3 +178,7 @@ and
 .Fn pci_conf_print
 functions first appeared in
 .Nx 1.6 .
+The
+.Fn pci_drvname
+function first appeared in
+.Nx 7.0 .

Index: src/lib/libpci/pci.h
diff -u src/lib/libpci/pci.h:1.4 src/lib/libpci/pci.h:1.5
--- src/lib/libpci/pci.h:1.4	Tue May 25 08:35:47 2010
+++ src/lib/libpci/pci.h	Fri Jul 25 01:38:26 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: pci.h,v 1.4 2010/05/25 08:35:47 pgoyette Exp $	*/
+/*	$NetBSD: pci.h,v 1.5 2014/07/25 01:38:26 mrg Exp $	*/
 
 /*
  * Copyright 2001 Wasabi Systems, Inc.
@@ -52,6 +52,9 @@ int	pcibus_conf_write(int, u_int, u_int,
 int	pcidev_conf_read(int, u_int, pcireg_t *);
 int	pcidev_conf_write(int, u_int, pcireg_t);
 
+/* pci_drvname.c */
+int	pci_drvname(int, u_int, u_int, char *, size_t);
+
 /* pci_subr.c */
 const char *pci_findvendor_real(pcireg_t);
 const char *pci_findproduct_real(pcireg_t);

Index: src/sys/dev/pci/pci_usrreq.c
diff -u src/sys/dev/pci/pci_usrreq.c:1.26 src/sys/dev/pci/pci_usrreq.c:1.27
--- src/sys/dev/pci/pci_usrreq.c:1.26	Wed May 28 04:41:52 2014
+++ src/sys/dev/pci/pci_usrreq.c	Fri Jul 25 01:38:26 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: pci_usrreq.c,v 1.26 2014/05/28 04:41:52 riastradh Exp $	*/
+/*	$NetBSD: pci_usrreq.c,v 1.27 2014/07/25 01:38:26 mrg Exp $	*/
 
 /*
  * Copyright 2001 Wasabi Systems, Inc.
@@ -40,7 +40,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pci_usrreq.c,v 1.26 2014/05/28 04:41:52 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pci_usrreq.c,v 1.27 2014/07/25 01:38:26 mrg Exp $");
 
 #include <sys/param.h>
 #include <sys/conf.h>
@@ -74,8 +74,10 @@ static int
 pciioctl(dev_t dev, u_long cmd, void *data, int flag, struct lwp *l)
 {
 	struct pci_softc *sc = device_lookup_private(&pci_cd, minor(dev));
+	struct pci_child *child;
 	struct pciio_bdf_cfgreg *bdfr;
 	struct pciio_businfo *binfo;
+	struct pciio_drvname *dname;
 	pcitag_t tag;
 
 	switch (cmd) {
@@ -105,6 +107,17 @@ pciioctl(dev_t dev, u_long cmd, void *da
 		binfo->maxdevs = sc->sc_maxndevs;
 		return 0;
 
+	case PCI_IOC_DRVNAME:
+		dname = data;
+		if (dname->device >= sc->sc_maxndevs || dname->function > 7)
+			return EINVAL;
+		child = &sc->PCI_SC_DEVICESC(dname->device, dname->function);
+		if (!child->c_dev)
+			return ENXIO;
+		strlcpy(dname->name, device_xname(child->c_dev),
+			sizeof dname->name);
+		return 0;
+
 	default:
 		return ENOTTY;
 	}

Index: src/sys/dev/pci/pciio.h
diff -u src/sys/dev/pci/pciio.h:1.3 src/sys/dev/pci/pciio.h:1.4
--- src/sys/dev/pci/pciio.h:1.3	Sat Jun  6 12:56:43 2009
+++ src/sys/dev/pci/pciio.h	Fri Jul 25 01:38:26 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: pciio.h,v 1.3 2009/06/06 12:56:43 cegger Exp $	*/
+/*	$NetBSD: pciio.h,v 1.4 2014/07/25 01:38:26 mrg Exp $	*/
 
 /*
  * Copyright 2001 Wasabi Systems, Inc.
@@ -93,4 +93,21 @@ struct pciio_businfo {
 
 #define	PCI_IOC_BUSINFO		 _IOR('P', 4, struct pciio_businfo)
 
+/*
+ * pciio_drvname:
+ *
+ *      Driver info for a PCI device (autoconfiguration node) instance.
+ *      Must be run on the correct bus.
+ */
+
+#define PCI_IO_DRVNAME_LEN	16
+struct pciio_drvname {
+	u_int	device;				/* in: device number */
+	u_int	function;			/* in: function number */
+	char	name[PCI_IO_DRVNAME_LEN];
+};
+
+#define	PCI_IOC_DRVNAME		_IOWR('P', 5, struct pciio_drvname)
+
+
 #endif /* _DEV_PCI_PCIIO_H_ */

Added files:

Index: src/lib/libpci/pci_drvname.c
diff -u /dev/null src/lib/libpci/pci_drvname.c:1.1
--- /dev/null	Fri Jul 25 01:38:27 2014
+++ src/lib/libpci/pci_drvname.c	Fri Jul 25 01:38:26 2014
@@ -0,0 +1,62 @@
+/*	$NetBSD: pci_drvname.c,v 1.1 2014/07/25 01:38:26 mrg Exp $	*/
+
+/*
+ * Copyright (c) 2014 Matthew R. Green
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <sys/cdefs.h>
+__RCSID("$NetBSD: pci_drvname.c,v 1.1 2014/07/25 01:38:26 mrg Exp $");
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <string.h>
+
+#include <pci.h>
+
+#include <dev/pci/pciio.h>
+
+/*
+ * pci_drvname:
+ *
+ *	What's the driver name for a PCI device?
+ */
+int
+pci_drvname(int fd, u_int device, u_int func, char *name, size_t len)
+{
+	struct pciio_drvname drvname;
+	int rv;
+
+	drvname.device = device;
+	drvname.function = func;
+
+	rv = ioctl(fd, PCI_IOC_DRVNAME, &drvname);
+	if (rv == -1)
+		return -1;
+
+	strlcpy(name, drvname.name, len);
+	return 0;
+}

Reply via email to