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
11*e1b1f534SAlex Bennée #include "hw/virtio/virtio-pci.h"
127df2c718SJuan Quintela #include "hw/virtio/virtio-input.h"
130b8fa32fSMarkus Armbruster #include "qemu/module.h"
14db1015e9SEduardo Habkost #include "qom/object.h"
157df2c718SJuan Quintela
167df2c718SJuan Quintela typedef struct VirtIOInputHostPCI VirtIOInputHostPCI;
177df2c718SJuan Quintela
18d923e305SGerd Hoffmann #define TYPE_VIRTIO_INPUT_HOST_PCI "virtio-input-host-pci"
198110fa1dSEduardo Habkost DECLARE_INSTANCE_CHECKER(VirtIOInputHostPCI, VIRTIO_INPUT_HOST_PCI,
208110fa1dSEduardo Habkost TYPE_VIRTIO_INPUT_HOST_PCI)
217df2c718SJuan Quintela
227df2c718SJuan Quintela struct VirtIOInputHostPCI {
237df2c718SJuan Quintela VirtIOPCIProxy parent_obj;
247df2c718SJuan Quintela VirtIOInputHost vdev;
257df2c718SJuan Quintela };
267df2c718SJuan Quintela
virtio_host_initfn(Object * obj)277df2c718SJuan Quintela static void virtio_host_initfn(Object *obj)
287df2c718SJuan Quintela {
297df2c718SJuan Quintela VirtIOInputHostPCI *dev = VIRTIO_INPUT_HOST_PCI(obj);
307df2c718SJuan Quintela
317df2c718SJuan Quintela virtio_instance_init_common(obj, &dev->vdev, sizeof(dev->vdev),
327df2c718SJuan Quintela TYPE_VIRTIO_INPUT_HOST);
337df2c718SJuan Quintela }
347df2c718SJuan Quintela
357df2c718SJuan Quintela static const VirtioPCIDeviceTypeInfo virtio_input_host_pci_info = {
36d923e305SGerd Hoffmann .generic_name = TYPE_VIRTIO_INPUT_HOST_PCI,
377df2c718SJuan Quintela .parent = TYPE_VIRTIO_INPUT_PCI,
387df2c718SJuan Quintela .instance_size = sizeof(VirtIOInputHostPCI),
397df2c718SJuan Quintela .instance_init = virtio_host_initfn,
407df2c718SJuan Quintela };
417df2c718SJuan Quintela
virtio_input_host_pci_register(void)427df2c718SJuan Quintela static void virtio_input_host_pci_register(void)
437df2c718SJuan Quintela {
447df2c718SJuan Quintela virtio_pci_types_register(&virtio_input_host_pci_info);
457df2c718SJuan Quintela }
467df2c718SJuan Quintela
477df2c718SJuan Quintela type_init(virtio_input_host_pci_register)
48