Commit 2d72c5727f8343a39862b8fca3b53a2bce26a7ca
1 parent
07e3af9a
Virtio-balloon qdev conversion
Signed-off-by: Paul Brook <paul@codesourcery.com>
Showing
3 changed files
with
12 additions
and
14 deletions
hw/pc.c
@@ -33,7 +33,6 @@ | @@ -33,7 +33,6 @@ | ||
33 | #include "boards.h" | 33 | #include "boards.h" |
34 | #include "monitor.h" | 34 | #include "monitor.h" |
35 | #include "fw_cfg.h" | 35 | #include "fw_cfg.h" |
36 | -#include "virtio-balloon.h" | ||
37 | #include "virtio-console.h" | 36 | #include "virtio-console.h" |
38 | #include "hpet_emul.h" | 37 | #include "hpet_emul.h" |
39 | #include "watchdog.h" | 38 | #include "watchdog.h" |
@@ -1141,8 +1140,9 @@ static void pc_init1(ram_addr_t ram_size, | @@ -1141,8 +1140,9 @@ static void pc_init1(ram_addr_t ram_size, | ||
1141 | } | 1140 | } |
1142 | 1141 | ||
1143 | /* Add virtio balloon device */ | 1142 | /* Add virtio balloon device */ |
1144 | - if (pci_enabled) | ||
1145 | - virtio_balloon_init(pci_bus); | 1143 | + if (pci_enabled) { |
1144 | + pci_create_simple(pci_bus, -1, "virtio-balloon"); | ||
1145 | + } | ||
1146 | 1146 | ||
1147 | /* Add virtio console devices */ | 1147 | /* Add virtio console devices */ |
1148 | if (pci_enabled) { | 1148 | if (pci_enabled) { |
hw/virtio-balloon.c
@@ -169,17 +169,11 @@ static int virtio_balloon_load(QEMUFile *f, void *opaque, int version_id) | @@ -169,17 +169,11 @@ static int virtio_balloon_load(QEMUFile *f, void *opaque, int version_id) | ||
169 | return 0; | 169 | return 0; |
170 | } | 170 | } |
171 | 171 | ||
172 | -void *virtio_balloon_init(PCIBus *bus) | 172 | +static void virtio_balloon_init(PCIDevice *pci_dev) |
173 | { | 173 | { |
174 | VirtIOBalloon *s; | 174 | VirtIOBalloon *s; |
175 | - PCIDevice *d; | ||
176 | 175 | ||
177 | - d = pci_register_device(bus, "virtio-balloon", sizeof(VirtIOBalloon), | ||
178 | - -1, NULL, NULL); | ||
179 | - if (!d) | ||
180 | - return NULL; | ||
181 | - | ||
182 | - s = (VirtIOBalloon *)virtio_init_pci(d, "virtio-balloon", | 176 | + s = (VirtIOBalloon *)virtio_init_pci(pci_dev, "virtio-balloon", |
183 | PCI_VENDOR_ID_REDHAT_QUMRANET, | 177 | PCI_VENDOR_ID_REDHAT_QUMRANET, |
184 | PCI_DEVICE_ID_VIRTIO_BALLOON, | 178 | PCI_DEVICE_ID_VIRTIO_BALLOON, |
185 | PCI_VENDOR_ID_REDHAT_QUMRANET, | 179 | PCI_VENDOR_ID_REDHAT_QUMRANET, |
@@ -197,6 +191,12 @@ void *virtio_balloon_init(PCIBus *bus) | @@ -197,6 +191,12 @@ void *virtio_balloon_init(PCIBus *bus) | ||
197 | qemu_add_balloon_handler(virtio_balloon_to_target, s); | 191 | qemu_add_balloon_handler(virtio_balloon_to_target, s); |
198 | 192 | ||
199 | register_savevm("virtio-balloon", -1, 1, virtio_balloon_save, virtio_balloon_load, s); | 193 | register_savevm("virtio-balloon", -1, 1, virtio_balloon_save, virtio_balloon_load, s); |
194 | +} | ||
200 | 195 | ||
201 | - return &s->vdev; | 196 | +static void virtio_balloon_register_devices(void) |
197 | +{ | ||
198 | + pci_qdev_register("virtio-balloon", sizeof(VirtIOBalloon), | ||
199 | + virtio_balloon_init); | ||
202 | } | 200 | } |
201 | + | ||
202 | +device_init(virtio_balloon_register_devices) |