xref: /qemu/hw/virtio/virtio-input-host-pci.c (revision d923e30578a65392e50e530e3a29b2edf5c51c5b)
17df2c718SJuan Quintela /*
27df2c718SJuan Quintela  * Virtio input host PCI Bindings
37df2c718SJuan Quintela  *
47df2c718SJuan Quintela  * This work is licensed under the terms of the GNU GPL, version 2 or
57df2c718SJuan Quintela  * (at your option) any later version.  See the COPYING file in the
67df2c718SJuan Quintela  * top-level directory.
77df2c718SJuan Quintela  */
87df2c718SJuan Quintela 
97df2c718SJuan Quintela #include "qemu/osdep.h"
107df2c718SJuan Quintela 
117df2c718SJuan Quintela #include "virtio-pci.h"
127df2c718SJuan Quintela #include "hw/virtio/virtio-input.h"
137df2c718SJuan Quintela 
147df2c718SJuan Quintela typedef struct VirtIOInputHostPCI VirtIOInputHostPCI;
157df2c718SJuan Quintela 
16*d923e305SGerd Hoffmann #define TYPE_VIRTIO_INPUT_HOST_PCI "virtio-input-host-pci"
177df2c718SJuan Quintela #define VIRTIO_INPUT_HOST_PCI(obj) \
187df2c718SJuan Quintela         OBJECT_CHECK(VirtIOInputHostPCI, (obj), TYPE_VIRTIO_INPUT_HOST_PCI)
197df2c718SJuan Quintela 
207df2c718SJuan Quintela struct VirtIOInputHostPCI {
217df2c718SJuan Quintela     VirtIOPCIProxy parent_obj;
227df2c718SJuan Quintela     VirtIOInputHost vdev;
237df2c718SJuan Quintela };
247df2c718SJuan Quintela 
257df2c718SJuan Quintela static void virtio_host_initfn(Object *obj)
267df2c718SJuan Quintela {
277df2c718SJuan Quintela     VirtIOInputHostPCI *dev = VIRTIO_INPUT_HOST_PCI(obj);
287df2c718SJuan Quintela 
297df2c718SJuan Quintela     virtio_instance_init_common(obj, &dev->vdev, sizeof(dev->vdev),
307df2c718SJuan Quintela                                 TYPE_VIRTIO_INPUT_HOST);
317df2c718SJuan Quintela }
327df2c718SJuan Quintela 
337df2c718SJuan Quintela static const VirtioPCIDeviceTypeInfo virtio_input_host_pci_info = {
34*d923e305SGerd Hoffmann     .generic_name  = TYPE_VIRTIO_INPUT_HOST_PCI,
357df2c718SJuan Quintela     .parent        = TYPE_VIRTIO_INPUT_PCI,
367df2c718SJuan Quintela     .instance_size = sizeof(VirtIOInputHostPCI),
377df2c718SJuan Quintela     .instance_init = virtio_host_initfn,
387df2c718SJuan Quintela };
397df2c718SJuan Quintela 
407df2c718SJuan Quintela static void virtio_input_host_pci_register(void)
417df2c718SJuan Quintela {
427df2c718SJuan Quintela     virtio_pci_types_register(&virtio_input_host_pci_info);
437df2c718SJuan Quintela }
447df2c718SJuan Quintela 
457df2c718SJuan Quintela type_init(virtio_input_host_pci_register)
46