Lines Matching full:port

22     DEFINE_PROP_STRING("port", USBDevice, port_path),
293 if (dev->port) { in usb_qdev_unrealize()
319 static void usb_fill_port(USBPort *port, void *opaque, int index, in usb_fill_port() argument
322 port->opaque = opaque; in usb_fill_port()
323 port->index = index; in usb_fill_port()
324 port->ops = ops; in usb_fill_port()
325 port->speedmask = speedmask; in usb_fill_port()
326 usb_port_location(port, NULL, index + 1); in usb_fill_port()
329 void usb_register_port(USBBus *bus, USBPort *port, void *opaque, int index, in usb_register_port() argument
332 usb_fill_port(port, opaque, index, ops, speedmask); in usb_register_port()
333 QTAILQ_INSERT_TAIL(&bus->free, port, next); in usb_register_port()
383 void usb_unregister_port(USBBus *bus, USBPort *port) in usb_unregister_port() argument
385 if (port->dev) { in usb_unregister_port()
386 object_unparent(OBJECT(port->dev)); in usb_unregister_port()
388 QTAILQ_REMOVE(&bus->free, port, next); in usb_unregister_port()
395 USBPort *port; in usb_claim_port() local
398 assert(dev->port == NULL); in usb_claim_port()
401 QTAILQ_FOREACH(port, &bus->free, next) { in usb_claim_port()
402 if (strcmp(port->path, dev->port_path) == 0) { in usb_claim_port()
406 if (port == NULL) { in usb_claim_port()
407 error_setg(errp, "usb port %s (bus %s) not found (in use?)", in usb_claim_port()
424 port = QTAILQ_FIRST(&bus->free); in usb_claim_port()
426 trace_usb_port_claim(bus->busnr, port->path); in usb_claim_port()
428 QTAILQ_REMOVE(&bus->free, port, next); in usb_claim_port()
431 dev->port = port; in usb_claim_port()
432 port->dev = dev; in usb_claim_port()
434 QTAILQ_INSERT_TAIL(&bus->used, port, next); in usb_claim_port()
441 USBPort *port = dev->port; in usb_release_port() local
443 assert(port != NULL); in usb_release_port()
444 trace_usb_port_release(bus->busnr, port->path); in usb_release_port()
446 QTAILQ_REMOVE(&bus->used, port, next); in usb_release_port()
449 dev->port = NULL; in usb_release_port()
450 port->dev = NULL; in usb_release_port()
452 QTAILQ_INSERT_TAIL(&bus->free, port, next); in usb_release_port()
485 USBPort *port = dev->port; in usb_check_attach() local
488 assert(port != NULL); in usb_check_attach()
491 usb_mask_to_str(portspeed, sizeof(portspeed), port->speedmask); in usb_check_attach()
492 trace_usb_port_attach(bus->busnr, port->path, in usb_check_attach()
495 if (!(port->speedmask & dev->speedmask)) { in usb_check_attach()
498 " to bus \"%s\", port \"%s\" (%s speed)", in usb_check_attach()
500 bus->qbus.name, port->path, portspeed); in usb_check_attach()
507 USBPort *port = dev->port; in usb_device_attach() local
517 usb_attach(port); in usb_device_attach()
523 USBPort *port = dev->port; in usb_device_detach() local
525 assert(port != NULL); in usb_device_detach()
527 trace_usb_port_detach(bus->busnr, port->path); in usb_device_detach()
529 usb_detach(port); in usb_device_detach()
552 monitor_printf(mon, "%*saddr %d.%d, port %s, speed %s, name %s%s\n", in usb_bus_dev_print()
554 dev->port ? dev->port->path : "-", in usb_bus_dev_print()
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()
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()
587 /* some hub between root port and device */ in usb_get_fw_dev_path()
605 USBPort *port; in qmp_x_query_usb() local
613 QTAILQ_FOREACH(port, &bus->used, next) { in qmp_x_query_usb()
614 dev = port->dev; in qmp_x_query_usb()
618 " Device %d.%d, Port %s, Speed %s Mb/s, " in qmp_x_query_usb()
620 bus->busnr, dev->addr, port->path, in qmp_x_query_usb()