Lines Matching +full:- +full:- +full:-

2  * virtio-scmi nodes for testing
5 * SPDX-FileCopyrightText: Red Hat, Inc.
6 * SPDX-License-Identifier: GPL-2.0-or-later
8 * Based on virtio-gpio.c, doing basically the same thing.
12 #include "standard-headers/linux/virtio_config.h"
16 #include "virtio-scmi.h"
22 QVirtioDevice *vdev = scmi->vdev; in virtio_scmi_cleanup()
26 qvirtqueue_cleanup(vdev->bus, scmi->queues[i], alloc); in virtio_scmi_cleanup()
28 g_free(scmi->queues); in virtio_scmi_cleanup()
34 * and in fact masks of the re-used bit.
38 QVirtioDevice *vdev = scmi->vdev; in virtio_scmi_setup()
46 scmi->queues = g_new(QVirtQueue *, 2); in virtio_scmi_setup()
48 scmi->queues[i] = qvirtqueue_setup(vdev, alloc, i); in virtio_scmi_setup()
56 if (!g_strcmp0(interface, "vhost-user-scmi")) { in qvirtio_scmi_get_driver()
60 return v_scmi->vdev; in qvirtio_scmi_get_driver()
70 return qvirtio_scmi_get_driver(&v_scmi->scmi, interface); in qvirtio_scmi_device_get_driver()
73 /* virtio-scmi (mmio) */
77 virtio_scmi_cleanup(&scmi_dev->scmi); in qvirtio_scmi_device_destructor()
83 virtio_scmi_setup(&scmi_dev->scmi); in qvirtio_scmi_device_start_hw()
91 QVhostUserSCMI *interface = &virtio_device->scmi; in virtio_scmi_device_create()
93 interface->vdev = virtio_dev; in virtio_scmi_device_create()
96 virtio_device->obj.get_driver = qvirtio_scmi_device_get_driver; in virtio_scmi_device_create()
97 virtio_device->obj.start_hw = qvirtio_scmi_device_start_hw; in virtio_scmi_device_create()
98 virtio_device->obj.destructor = qvirtio_scmi_device_destructor; in virtio_scmi_device_create()
100 return &virtio_device->obj; in virtio_scmi_device_create()
103 /* virtio-scmi-pci */
107 QOSGraphObject *pci_vobj = &scmi_pci->pci_vdev.obj; in qvirtio_scmi_pci_destructor()
109 virtio_scmi_cleanup(&scmi_pci->scmi); in qvirtio_scmi_pci_destructor()
116 QOSGraphObject *pci_vobj = &scmi_pci->pci_vdev.obj; in qvirtio_scmi_pci_start_hw()
119 virtio_scmi_setup(&scmi_pci->scmi); in qvirtio_scmi_pci_start_hw()
126 if (!g_strcmp0(interface, "pci-device")) { in qvirtio_scmi_pci_get_driver()
127 return v_scmi->pci_vdev.pdev; in qvirtio_scmi_pci_get_driver()
129 return qvirtio_scmi_get_driver(&v_scmi->scmi, interface); in qvirtio_scmi_pci_get_driver()
136 QVhostUserSCMI *interface = &virtio_spci->scmi; in virtio_scmi_pci_create()
137 QOSGraphObject *obj = &virtio_spci->pci_vdev.obj; in virtio_scmi_pci_create()
139 virtio_pci_init(&virtio_spci->pci_vdev, pci_bus, addr); in virtio_scmi_pci_create()
140 interface->vdev = &virtio_spci->pci_vdev.vdev; in virtio_scmi_pci_create()
143 obj->get_driver = qvirtio_scmi_pci_get_driver; in virtio_scmi_pci_create()
144 obj->start_hw = qvirtio_scmi_pci_start_hw; in virtio_scmi_pci_create()
145 obj->destructor = qvirtio_scmi_pci_destructor; in virtio_scmi_pci_create()
158 /* vhost-user-scmi-device */ in virtio_scmi_register_nodes()
159 edge_opts.extra_device_opts = "id=scmi,chardev=chr-vhost-user-test " in virtio_scmi_register_nodes()
160 "-global virtio-mmio.force-legacy=false"; in virtio_scmi_register_nodes()
161 qos_node_create_driver("vhost-user-scmi-device", in virtio_scmi_register_nodes()
163 qos_node_consumes("vhost-user-scmi-device", "virtio-bus", &edge_opts); in virtio_scmi_register_nodes()
164 qos_node_produces("vhost-user-scmi-device", "vhost-user-scmi"); in virtio_scmi_register_nodes()
166 /* virtio-scmi-pci */ in virtio_scmi_register_nodes()
167 edge_opts.extra_device_opts = "id=scmi,addr=04.0,chardev=chr-vhost-user-test"; in virtio_scmi_register_nodes()
169 qos_node_create_driver("vhost-user-scmi-pci", virtio_scmi_pci_create); in virtio_scmi_register_nodes()
170 qos_node_consumes("vhost-user-scmi-pci", "pci-bus", &edge_opts); in virtio_scmi_register_nodes()
171 qos_node_produces("vhost-user-scmi-pci", "vhost-user-scmi"); in virtio_scmi_register_nodes()