Revision 53c25cea hw/virtio-net.c

b/hw/virtio-net.c
585 585
    virtio_cleanup(&n->vdev);
586 586
}
587 587

  
588
static void virtio_net_init(PCIDevice *pci_dev)
588
VirtIODevice *virtio_net_init(DeviceState *dev)
589 589
{
590 590
    VirtIONet *n;
591 591
    static int virtio_net_id;
592 592

  
593
    n = (VirtIONet *)virtio_init_pci(pci_dev, "virtio-net",
594
                                     PCI_VENDOR_ID_REDHAT_QUMRANET,
595
                                     PCI_DEVICE_ID_VIRTIO_NET,
596
                                     PCI_VENDOR_ID_REDHAT_QUMRANET,
597
                                     VIRTIO_ID_NET,
598
                                     PCI_CLASS_NETWORK_ETHERNET, 0x00,
599
                                     sizeof(struct virtio_net_config));
593
    n = (VirtIONet *)virtio_common_init("virtio-net", VIRTIO_ID_NET,
594
                                        sizeof(struct virtio_net_config),
595
                                        sizeof(VirtIONet));
600 596

  
601 597
    n->vdev.get_config = virtio_net_get_config;
602 598
    n->vdev.set_config = virtio_net_set_config;
......
607 603
    n->rx_vq = virtio_add_queue(&n->vdev, 256, virtio_net_handle_rx);
608 604
    n->tx_vq = virtio_add_queue(&n->vdev, 256, virtio_net_handle_tx);
609 605
    n->ctrl_vq = virtio_add_queue(&n->vdev, 16, virtio_net_handle_ctrl);
610
    qdev_get_macaddr(&pci_dev->qdev, n->mac);
606
    qdev_get_macaddr(dev, n->mac);
611 607
    n->status = VIRTIO_NET_S_LINK_UP;
612
    n->vc = qdev_get_vlan_client(&pci_dev->qdev,
608
    n->vc = qdev_get_vlan_client(dev,
613 609
                                 virtio_net_receive,
614 610
                                 virtio_net_can_receive,
615 611
                                 virtio_net_cleanup, n);
......
628 624

  
629 625
    register_savevm("virtio-net", virtio_net_id++, VIRTIO_NET_VM_VERSION,
630 626
                    virtio_net_save, virtio_net_load, n);
631
}
632 627

  
633
static void virtio_net_register_devices(void)
634
{
635
    pci_qdev_register("virtio_net", sizeof(VirtIONet), virtio_net_init);
628
    return &n->vdev;
636 629
}
637

  
638
device_init(virtio_net_register_devices)

Also available in: Unified diff