From owner-svn-src-all@FreeBSD.ORG Sat Jul 9 19:01:50 2011 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AFCB4106566B; Sat, 9 Jul 2011 19:01:50 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id 4AEFA8FC1E; Sat, 9 Jul 2011 19:01:50 +0000 (UTC) Received: from 63.imp.bsdimp.com (63.imp.bsdimp.com [10.0.0.63]) (authenticated bits=0) by harmony.bsdimp.com (8.14.4/8.14.3) with ESMTP id p69Iu63n008957 (version=TLSv1/SSLv3 cipher=DHE-DSS-AES128-SHA bits=128 verify=NO); Sat, 9 Jul 2011 12:56:07 -0600 (MDT) (envelope-from imp@bsdimp.com) Mime-Version: 1.0 (Apple Message framework v1084) Content-Type: text/plain; charset=us-ascii From: Warner Losh In-Reply-To: <201107091430.p69EUDf8003975@svn.freebsd.org> Date: Sat, 9 Jul 2011 12:56:10 -0600 Content-Transfer-Encoding: quoted-printable Message-Id: <307FA901-53F0-4622-98AE-329FAE9762A1@bsdimp.com> References: <201107091430.p69EUDf8003975@svn.freebsd.org> To: Konstantin Belousov X-Mailer: Apple Mail (2.1084) X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.0.1 (harmony.bsdimp.com [10.0.0.6]); Sat, 09 Jul 2011 12:56:07 -0600 (MDT) Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r223885 - head/sys/dev/pci X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 09 Jul 2011 19:01:50 -0000 Should't this be called 'pci_find_first_class()"? Also, can you add a = man page for it, or at least document what it is supposed to be used for = in the code? Warenr On Jul 9, 2011, at 8:30 AM, Konstantin Belousov wrote: > Author: kib > Date: Sat Jul 9 14:30:13 2011 > New Revision: 223885 > URL: http://svn.freebsd.org/changeset/base/223885 >=20 > Log: > Implement pci_find_class(9), the function to find a pci device by its = class. >=20 > Sponsored by: The FreeBSD Foundation > Reviewed by: jhb > MFC after: 1 week >=20 > Modified: > head/sys/dev/pci/pci.c > head/sys/dev/pci/pcivar.h >=20 > Modified: head/sys/dev/pci/pci.c > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D > --- head/sys/dev/pci/pci.c Sat Jul 9 14:29:23 2011 = (r223884) > +++ head/sys/dev/pci/pci.c Sat Jul 9 14:30:13 2011 = (r223885) > @@ -347,6 +347,21 @@ pci_find_device(uint16_t vendor, uint16_ > return (NULL); > } >=20 > +device_t > +pci_find_class(uint8_t class, uint8_t subclass) > +{ > + struct pci_devinfo *dinfo; > + > + STAILQ_FOREACH(dinfo, &pci_devq, pci_links) { > + if (dinfo->cfg.baseclass =3D=3D class && > + dinfo->cfg.subclass =3D=3D subclass) { > + return (dinfo->cfg.dev); > + } > + } > + > + return (NULL); > +} > + > static int > pci_printf(pcicfgregs *cfg, const char *fmt, ...) > { >=20 > Modified: head/sys/dev/pci/pcivar.h > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D > --- head/sys/dev/pci/pcivar.h Sat Jul 9 14:29:23 2011 = (r223884) > +++ head/sys/dev/pci/pcivar.h Sat Jul 9 14:30:13 2011 = (r223885) > @@ -457,6 +457,7 @@ pci_msix_count(device_t dev) > device_t pci_find_bsf(uint8_t, uint8_t, uint8_t); > device_t pci_find_dbsf(uint32_t, uint8_t, uint8_t, uint8_t); > device_t pci_find_device(uint16_t, uint16_t); > +device_t pci_find_class(uint8_t class, uint8_t subclass); >=20 > /* Can be used by drivers to manage the MSI-X table. */ > int pci_pending_msix(device_t dev, u_int index); >=20 >=20