svn commit: r333230 - head/sys/dev/pci
Peter Grehan
grehan at FreeBSD.org
Thu May 3 22:51:45 UTC 2018
Author: grehan
Date: Thu May 3 22:51:44 2018
New Revision: 333230
URL: https://svnweb.freebsd.org/changeset/base/333230
Log:
Allow PCI VGA devices to be detached.
GPUs often have a VGA PCI class code and are probed/attached
by the VGA driver. Allow them to be detached so they can
be presented as passthru devices to VM guests.
Submitted by: mmacy
Reviewed by: jhb, imp, rgrimes
MFC after: 3 weeks
Differential Revision: https://reviews.freebsd.org/D15269
Modified:
head/sys/dev/pci/vga_pci.c
Modified: head/sys/dev/pci/vga_pci.c
==============================================================================
--- head/sys/dev/pci/vga_pci.c Thu May 3 21:45:59 2018 (r333229)
+++ head/sys/dev/pci/vga_pci.c Thu May 3 22:51:44 2018 (r333230)
@@ -283,6 +283,17 @@ vga_pci_suspend(device_t dev)
}
static int
+vga_pci_detach(device_t dev)
+{
+ int error;
+
+ error = bus_generic_detach(dev);
+ if (error == 0)
+ error = device_delete_children(dev);
+ return (error);
+}
+
+static int
vga_pci_resume(device_t dev)
{
@@ -620,6 +631,7 @@ static device_method_t vga_pci_methods[] = {
DEVMETHOD(device_attach, vga_pci_attach),
DEVMETHOD(device_shutdown, bus_generic_shutdown),
DEVMETHOD(device_suspend, vga_pci_suspend),
+ DEVMETHOD(device_detach, vga_pci_detach),
DEVMETHOD(device_resume, vga_pci_resume),
/* Bus interface */
More information about the svn-src-all
mailing list