2
0

virtio-input-host-pci.c 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /*
  2. * Virtio input host PCI Bindings
  3. *
  4. * This work is licensed under the terms of the GNU GPL, version 2 or
  5. * (at your option) any later version. See the COPYING file in the
  6. * top-level directory.
  7. */
  8. #include "qemu/osdep.h"
  9. #include "virtio-pci.h"
  10. #include "hw/virtio/virtio-input.h"
  11. #include "qemu/module.h"
  12. typedef struct VirtIOInputHostPCI VirtIOInputHostPCI;
  13. #define TYPE_VIRTIO_INPUT_HOST_PCI "virtio-input-host-pci"
  14. #define VIRTIO_INPUT_HOST_PCI(obj) \
  15. OBJECT_CHECK(VirtIOInputHostPCI, (obj), TYPE_VIRTIO_INPUT_HOST_PCI)
  16. struct VirtIOInputHostPCI {
  17. VirtIOPCIProxy parent_obj;
  18. VirtIOInputHost vdev;
  19. };
  20. static void virtio_host_initfn(Object *obj)
  21. {
  22. VirtIOInputHostPCI *dev = VIRTIO_INPUT_HOST_PCI(obj);
  23. virtio_instance_init_common(obj, &dev->vdev, sizeof(dev->vdev),
  24. TYPE_VIRTIO_INPUT_HOST);
  25. }
  26. static const VirtioPCIDeviceTypeInfo virtio_input_host_pci_info = {
  27. .generic_name = TYPE_VIRTIO_INPUT_HOST_PCI,
  28. .parent = TYPE_VIRTIO_INPUT_PCI,
  29. .instance_size = sizeof(VirtIOInputHostPCI),
  30. .instance_init = virtio_host_initfn,
  31. };
  32. static void virtio_input_host_pci_register(void)
  33. {
  34. virtio_pci_types_register(&virtio_input_host_pci_info);
  35. }
  36. type_init(virtio_input_host_pci_register)