Lines Matching refs:dev

17 static char *usb_get_dev_path(DeviceState *dev);
57 USBDevice *dev = opaque; in usb_device_post_load() local
59 if (dev->state == USB_STATE_NOTATTACHED) { in usb_device_post_load()
60 dev->attached = false; in usb_device_post_load()
62 dev->attached = true; in usb_device_post_load()
103 static void usb_device_realize(USBDevice *dev, Error **errp) in usb_device_realize() argument
105 USBDeviceClass *klass = USB_DEVICE_GET_CLASS(dev); in usb_device_realize()
108 klass->realize(dev, errp); in usb_device_realize()
112 USBDevice *usb_device_find_device(USBDevice *dev, uint8_t addr) in usb_device_find_device() argument
114 USBDeviceClass *klass = USB_DEVICE_GET_CLASS(dev); in usb_device_find_device()
116 return klass->find_device(dev, addr); in usb_device_find_device()
121 static void usb_device_unrealize(USBDevice *dev) in usb_device_unrealize() argument
123 USBDeviceClass *klass = USB_DEVICE_GET_CLASS(dev); in usb_device_unrealize()
126 klass->unrealize(dev); in usb_device_unrealize()
130 void usb_device_cancel_packet(USBDevice *dev, USBPacket *p) in usb_device_cancel_packet() argument
132 USBDeviceClass *klass = USB_DEVICE_GET_CLASS(dev); in usb_device_cancel_packet()
134 klass->cancel_packet(dev, p); in usb_device_cancel_packet()
138 void usb_device_handle_attach(USBDevice *dev) in usb_device_handle_attach() argument
140 USBDeviceClass *klass = USB_DEVICE_GET_CLASS(dev); in usb_device_handle_attach()
142 klass->handle_attach(dev); in usb_device_handle_attach()
146 void usb_device_handle_reset(USBDevice *dev) in usb_device_handle_reset() argument
148 USBDeviceClass *klass = USB_DEVICE_GET_CLASS(dev); in usb_device_handle_reset()
150 klass->handle_reset(dev); in usb_device_handle_reset()
154 void usb_device_handle_control(USBDevice *dev, USBPacket *p, int request, in usb_device_handle_control() argument
157 USBDeviceClass *klass = USB_DEVICE_GET_CLASS(dev); in usb_device_handle_control()
159 klass->handle_control(dev, p, request, value, index, length, data); in usb_device_handle_control()
163 void usb_device_handle_data(USBDevice *dev, USBPacket *p) in usb_device_handle_data() argument
165 USBDeviceClass *klass = USB_DEVICE_GET_CLASS(dev); in usb_device_handle_data()
167 klass->handle_data(dev, p); in usb_device_handle_data()
171 const char *usb_device_get_product_desc(USBDevice *dev) in usb_device_get_product_desc() argument
173 USBDeviceClass *klass = USB_DEVICE_GET_CLASS(dev); in usb_device_get_product_desc()
177 const USBDesc *usb_device_get_usb_desc(USBDevice *dev) in usb_device_get_usb_desc() argument
179 USBDeviceClass *klass = USB_DEVICE_GET_CLASS(dev); in usb_device_get_usb_desc()
180 if (dev->usb_desc) { in usb_device_get_usb_desc()
181 return dev->usb_desc; in usb_device_get_usb_desc()
186 void usb_device_set_interface(USBDevice *dev, int interface, in usb_device_set_interface() argument
189 USBDeviceClass *klass = USB_DEVICE_GET_CLASS(dev); in usb_device_set_interface()
191 klass->set_interface(dev, interface, alt_old, alt_new); in usb_device_set_interface()
195 void usb_device_flush_ep_queue(USBDevice *dev, USBEndpoint *ep) in usb_device_flush_ep_queue() argument
197 USBDeviceClass *klass = USB_DEVICE_GET_CLASS(dev); in usb_device_flush_ep_queue()
199 klass->flush_ep_queue(dev, ep); in usb_device_flush_ep_queue()
203 void usb_device_ep_stopped(USBDevice *dev, USBEndpoint *ep) in usb_device_ep_stopped() argument
205 USBDeviceClass *klass = USB_DEVICE_GET_CLASS(dev); in usb_device_ep_stopped()
207 klass->ep_stopped(dev, ep); in usb_device_ep_stopped()
211 int usb_device_alloc_streams(USBDevice *dev, USBEndpoint **eps, int nr_eps, in usb_device_alloc_streams() argument
214 USBDeviceClass *klass = USB_DEVICE_GET_CLASS(dev); in usb_device_alloc_streams()
216 return klass->alloc_streams(dev, eps, nr_eps, streams); in usb_device_alloc_streams()
221 void usb_device_free_streams(USBDevice *dev, USBEndpoint **eps, int nr_eps) in usb_device_free_streams() argument
223 USBDeviceClass *klass = USB_DEVICE_GET_CLASS(dev); in usb_device_free_streams()
225 klass->free_streams(dev, eps, nr_eps); in usb_device_free_streams()
231 USBDevice *dev = USB_DEVICE(qdev); in usb_qdev_realize() local
234 pstrcpy(dev->product_desc, sizeof(dev->product_desc), in usb_qdev_realize()
235 usb_device_get_product_desc(dev)); in usb_qdev_realize()
236 dev->auto_attach = 1; in usb_qdev_realize()
237 QLIST_INIT(&dev->strings); in usb_qdev_realize()
238 usb_ep_init(dev); in usb_qdev_realize()
240 usb_claim_port(dev, &local_err); in usb_qdev_realize()
246 usb_device_realize(dev, &local_err); in usb_qdev_realize()
248 usb_release_port(dev); in usb_qdev_realize()
253 if (dev->auto_attach) { in usb_qdev_realize()
254 usb_device_attach(dev, &local_err); in usb_qdev_realize()
262 if (dev->pcap_filename) { in usb_qdev_realize()
263 int fd = qemu_open_old(dev->pcap_filename, in usb_qdev_realize()
266 error_setg(errp, "open %s failed", dev->pcap_filename); in usb_qdev_realize()
270 dev->pcap = fdopen(fd, "wb"); in usb_qdev_realize()
271 usb_pcap_init(dev->pcap); in usb_qdev_realize()
277 USBDevice *dev = USB_DEVICE(qdev); in usb_qdev_unrealize() local
280 QLIST_FOREACH_SAFE(s, &dev->strings, next, next) { in usb_qdev_unrealize()
286 if (dev->pcap) { in usb_qdev_unrealize()
287 fclose(dev->pcap); in usb_qdev_unrealize()
290 if (dev->attached) { in usb_qdev_unrealize()
291 usb_device_detach(dev); in usb_qdev_unrealize()
293 usb_device_unrealize(dev); in usb_qdev_unrealize()
294 if (dev->port) { in usb_qdev_unrealize()
295 usb_release_port(dev); in usb_qdev_unrealize()
386 if (port->dev) { in usb_unregister_port()
387 object_unparent(OBJECT(port->dev)); in usb_unregister_port()
393 void usb_claim_port(USBDevice *dev, Error **errp) in usb_claim_port() argument
395 USBBus *bus = usb_bus_from_device(dev); in usb_claim_port()
399 assert(dev->port == NULL); in usb_claim_port()
401 if (dev->port_path) { in usb_claim_port()
403 if (strcmp(port->path, dev->port_path) == 0) { in usb_claim_port()
409 dev->port_path, bus->qbus.name); in usb_claim_port()
413 if (bus->nfree == 1 && strcmp(object_get_typename(OBJECT(dev)), "usb-hub") != 0) { in usb_claim_port()
422 "with no free ports", dev->product_desc); in usb_claim_port()
432 dev->port = port; in usb_claim_port()
433 port->dev = dev; in usb_claim_port()
439 void usb_release_port(USBDevice *dev) in usb_release_port() argument
441 USBBus *bus = usb_bus_from_device(dev); in usb_release_port()
442 USBPort *port = dev->port; in usb_release_port()
450 dev->port = NULL; in usb_release_port()
451 port->dev = NULL; in usb_release_port()
483 void usb_check_attach(USBDevice *dev, Error **errp) in usb_check_attach() argument
485 USBBus *bus = usb_bus_from_device(dev); in usb_check_attach()
486 USBPort *port = dev->port; in usb_check_attach()
490 assert(!dev->attached); in usb_check_attach()
491 usb_mask_to_str(devspeed, sizeof(devspeed), dev->speedmask); in usb_check_attach()
496 if (!(port->speedmask & dev->speedmask)) { in usb_check_attach()
500 dev->product_desc, devspeed, in usb_check_attach()
506 void usb_device_attach(USBDevice *dev, Error **errp) in usb_device_attach() argument
508 USBPort *port = dev->port; in usb_device_attach()
511 usb_check_attach(dev, &local_err); in usb_device_attach()
517 dev->attached = true; in usb_device_attach()
521 int usb_device_detach(USBDevice *dev) in usb_device_detach() argument
523 USBBus *bus = usb_bus_from_device(dev); in usb_device_detach()
524 USBPort *port = dev->port; in usb_device_detach()
527 assert(dev->attached); in usb_device_detach()
531 dev->attached = false; in usb_device_detach()
550 USBDevice *dev = USB_DEVICE(qdev); in usb_bus_dev_print() local
551 USBBus *bus = usb_bus_from_device(dev); in usb_bus_dev_print()
554 indent, "", bus->busnr, dev->addr, in usb_bus_dev_print()
555 dev->port ? dev->port->path : "-", in usb_bus_dev_print()
556 usb_speed(dev->speed), dev->product_desc, in usb_bus_dev_print()
557 dev->attached ? ", attached" : ""); in usb_bus_dev_print()
562 USBDevice *dev = USB_DEVICE(qdev); in usb_get_dev_path() local
567 char *ret = g_strdup_printf("%s/%s", id, dev->port->path); in usb_get_dev_path()
571 return g_strdup(dev->port->path); in usb_get_dev_path()
577 USBDevice *dev = USB_DEVICE(qdev); in usb_get_fw_dev_path() local
582 fw_len = 32 + strlen(dev->port->path) * 6; in usb_get_fw_dev_path()
584 in = dev->port->path; in usb_get_fw_dev_path()
605 USBDevice *dev; in qmp_x_query_usb() local
615 dev = port->dev; in qmp_x_query_usb()
616 if (!dev) in qmp_x_query_usb()
621 bus->busnr, dev->addr, port->path, in qmp_x_query_usb()
622 usb_speed(dev->speed), dev->product_desc, in qmp_x_query_usb()
623 dev->qdev.id ? ", ID: " : "", in qmp_x_query_usb()
624 dev->qdev.id ?: ""); in qmp_x_query_usb()
638 USBDevice *dev; in usbdevice_create() local
666 dev = f->usbdevice_init ? f->usbdevice_init() : usb_new(f->name); 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()