virPCIDeviceGetName;
virPCIDeviceGetRemoveSlot;
virPCIDeviceGetReprobe;
+virPCIDeviceGetStubDriver;
virPCIDeviceGetUnbindFromStub;
virPCIDeviceGetUsedBy;
virPCIDeviceIsAssignable;
virPCIDeviceSetManaged;
virPCIDeviceSetRemoveSlot;
virPCIDeviceSetReprobe;
+virPCIDeviceSetStubDriver;
virPCIDeviceSetUnbindFromStub;
virPCIDeviceSetUsedBy;
virPCIDeviceWaitForCleanup;
bool has_flr;
bool has_pm_reset;
bool managed;
+ const char *stubDriver;
/* used by reattach function */
bool unbind_from_stub;
virPCIDeviceList *inactiveDevs,
const char *driver)
{
+ if (!driver && dev->stubDriver)
+ driver = dev->stubDriver;
+
if (virPCIProbeStubDriver(driver) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("Failed to load PCI stub module %s"), driver);
virPCIDeviceListPtr inactiveDevs,
const char *driver)
{
+ if (!driver && dev->stubDriver)
+ driver = dev->stubDriver;
+
if (virPCIProbeStubDriver(driver) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("Failed to load PCI stub module %s"), driver);
return dev->managed;
}
+void
+virPCIDeviceSetStubDriver(virPCIDevicePtr dev, const char *driver)
+{
+ dev->stubDriver = driver;
+}
+
+const char *
+virPCIDeviceGetStubDriver(virPCIDevicePtr dev)
+{
+ return dev->stubDriver;
+}
+
unsigned int
virPCIDeviceGetUnbindFromStub(virPCIDevicePtr dev)
{
/*
* virpci.h: helper APIs for managing host PCI devices
*
- * Copyright (C) 2009, 2011-2012 Red Hat, Inc.
+ * Copyright (C) 2009, 2011-2013 Red Hat, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
void virPCIDeviceSetManaged(virPCIDevice *dev,
bool managed);
unsigned int virPCIDeviceGetManaged(virPCIDevice *dev);
+void virPCIDeviceSetStubDriver(virPCIDevicePtr dev,
+ const char *driver);
+const char *virPCIDeviceGetStubDriver(virPCIDevicePtr dev);
void virPCIDeviceSetUsedBy(virPCIDevice *dev,
const char *used_by);
const char *virPCIDeviceGetUsedBy(virPCIDevice *dev);