This is in fact a split of pci_vga_init() function in two parts. Signed-off-by: Hervé Poussineau <hpous...@reactos.org> --- hw/pci/pci.c | 22 ++++++++++++++++------ include/hw/pci/pci.h | 1 + 2 files changed, 17 insertions(+), 6 deletions(-)
diff --git a/hw/pci/pci.c b/hw/pci/pci.c index 24fae16..0d5a862 100644 --- a/hw/pci/pci.c +++ b/hw/pci/pci.c @@ -1816,19 +1816,19 @@ PCIDevice *pci_nic_init_nofail(NICInfo *nd, PCIBus *rootbus, return pci_dev; } -PCIDevice *pci_vga_init(PCIBus *bus) +const char *pci_vga_type(void) { switch (vga_interface_type) { case VGA_CIRRUS: - return pci_create_simple(bus, -1, "cirrus-vga"); + return "cirrus-vga"; case VGA_QXL: - return pci_create_simple(bus, -1, "qxl-vga"); + return "qxl-vga"; case VGA_STD: - return pci_create_simple(bus, -1, "VGA"); + return "VGA"; case VGA_VMWARE: - return pci_create_simple(bus, -1, "vmware-svga"); + return "vmware-svga"; case VGA_VIRTIO: - return pci_create_simple(bus, -1, "virtio-vga"); + return "virtio-vga"; case VGA_NONE: default: /* Other non-PCI types. Checking for unsupported types is already done in vl.c. */ @@ -1836,6 +1836,16 @@ PCIDevice *pci_vga_init(PCIBus *bus) } } +PCIDevice *pci_vga_init(PCIBus *bus) +{ + const char *vga_type = pci_vga_type(); + if (vga_type) { + return pci_create_simple(bus, -1, vga_type); + } else { + return NULL; + } +} + /* Whether a given bus number is in range of the secondary * bus of the given bridge device. */ static bool pci_secondary_bus_in_range(PCIDevice *dev, int bus_num) diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h index 772692f..aa8d014 100644 --- a/include/hw/pci/pci.h +++ b/include/hw/pci/pci.h @@ -420,6 +420,7 @@ PCIDevice *pci_nic_init_nofail(NICInfo *nd, PCIBus *rootbus, const char *default_model, const char *default_devaddr); +const char *pci_vga_type(void); PCIDevice *pci_vga_init(PCIBus *bus); int pci_bus_num(PCIBus *s); -- 2.1.4