Page MenuHomeFreeBSD

D27549.id80537.diff
No OneTemporary

D27549.id80537.diff

Index: sys/dev/pci/pci.c
===================================================================
--- sys/dev/pci/pci.c
+++ sys/dev/pci/pci.c
@@ -493,6 +493,28 @@
return (NULL);
}
+device_t
+pci_find_class_from(uint8_t class, uint8_t subclass, device_t from)
+{
+ struct pci_devinfo *dinfo;
+ bool found = false;
+
+ STAILQ_FOREACH(dinfo, &pci_devq, pci_links) {
+ if (from != NULL && found == false) {
+ if (from != dinfo->cfg.dev)
+ continue;
+ found = true;
+ continue;
+ }
+ if (dinfo->cfg.baseclass == class &&
+ dinfo->cfg.subclass == subclass) {
+ return (dinfo->cfg.dev);
+ }
+ }
+
+ return (NULL);
+}
+
static int
pci_printf(pcicfgregs *cfg, const char *fmt, ...)
{
Index: sys/dev/pci/pcivar.h
===================================================================
--- sys/dev/pci/pcivar.h
+++ sys/dev/pci/pcivar.h
@@ -666,6 +666,7 @@
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);
+device_t pci_find_class_from(uint8_t class, uint8_t subclass, device_t devfrom);
/* Can be used by drivers to manage the MSI-X table. */
int pci_pending_msix(device_t dev, u_int index);

File Metadata

Mime Type
text/plain
Expires
Sun, Nov 16, 2:57 PM (4 h, 41 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
25374055
Default Alt Text
D27549.id80537.diff (1 KB)

Event Timeline