Revision 53c25cea hw/virtio-console.c

b/hw/virtio-console.c
123 123
    return 0;
124 124
}
125 125

  
126
static void virtio_console_init(PCIDevice *pci_dev)
126
VirtIODevice *virtio_console_init(DeviceState *dev)
127 127
{
128 128
    VirtIOConsole *s;
129
    s = (VirtIOConsole *)virtio_init_pci(pci_dev, "virtio-console",
130
                                         PCI_VENDOR_ID_REDHAT_QUMRANET,
131
                                         PCI_DEVICE_ID_VIRTIO_CONSOLE,
132
                                         PCI_VENDOR_ID_REDHAT_QUMRANET,
133
                                         VIRTIO_ID_CONSOLE,
134
                                         PCI_CLASS_DISPLAY_OTHER, 0x00,
135
                                         0);
129
    s = (VirtIOConsole *)virtio_common_init("virtio-console",
130
                                            VIRTIO_ID_CONSOLE,
131
                                            0, sizeof(VirtIOConsole));
136 132
    s->vdev.get_features = virtio_console_get_features;
137 133

  
138 134
    s->ivq = virtio_add_queue(&s->vdev, 128, virtio_console_handle_input);
139 135
    s->dvq = virtio_add_queue(&s->vdev, 128, virtio_console_handle_output);
140 136

  
141
    s->chr = qdev_init_chardev(&pci_dev->qdev);
137
    s->chr = qdev_init_chardev(dev);
142 138
    qemu_chr_add_handlers(s->chr, vcon_can_read, vcon_read, vcon_event, s);
143 139

  
144 140
    register_savevm("virtio-console", -1, 1, virtio_console_save, virtio_console_load, s);
145
}
146 141

  
147
static void virtio_console_register_devices(void)
148
{
149
    pci_qdev_register("virtio-console", sizeof(VirtIOConsole),
150
                      virtio_console_init);
142
    return &s->vdev;
151 143
}
152

  
153
device_init(virtio_console_register_devices)

Also available in: Unified diff