diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2009-07-28 18:18:00 +0200 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2009-07-30 09:50:37 -0500 |
commit | a414c306c06c4ee9cb05af645b9fee6f8ea34038 (patch) | |
tree | c7f2bb5f0a4a37031ff866083fca0fdc5dc37c2e /hw/vmware_vga.c | |
parent | 9316d30fbb429fdb34c60a8ffc164db8b95edf31 (diff) |
qdev: convert all vga devices.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'hw/vmware_vga.c')
-rw-r--r-- | hw/vmware_vga.c | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/hw/vmware_vga.c b/hw/vmware_vga.c index accdac4986..5ceebf196a 100644 --- a/hw/vmware_vga.c +++ b/hw/vmware_vga.c @@ -1210,14 +1210,11 @@ static void pci_vmsvga_map_mem(PCIDevice *pci_dev, int region_num, iomemtype); } -void pci_vmsvga_init(PCIBus *bus) +static void pci_vmsvga_initfn(PCIDevice *dev) { - struct pci_vmsvga_state_s *s; + struct pci_vmsvga_state_s *s = + DO_UPCAST(struct pci_vmsvga_state_s, card, dev); - /* Setup PCI configuration */ - s = (struct pci_vmsvga_state_s *) - pci_register_device(bus, "QEMUware SVGA", - sizeof(struct pci_vmsvga_state_s), -1, NULL, NULL); pci_config_set_vendor_id(s->card.config, PCI_VENDOR_ID_VMWARE); pci_config_set_device_id(s->card.config, SVGA_PCI_DEVICE_ID); s->card.config[PCI_COMMAND] = 0x07; /* I/O + Memory */ @@ -1240,3 +1237,20 @@ void pci_vmsvga_init(PCIBus *bus) register_savevm("vmware_vga", 0, 0, pci_vmsvga_save, pci_vmsvga_load, s); } + +void pci_vmsvga_init(PCIBus *bus) +{ + pci_create_simple(bus, -1, "QEMUware SVGA"); +} + +static PCIDeviceInfo vmsvga_info = { + .qdev.name = "QEMUware SVGA", + .qdev.size = sizeof(struct pci_vmsvga_state_s), + .init = pci_vmsvga_initfn, +}; + +static void vmsvga_register(void) +{ + pci_qdev_register(&vmsvga_info); +} +device_init(vmsvga_register); |