xref: /qemu/hw/virtio/virtio-input-host-pci.c (revision 0b8fa32f551e863bb548a11394239239270dd3dc)
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"
13*0b8fa32fSMarkus Armbruster #include "qemu/module.h"
147df2c718SJuan Quintela 
157df2c718SJuan Quintela typedef struct VirtIOInputHostPCI VirtIOInputHostPCI;
167df2c718SJuan Quintela 
17d923e305SGerd Hoffmann #define TYPE_VIRTIO_INPUT_HOST_PCI "virtio-input-host-pci"
187df2c718SJuan Quintela #define VIRTIO_INPUT_HOST_PCI(obj) \
197df2c718SJuan Quintela         OBJECT_CHECK(VirtIOInputHostPCI, (obj), TYPE_VIRTIO_INPUT_HOST_PCI)
207df2c718SJuan Quintela 
217df2c718SJuan Quintela struct VirtIOInputHostPCI {
227df2c718SJuan Quintela     VirtIOPCIProxy parent_obj;
237df2c718SJuan Quintela     VirtIOInputHost vdev;
247df2c718SJuan Quintela };
257df2c718SJuan Quintela 
267df2c718SJuan Quintela static void virtio_host_initfn(Object *obj)
277df2c718SJuan Quintela {
287df2c718SJuan Quintela     VirtIOInputHostPCI *dev = VIRTIO_INPUT_HOST_PCI(obj);
297df2c718SJuan Quintela 
307df2c718SJuan Quintela     virtio_instance_init_common(obj, &dev->vdev, sizeof(dev->vdev),
317df2c718SJuan Quintela                                 TYPE_VIRTIO_INPUT_HOST);
327df2c718SJuan Quintela }
337df2c718SJuan Quintela 
347df2c718SJuan Quintela static const VirtioPCIDeviceTypeInfo virtio_input_host_pci_info = {
35d923e305SGerd Hoffmann     .generic_name  = TYPE_VIRTIO_INPUT_HOST_PCI,
367df2c718SJuan Quintela     .parent        = TYPE_VIRTIO_INPUT_PCI,
377df2c718SJuan Quintela     .instance_size = sizeof(VirtIOInputHostPCI),
387df2c718SJuan Quintela     .instance_init = virtio_host_initfn,
397df2c718SJuan Quintela };
407df2c718SJuan Quintela 
417df2c718SJuan Quintela static void virtio_input_host_pci_register(void)
427df2c718SJuan Quintela {
437df2c718SJuan Quintela     virtio_pci_types_register(&virtio_input_host_pci_info);
447df2c718SJuan Quintela }
457df2c718SJuan Quintela 
467df2c718SJuan Quintela type_init(virtio_input_host_pci_register)
47