Lines Matching refs:dev

17 static char *usb_get_dev_path(DeviceState *dev);
56 USBDevice *dev = opaque; in usb_device_post_load() local
58 if (dev->state == USB_STATE_NOTATTACHED) { in usb_device_post_load()
59 dev->attached = false; in usb_device_post_load()
61 dev->attached = true; in usb_device_post_load()
102 static void usb_device_realize(USBDevice *dev, Error **errp) in usb_device_realize() argument
104 USBDeviceClass *klass = USB_DEVICE_GET_CLASS(dev); in usb_device_realize()
107 klass->realize(dev, errp); in usb_device_realize()
111 USBDevice *usb_device_find_device(USBDevice *dev, uint8_t addr) in usb_device_find_device() argument
113 USBDeviceClass *klass = USB_DEVICE_GET_CLASS(dev); in usb_device_find_device()
115 return klass->find_device(dev, addr); in usb_device_find_device()
120 static void usb_device_unrealize(USBDevice *dev) in usb_device_unrealize() argument
122 USBDeviceClass *klass = USB_DEVICE_GET_CLASS(dev); in usb_device_unrealize()
125 klass->unrealize(dev); in usb_device_unrealize()
129 void usb_device_cancel_packet(USBDevice *dev, USBPacket *p) in usb_device_cancel_packet() argument
131 USBDeviceClass *klass = USB_DEVICE_GET_CLASS(dev); in usb_device_cancel_packet()
133 klass->cancel_packet(dev, p); in usb_device_cancel_packet()
137 void usb_device_handle_attach(USBDevice *dev) in usb_device_handle_attach() argument
139 USBDeviceClass *klass = USB_DEVICE_GET_CLASS(dev); in usb_device_handle_attach()
141 klass->handle_attach(dev); in usb_device_handle_attach()
145 void usb_device_handle_reset(USBDevice *dev) in usb_device_handle_reset() argument
147 USBDeviceClass *klass = USB_DEVICE_GET_CLASS(dev); in usb_device_handle_reset()
149 klass->handle_reset(dev); in usb_device_handle_reset()
153 void usb_device_handle_control(USBDevice *dev, USBPacket *p, int request, in usb_device_handle_control() argument
156 USBDeviceClass *klass = USB_DEVICE_GET_CLASS(dev); in usb_device_handle_control()
158 klass->handle_control(dev, p, request, value, index, length, data); in usb_device_handle_control()
162 void usb_device_handle_data(USBDevice *dev, USBPacket *p) in usb_device_handle_data() argument
164 USBDeviceClass *klass = USB_DEVICE_GET_CLASS(dev); in usb_device_handle_data()
166 klass->handle_data(dev, p); in usb_device_handle_data()
170 const char *usb_device_get_product_desc(USBDevice *dev) in usb_device_get_product_desc() argument
172 USBDeviceClass *klass = USB_DEVICE_GET_CLASS(dev); in usb_device_get_product_desc()
176 const USBDesc *usb_device_get_usb_desc(USBDevice *dev) in usb_device_get_usb_desc() argument
178 USBDeviceClass *klass = USB_DEVICE_GET_CLASS(dev); in usb_device_get_usb_desc()
179 if (dev->usb_desc) { in usb_device_get_usb_desc()
180 return dev->usb_desc; in usb_device_get_usb_desc()
185 void usb_device_set_interface(USBDevice *dev, int interface, in usb_device_set_interface() argument
188 USBDeviceClass *klass = USB_DEVICE_GET_CLASS(dev); in usb_device_set_interface()
190 klass->set_interface(dev, interface, alt_old, alt_new); in usb_device_set_interface()
194 void usb_device_flush_ep_queue(USBDevice *dev, USBEndpoint *ep) in usb_device_flush_ep_queue() argument
196 USBDeviceClass *klass = USB_DEVICE_GET_CLASS(dev); in usb_device_flush_ep_queue()
198 klass->flush_ep_queue(dev, ep); in usb_device_flush_ep_queue()
202 void usb_device_ep_stopped(USBDevice *dev, USBEndpoint *ep) in usb_device_ep_stopped() argument
204 USBDeviceClass *klass = USB_DEVICE_GET_CLASS(dev); in usb_device_ep_stopped()
206 klass->ep_stopped(dev, ep); in usb_device_ep_stopped()
210 int usb_device_alloc_streams(USBDevice *dev, USBEndpoint **eps, int nr_eps, in usb_device_alloc_streams() argument
213 USBDeviceClass *klass = USB_DEVICE_GET_CLASS(dev); in usb_device_alloc_streams()
215 return klass->alloc_streams(dev, eps, nr_eps, streams); in usb_device_alloc_streams()
220 void usb_device_free_streams(USBDevice *dev, USBEndpoint **eps, int nr_eps) in usb_device_free_streams() argument
222 USBDeviceClass *klass = USB_DEVICE_GET_CLASS(dev); in usb_device_free_streams()
224 klass->free_streams(dev, eps, nr_eps); in usb_device_free_streams()
230 USBDevice *dev = USB_DEVICE(qdev); in usb_qdev_realize() local
233 pstrcpy(dev->product_desc, sizeof(dev->product_desc), in usb_qdev_realize()
234 usb_device_get_product_desc(dev)); in usb_qdev_realize()
235 dev->auto_attach = 1; in usb_qdev_realize()
236 QLIST_INIT(&dev->strings); in usb_qdev_realize()
237 usb_ep_init(dev); in usb_qdev_realize()
239 usb_claim_port(dev, &local_err); in usb_qdev_realize()
245 usb_device_realize(dev, &local_err); in usb_qdev_realize()
247 usb_release_port(dev); in usb_qdev_realize()
252 if (dev->auto_attach) { in usb_qdev_realize()
253 usb_device_attach(dev, &local_err); in usb_qdev_realize()
261 if (dev->pcap_filename) { in usb_qdev_realize()
262 int fd = qemu_open_old(dev->pcap_filename, in usb_qdev_realize()
265 error_setg(errp, "open %s failed", dev->pcap_filename); in usb_qdev_realize()
269 dev->pcap = fdopen(fd, "wb"); in usb_qdev_realize()
270 usb_pcap_init(dev->pcap); in usb_qdev_realize()
276 USBDevice *dev = USB_DEVICE(qdev); in usb_qdev_unrealize() local
279 QLIST_FOREACH_SAFE(s, &dev->strings, next, next) { in usb_qdev_unrealize()
285 if (dev->pcap) { in usb_qdev_unrealize()
286 fclose(dev->pcap); in usb_qdev_unrealize()
289 if (dev->attached) { in usb_qdev_unrealize()
290 usb_device_detach(dev); in usb_qdev_unrealize()
292 usb_device_unrealize(dev); in usb_qdev_unrealize()
293 if (dev->port) { in usb_qdev_unrealize()
294 usb_release_port(dev); in usb_qdev_unrealize()
385 if (port->dev) { in usb_unregister_port()
386 object_unparent(OBJECT(port->dev)); in usb_unregister_port()
392 void usb_claim_port(USBDevice *dev, Error **errp) in usb_claim_port() argument
394 USBBus *bus = usb_bus_from_device(dev); in usb_claim_port()
398 assert(dev->port == NULL); in usb_claim_port()
400 if (dev->port_path) { in usb_claim_port()
402 if (strcmp(port->path, dev->port_path) == 0) { in usb_claim_port()
408 dev->port_path, bus->qbus.name); in usb_claim_port()
412 if (bus->nfree == 1 && strcmp(object_get_typename(OBJECT(dev)), "usb-hub") != 0) { in usb_claim_port()
421 "with no free ports", dev->product_desc); in usb_claim_port()
431 dev->port = port; in usb_claim_port()
432 port->dev = dev; in usb_claim_port()
438 void usb_release_port(USBDevice *dev) in usb_release_port() argument
440 USBBus *bus = usb_bus_from_device(dev); in usb_release_port()
441 USBPort *port = dev->port; in usb_release_port()
449 dev->port = NULL; in usb_release_port()
450 port->dev = NULL; in usb_release_port()
482 void usb_check_attach(USBDevice *dev, Error **errp) in usb_check_attach() argument
484 USBBus *bus = usb_bus_from_device(dev); in usb_check_attach()
485 USBPort *port = dev->port; in usb_check_attach()
489 assert(!dev->attached); in usb_check_attach()
490 usb_mask_to_str(devspeed, sizeof(devspeed), dev->speedmask); in usb_check_attach()
495 if (!(port->speedmask & dev->speedmask)) { in usb_check_attach()
499 dev->product_desc, devspeed, in usb_check_attach()
505 void usb_device_attach(USBDevice *dev, Error **errp) in usb_device_attach() argument
507 USBPort *port = dev->port; in usb_device_attach()
510 usb_check_attach(dev, &local_err); in usb_device_attach()
516 dev->attached = true; in usb_device_attach()
520 int usb_device_detach(USBDevice *dev) in usb_device_detach() argument
522 USBBus *bus = usb_bus_from_device(dev); in usb_device_detach()
523 USBPort *port = dev->port; in usb_device_detach()
526 assert(dev->attached); in usb_device_detach()
530 dev->attached = false; in usb_device_detach()
549 USBDevice *dev = USB_DEVICE(qdev); in usb_bus_dev_print() local
550 USBBus *bus = usb_bus_from_device(dev); in usb_bus_dev_print()
553 indent, "", bus->busnr, dev->addr, in usb_bus_dev_print()
554 dev->port ? dev->port->path : "-", in usb_bus_dev_print()
555 usb_speed(dev->speed), dev->product_desc, in usb_bus_dev_print()
556 dev->attached ? ", attached" : ""); in usb_bus_dev_print()
561 USBDevice *dev = USB_DEVICE(qdev); in usb_get_dev_path() local
566 char *ret = g_strdup_printf("%s/%s", id, dev->port->path); in usb_get_dev_path()
570 return g_strdup(dev->port->path); in usb_get_dev_path()
576 USBDevice *dev = USB_DEVICE(qdev); in usb_get_fw_dev_path() local
581 fw_len = 32 + strlen(dev->port->path) * 6; in usb_get_fw_dev_path()
583 in = dev->port->path; in usb_get_fw_dev_path()
604 USBDevice *dev; in qmp_x_query_usb() local
614 dev = port->dev; in qmp_x_query_usb()
615 if (!dev) in qmp_x_query_usb()
620 bus->busnr, dev->addr, port->path, in qmp_x_query_usb()
621 usb_speed(dev->speed), dev->product_desc, in qmp_x_query_usb()
622 dev->qdev.id ? ", ID: " : "", in qmp_x_query_usb()
623 dev->qdev.id ?: ""); in qmp_x_query_usb()
637 USBDevice *dev; in usbdevice_create() local
665 dev = f->usbdevice_init ? f->usbdevice_init() in usbdevice_create()
667 if (!dev) { in usbdevice_create()
671 if (!usb_realize_and_unref(dev, bus, &err)) { in usbdevice_create()
674 object_unparent(OBJECT(dev)); in usbdevice_create()
677 return dev; in usbdevice_create()
682 USBDevice *dev = USB_DEVICE(obj); in usb_get_attached() local
684 return dev->attached; in usb_get_attached()
689 USBDevice *dev = USB_DEVICE(obj); in usb_set_attached() local
691 if (dev->attached == value) { in usb_set_attached()
696 usb_device_attach(dev, errp); in usb_set_attached()
698 usb_device_detach(dev); in usb_set_attached()
704 USBDevice *dev = USB_DEVICE(obj); in usb_device_instance_init() local
705 USBDeviceClass *klass = USB_DEVICE_GET_CLASS(dev); in usb_device_instance_init()