diff options
author | rstone <rstone@FreeBSD.org> | 2015-03-10 23:27:13 +0000 |
---|---|---|
committer | rstone <rstone@FreeBSD.org> | 2015-03-10 23:27:13 +0000 |
commit | a76e348a4b790b714d72dd53286a81bbef9b5f28 (patch) | |
tree | f4bd98022dea28fc45ddb0e266b3e0ede3b1a14a /sys/sys/bus.h | |
parent | c7380868012628ae72d3d9823118d11e58df0681 (diff) | |
download | FreeBSD-src-a76e348a4b790b714d72dd53286a81bbef9b5f28.zip FreeBSD-src-a76e348a4b790b714d72dd53286a81bbef9b5f28.tar.gz |
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
Diffstat (limited to 'sys/sys/bus.h')
-rw-r--r-- | sys/sys/bus.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/sys/bus.h b/sys/sys/bus.h index d6dc535..8b1f173 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); |