Lines Matching full:gpio
2 * virtio-gpio nodes for testing
14 #include "virtio-gpio.h"
18 static void virtio_gpio_cleanup(QVhostUserGPIO *gpio) in virtio_gpio_cleanup() argument
20 QVirtioDevice *vdev = gpio->vdev; in virtio_gpio_cleanup()
24 qvirtqueue_cleanup(vdev->bus, gpio->queues[i], alloc); in virtio_gpio_cleanup()
26 g_free(gpio->queues); in virtio_gpio_cleanup()
34 static void virtio_gpio_setup(QVhostUserGPIO *gpio) in virtio_gpio_setup() argument
36 QVirtioDevice *vdev = gpio->vdev; in virtio_gpio_setup()
44 gpio->queues = g_new(QVirtQueue *, 2); in virtio_gpio_setup()
46 gpio->queues[i] = qvirtqueue_setup(vdev, alloc, i); in virtio_gpio_setup()
54 if (!g_strcmp0(interface, "vhost-user-gpio")) { in qvirtio_gpio_get_driver()
68 return qvirtio_gpio_get_driver(&v_gpio->gpio, interface); in qvirtio_gpio_device_get_driver()
71 /* virtio-gpio (mmio) */
75 virtio_gpio_cleanup(&gpio_dev->gpio); in qvirtio_gpio_device_destructor()
81 virtio_gpio_setup(&gpio_dev->gpio); in qvirtio_gpio_device_start_hw()
89 QVhostUserGPIO *interface = &virtio_device->gpio; in virtio_gpio_device_create()
101 /* virtio-gpio-pci */
107 virtio_gpio_cleanup(&gpio_pci->gpio); in qvirtio_gpio_pci_destructor()
117 virtio_gpio_setup(&gpio_pci->gpio); in qvirtio_gpio_pci_start_hw()
127 return qvirtio_gpio_get_driver(&v_gpio->gpio, interface); in qvirtio_gpio_pci_get_driver()
134 QVhostUserGPIO *interface = &virtio_spci->gpio; in virtio_gpio_pci_create()
156 /* vhost-user-gpio-device */ in virtio_gpio_register_nodes()
159 qos_node_create_driver("vhost-user-gpio-device", in virtio_gpio_register_nodes()
161 qos_node_consumes("vhost-user-gpio-device", "virtio-bus", &edge_opts); in virtio_gpio_register_nodes()
162 qos_node_produces("vhost-user-gpio-device", "vhost-user-gpio"); in virtio_gpio_register_nodes()
164 /* virtio-gpio-pci */ in virtio_gpio_register_nodes()
167 qos_node_create_driver("vhost-user-gpio-pci", virtio_gpio_pci_create); in virtio_gpio_register_nodes()
168 qos_node_consumes("vhost-user-gpio-pci", "pci-bus", &edge_opts); in virtio_gpio_register_nodes()
169 qos_node_produces("vhost-user-gpio-pci", "vhost-user-gpio"); in virtio_gpio_register_nodes()