path: root/sys/sys
diff options
authorRyan Stone <rstone@FreeBSD.org>2015-03-10 23:27:13 +0000
committerRyan Stone <rstone@FreeBSD.org>2015-03-10 23:27:13 +0000
commit1c229658b9d8cd364d8219489a563c0ed58e1567 (patch)
treef4bd98022dea28fc45ddb0e266b3e0ede3b1a14a /sys/sys
parent3cb3567d7e4edb73a4e73f676b496804c917ae55 (diff)
Fix SR-IOV passthrough devices to allow ppt to attach
A late change to the SR-IOV infrastructure broke passthrough of VFs. device_set_devclass() was being used to try to force the ppt driver to attach to the device, but this didn't work because the DF_FIXEDCLASS flag wasn't being set on the device, so the ppt driver probe routine would not match when it returned BUS_NOWILDCARD. Fix this by adding a new device function that both sets the devclass and sets the DF_FIXEDCLASS flag, and use that to force the ppt driver to attach to VFs. Differential Revision: https://reviews.freebsd.org/D2041 Reviewed by: jhb MFC after: 3 weeks
Notes: svn path=/head/; revision=279868
Diffstat (limited to 'sys/sys')
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/sys/bus.h b/sys/sys/bus.h
index d6dc53585eba..8b1f1736a17f 100644
--- a/sys/sys/bus.h
+++ b/sys/sys/bus.h
@@ -522,6 +522,7 @@ void device_quiet(device_t dev);
void device_set_desc(device_t dev, const char* desc);
void device_set_desc_copy(device_t dev, const char* desc);
int device_set_devclass(device_t dev, const char *classname);
+int device_set_devclass_fixed(device_t dev, const char *classname);
int device_set_driver(device_t dev, driver_t *driver);
void device_set_flags(device_t dev, u_int32_t flags);
void device_set_softc(device_t dev, void *softc);