Lines Matching refs:udev

127 static void usb_dev_resume_peer(struct usb_device *udev);
128 static void usb_dev_suspend_peer(struct usb_device *udev);
129 static uint8_t usb_peer_should_wakeup(struct usb_device *udev);
230 struct usb_device *udev = pm->udev; in uhub_reset_tt_proc() local
234 hub = udev->hub; in uhub_reset_tt_proc()
242 USB_BUS_UNLOCK(udev->bus); in uhub_reset_tt_proc()
248 USB_BUS_LOCK(udev->bus); in uhub_reset_tt_proc()
262 struct usb_device *udev; in uhub_tt_buffer_reset_async_locked() local
271 udev = child->parent_hs_hub; in uhub_tt_buffer_reset_async_locked()
274 if (udev == NULL) in uhub_tt_buffer_reset_async_locked()
277 hub = udev->hub; in uhub_tt_buffer_reset_async_locked()
279 (udev->speed != USB_SPEED_HIGH) || in uhub_tt_buffer_reset_async_locked()
288 USB_BUS_LOCK_ASSERT(udev->bus, MA_OWNED); in uhub_tt_buffer_reset_async_locked()
292 if (udev->ddesc.bDeviceClass == UDCLASS_HUB && in uhub_tt_buffer_reset_async_locked()
293 udev->ddesc.bDeviceProtocol == UDPROTO_HSHUBSTT) in uhub_tt_buffer_reset_async_locked()
319 usb_proc_msignal(USB_BUS_TT_PROC(udev->bus), in uhub_tt_buffer_reset_async_locked()
329 struct usb_device *udev; in uhub_reset_tt_callback() local
336 udev = sc->sc_udev; in uhub_reset_tt_callback()
342 USB_BUS_LOCK(udev->bus); in uhub_reset_tt_callback()
344 for (x = 0; x != udev->hub->nports; x++) { in uhub_reset_tt_callback()
345 up = udev->hub->ports + x; in uhub_reset_tt_callback()
359 USB_BUS_UNLOCK(udev->bus); in uhub_reset_tt_callback()
364 USB_BUS_UNLOCK(udev->bus); in uhub_reset_tt_callback()
383 uhub_count_active_host_ports(struct usb_device *udev, enum usb_dev_speed speed) in uhub_count_active_host_ports() argument
392 if (udev == NULL) in uhub_count_active_host_ports()
394 hub = udev->hub; in uhub_count_active_host_ports()
403 child = usb_bus_port_get_device(udev->bus, up); in uhub_count_active_host_ports()
602 struct usb_device *udev; in uhub_reattach_port() local
612 udev = sc->sc_udev; in uhub_reattach_port()
613 child = usb_bus_port_get_device(udev->bus, in uhub_reattach_port()
614 udev->hub->ports + portno - 1); in uhub_reattach_port()
620 err = usbd_req_clear_port_feature(udev, NULL, in uhub_reattach_port()
656 switch (udev->speed) { in uhub_reattach_port()
663 if (udev->parent_hub == NULL) in uhub_reattach_port()
690 err = usbd_req_clear_port_feature(udev, in uhub_reattach_port()
703 err = usbd_req_reset_port(udev, NULL, portno); in uhub_reattach_port()
738 switch (udev->speed) { in uhub_reattach_port()
757 if (udev->parent_hub == NULL) { in uhub_reattach_port()
779 speed = udev->speed; in uhub_reattach_port()
783 err = usbd_req_set_hub_u1_timeout(udev, NULL, in uhub_reattach_port()
784 portno, 128 - (2 * udev->depth)); in uhub_reattach_port()
790 err = usbd_req_set_hub_u2_timeout(udev, NULL, in uhub_reattach_port()
791 portno, 128 - (2 * udev->depth)); in uhub_reattach_port()
804 if (udev->parent_hub != NULL) { in uhub_reattach_port()
806 mode = udev->parent_hub->flags.usb_mode; in uhub_reattach_port()
813 child = usb_alloc_device(sc->sc_dev, udev->bus, udev, in uhub_reattach_port()
814 udev->depth + 1, portno - 1, portno, speed, mode); in uhub_reattach_port()
851 usb_device_20_compatible(struct usb_device *udev) in usb_device_20_compatible() argument
853 if (udev == NULL) in usb_device_20_compatible()
855 switch (udev->speed) { in usb_device_20_compatible()
876 struct usb_device *udev; in uhub_suspend_resume_port() local
882 udev = sc->sc_udev; in uhub_suspend_resume_port()
883 child = usb_bus_port_get_device(udev->bus, in uhub_suspend_resume_port()
884 udev->hub->ports + portno - 1); in uhub_suspend_resume_port()
888 if (usb_device_20_compatible(udev)) { in uhub_suspend_resume_port()
889 err = usbd_req_clear_port_feature(udev, NULL, in uhub_suspend_resume_port()
892 err = usbd_req_clear_port_feature(udev, NULL, in uhub_suspend_resume_port()
909 if (usb_device_20_compatible(udev)) { in uhub_suspend_resume_port()
921 usbd_req_warm_reset_port(udev, NULL, portno); in uhub_suspend_resume_port()
965 uhub_is_too_deep(struct usb_device *udev) in uhub_is_too_deep() argument
967 switch (udev->speed) { in uhub_is_too_deep()
971 if (udev->depth > USB_HUB_MAX_DEPTH) in uhub_is_too_deep()
975 if (udev->depth > USB_SS_HUB_DEPTH_MAX) in uhub_is_too_deep()
992 uhub_explore(struct usb_device *udev) in uhub_explore() argument
1003 hub = udev->hub; in uhub_explore()
1006 DPRINTFN(11, "udev=%p addr=%d\n", udev, udev->address); in uhub_explore()
1009 if (uhub_is_too_deep(udev)) in uhub_explore()
1013 if (udev->flags.self_suspended) { in uhub_explore()
1023 do_unlock = usbd_enum_lock(udev); in uhub_explore()
1042 udev, NULL, portno, UHF_C_PORT_OVER_CURRENT); in uhub_explore()
1056 udev, NULL, portno, UHF_C_PORT_ENABLE); in uhub_explore()
1090 if (udev->speed == USB_SPEED_SUPER && in uhub_explore()
1094 udev, NULL, portno, UHF_C_BH_PORT_RESET); in uhub_explore()
1101 udev, NULL, portno, UHF_C_PORT_RESET); in uhub_explore()
1113 usbd_enum_unlock(udev); in uhub_explore()
1142 uhub_query_info(struct usb_device *udev, uint8_t *pnports, uint8_t *ptt) in uhub_query_info() argument
1150 if (udev->ddesc.bDeviceClass != UDCLASS_HUB) in uhub_query_info()
1156 switch (udev->speed) { in uhub_query_info()
1161 err = usbd_req_get_hub_descriptor(udev, NULL, &hubdesc20, 1); in uhub_query_info()
1171 if (udev->speed == USB_SPEED_HIGH) in uhub_query_info()
1176 err = usbd_req_get_ss_hub_descriptor(udev, NULL, &hubdesc30, 1); in uhub_query_info()
1206 struct usb_device *udev = uaa->device; in uhub_attach() local
1207 struct usb_device *parent_hub = udev->parent_hub; in uhub_attach()
1223 sc->sc_udev = udev; in uhub_attach()
1232 udev->depth, in uhub_attach()
1233 udev->flags.self_powered, in uhub_attach()
1238 if (uhub_is_too_deep(udev)) { in uhub_attach()
1240 "exceeds maximum. HUB ignored\n", (int)udev->depth); in uhub_attach()
1244 if (!udev->flags.self_powered && parent_hub && in uhub_attach()
1252 err = usbd_set_alt_interface_index(udev, 0, 1); in uhub_attach()
1264 switch (udev->speed) { in uhub_attach()
1269 err = usbd_req_get_hub_descriptor(udev, NULL, &hubdesc20, 1); in uhub_attach()
1291 err = usbd_req_get_hub_descriptor(udev, NULL, &hubdesc20, nports); in uhub_attach()
1305 if (udev->parent_hub != NULL) { in uhub_attach()
1306 err = usbd_req_set_hub_depth(udev, NULL, in uhub_attach()
1307 udev->depth - 1); in uhub_attach()
1314 err = usbd_req_get_ss_hub_descriptor(udev, NULL, &hubdesc30, 1); in uhub_attach()
1330 if (nports > ((udev->parent_hub != NULL) ? 15 : 127)) { in uhub_attach()
1336 err = usbd_req_get_ss_hub_descriptor(udev, NULL, &hubdesc30, nports); in uhub_attach()
1374 udev->hub = hub; in uhub_attach()
1380 hub->hubudev = udev; in uhub_attach()
1383 hub->tt_msg[0].udev = udev; in uhub_attach()
1385 hub->tt_msg[1].udev = udev; in uhub_attach()
1388 if (udev->flags.self_powered) { in uhub_attach()
1396 if (udev->parent_hub == NULL) { in uhub_attach()
1401 err = usbd_transfer_setup(udev, &iface_index, sc->sc_xfer, in uhub_attach()
1468 switch (udev->speed) { in uhub_attach()
1491 err = usbd_req_clear_port_feature(udev, NULL, in uhub_attach()
1497 err = usbd_req_set_port_feature(udev, NULL, in uhub_attach()
1516 removable, udev->flags.self_powered ? "self" : "bus"); in uhub_attach()
1526 usbd_set_power_mode(udev, USB_POWER_MODE_SAVE); in uhub_attach()
1534 free(udev->hub, M_USBDEV); in uhub_attach()
1536 udev->hub = NULL; in uhub_attach()
1621 struct usb_device *udev; in uhub_find_iface_index() local
1628 udev = usb_bus_port_get_device(hub->hubudev->bus, in uhub_find_iface_index()
1630 if (!udev) { in uhub_find_iface_index()
1634 iface = usbd_get_iface(udev, i); in uhub_find_iface_index()
1638 res->udev = udev; in uhub_find_iface_index()
1645 res->udev = NULL; in uhub_find_iface_index()
1664 if (!res.udev) { in uhub_child_location()
1673 , device_get_unit(res.udev->bus->bdev) in uhub_child_location()
1674 , (res.udev->parent_hub != NULL) ? in uhub_child_location()
1675 res.udev->parent_hub->device_index : 0 in uhub_child_location()
1676 , res.portno, res.udev->device_index, res.iface_index in uhub_child_location()
1678 , res.udev->ugen_name in uhub_child_location()
1706 if (!res.udev) { in uhub_get_device_path()
1737 if (!res.udev) { in uhub_child_pnpinfo()
1741 iface = usbd_get_iface(res.udev, res.iface_index); in uhub_child_pnpinfo()
1744 do_unlock = usbd_ctrl_lock(res.udev); in uhub_child_pnpinfo()
1754 UGETW(res.udev->ddesc.idVendor), in uhub_child_pnpinfo()
1755 UGETW(res.udev->ddesc.idProduct), in uhub_child_pnpinfo()
1756 res.udev->ddesc.bDeviceClass, in uhub_child_pnpinfo()
1757 res.udev->ddesc.bDeviceSubClass, in uhub_child_pnpinfo()
1758 res.udev->ddesc.bDeviceProtocol, in uhub_child_pnpinfo()
1759 usb_get_serial(res.udev), in uhub_child_pnpinfo()
1760 UGETW(res.udev->ddesc.bcdDevice), in uhub_child_pnpinfo()
1761 (res.udev->flags.usb_mode == USB_MODE_HOST) ? "host" : "device", in uhub_child_pnpinfo()
1769 usbd_ctrl_unlock(res.udev); in uhub_child_pnpinfo()
1862 usb_hs_bandwidth_adjust(struct usb_device *udev, int16_t len, in usb_hs_bandwidth_adjust() argument
1865 struct usb_bus *bus = udev->bus; in usb_hs_bandwidth_adjust()
1872 speed = usbd_get_speed(udev); in usb_hs_bandwidth_adjust()
1887 hub = udev->parent_hs_hub->hub; in usb_hs_bandwidth_adjust()
1922 struct usb_device *udev; in usb_hs_bandwidth_alloc() local
1927 udev = xfer->xroot->udev; in usb_hs_bandwidth_alloc()
1929 if (udev->flags.usb_mode != USB_MODE_HOST) in usb_hs_bandwidth_alloc()
1936 speed = usbd_get_speed(udev); in usb_hs_bandwidth_alloc()
1943 slot = usb_hs_bandwidth_adjust(udev, in usb_hs_bandwidth_alloc()
1975 slot = usb_hs_bandwidth_adjust(udev, in usb_hs_bandwidth_alloc()
2003 struct usb_device *udev; in usb_hs_bandwidth_free() local
2007 udev = xfer->xroot->udev; in usb_hs_bandwidth_free()
2009 if (udev->flags.usb_mode != USB_MODE_HOST) in usb_hs_bandwidth_free()
2024 usb_hs_bandwidth_adjust(udev, in usb_hs_bandwidth_free()
2107 if (xfer->xroot->udev->parent_hs_hub != in usbd_fs_isoc_schedule_alloc_slot()
2108 isoc_xfer->xroot->udev->parent_hs_hub) { in usbd_fs_isoc_schedule_alloc_slot()
2111 if ((isoc_xfer->xroot->udev->parent_hs_hub-> in usbd_fs_isoc_schedule_alloc_slot()
2113 (xfer->xroot->udev->hs_port_no != in usbd_fs_isoc_schedule_alloc_slot()
2114 isoc_xfer->xroot->udev->hs_port_no)) { in usbd_fs_isoc_schedule_alloc_slot()
2225 struct usb_device *udev, uint8_t device_index) in usb_bus_port_set_device() argument
2236 if (udev) { in usb_bus_port_set_device()
2250 bus->devices[device_index] = udev; in usb_bus_port_set_device()
2258 DPRINTFN(2, "bus %p devices[%u] = %p\n", bus, device_index, udev); in usb_bus_port_set_device()
2394 struct usb_device *udev; in usbd_transfer_power_ref() local
2399 udev = xfer->xroot->udev; in usbd_transfer_power_ref()
2401 if (udev->device_index == USB_ROOT_HUB_ADDR) { in usbd_transfer_power_ref()
2405 USB_BUS_LOCK(udev->bus); in usbd_transfer_power_ref()
2409 udev->pwr_save.last_xfer_time = ticks; in usbd_transfer_power_ref()
2410 udev->pwr_save.type_refs[xfer_type] += val; in usbd_transfer_power_ref()
2413 udev->pwr_save.read_refs += val; in usbd_transfer_power_ref()
2419 udev->pwr_save.write_refs += val; in usbd_transfer_power_ref()
2422 udev->pwr_save.read_refs += val; in usbd_transfer_power_ref()
2424 udev->pwr_save.write_refs += val; in usbd_transfer_power_ref()
2428 if (udev->flags.self_suspended) in usbd_transfer_power_ref()
2429 needs_explore = usb_peer_should_wakeup(udev); in usbd_transfer_power_ref()
2433 if (!(udev->bus->hw_power_state & power_mask[xfer_type])) { in usbd_transfer_power_ref()
2435 udev->bus->hw_power_state |= power_mask[xfer_type]; in usbd_transfer_power_ref()
2445 USB_BUS_UNLOCK(udev->bus); in usbd_transfer_power_ref()
2449 usb_bus_power_update(udev->bus); in usbd_transfer_power_ref()
2452 if (udev->bus->methods->set_hw_power != NULL) { in usbd_transfer_power_ref()
2453 (udev->bus->methods->set_hw_power) (udev->bus); in usbd_transfer_power_ref()
2465 usb_peer_should_wakeup(struct usb_device *udev) in usb_peer_should_wakeup() argument
2467 return (((udev->power_mode == USB_POWER_MODE_ON) && in usb_peer_should_wakeup()
2468 (udev->flags.usb_mode == USB_MODE_HOST)) || in usb_peer_should_wakeup()
2469 (udev->driver_added_refcount != udev->bus->driver_added_refcount) || in usb_peer_should_wakeup()
2470 (udev->re_enumerate_wait != USB_RE_ENUM_DONE) || in usb_peer_should_wakeup()
2471 (udev->pwr_save.type_refs[UE_ISOCHRONOUS] != 0) || in usb_peer_should_wakeup()
2472 (udev->pwr_save.write_refs != 0) || in usb_peer_should_wakeup()
2473 ((udev->pwr_save.read_refs != 0) && in usb_peer_should_wakeup()
2474 (udev->flags.usb_mode == USB_MODE_HOST) && in usb_peer_should_wakeup()
2475 (usb_peer_can_wakeup(udev) == 0))); in usb_peer_should_wakeup()
2488 struct usb_device *udev; in usb_bus_powerd() local
2513 udev = bus->devices[x]; in usb_bus_powerd()
2514 if (udev == NULL) in usb_bus_powerd()
2517 temp = ticks - udev->pwr_save.last_xfer_time; in usb_bus_powerd()
2519 if (usb_peer_should_wakeup(udev)) { in usb_bus_powerd()
2521 if (udev->flags.self_suspended != 0) { in usb_bus_powerd()
2523 usb_dev_resume_peer(udev); in usb_bus_powerd()
2527 (udev->flags.usb_mode == USB_MODE_HOST) && in usb_bus_powerd()
2528 (udev->flags.self_suspended == 0)) { in usb_bus_powerd()
2532 usb_dev_suspend_peer(udev); in usb_bus_powerd()
2550 udev = bus->devices[x]; in usb_bus_powerd()
2551 if (udev == NULL) in usb_bus_powerd()
2558 temp = ticks - udev->pwr_save.last_xfer_time; in usb_bus_powerd()
2567 if (udev->flags.self_suspended == 0) { in usb_bus_powerd()
2568 type_refs[0] += udev->pwr_save.type_refs[0]; in usb_bus_powerd()
2569 type_refs[1] += udev->pwr_save.type_refs[1]; in usb_bus_powerd()
2570 type_refs[2] += udev->pwr_save.type_refs[2]; in usb_bus_powerd()
2571 type_refs[3] += udev->pwr_save.type_refs[3]; in usb_bus_powerd()
2601 usbd_device_30_remote_wakeup(struct usb_device *udev, uint8_t bRequest) in usbd_device_30_remote_wakeup() argument
2611 return (usbd_do_request(udev, NULL, &req, 0)); in usbd_device_30_remote_wakeup()
2615 usbd_clear_dev_wakeup(struct usb_device *udev) in usbd_clear_dev_wakeup() argument
2619 if (usb_device_20_compatible(udev)) { in usbd_clear_dev_wakeup()
2620 err = usbd_req_clear_device_feature(udev, in usbd_clear_dev_wakeup()
2623 err = usbd_device_30_remote_wakeup(udev, in usbd_clear_dev_wakeup()
2630 usbd_set_dev_wakeup(struct usb_device *udev) in usbd_set_dev_wakeup() argument
2634 if (usb_device_20_compatible(udev)) { in usbd_set_dev_wakeup()
2635 err = usbd_req_set_device_feature(udev, in usbd_set_dev_wakeup()
2638 err = usbd_device_30_remote_wakeup(udev, in usbd_set_dev_wakeup()
2651 usb_dev_resume_peer(struct usb_device *udev) in usb_dev_resume_peer() argument
2657 if (udev == NULL) in usb_dev_resume_peer()
2661 if (udev->flags.self_suspended == 0) in usb_dev_resume_peer()
2665 if (udev->parent_hub == NULL) in usb_dev_resume_peer()
2668 DPRINTF("udev=%p\n", udev); in usb_dev_resume_peer()
2670 if ((udev->flags.usb_mode == USB_MODE_DEVICE) && in usb_dev_resume_peer()
2671 (udev->flags.remote_wakeup == 0)) { in usb_dev_resume_peer()
2680 bus = udev->bus; in usb_dev_resume_peer()
2683 usb_dev_resume_peer(udev->parent_hub); in usb_dev_resume_peer()
2688 if (usb_device_20_compatible(udev)) { in usb_dev_resume_peer()
2690 err = usbd_req_clear_port_feature(udev->parent_hub, in usb_dev_resume_peer()
2691 NULL, udev->port_no, UHF_PORT_SUSPEND); in usb_dev_resume_peer()
2694 err = usbd_req_set_port_link_state(udev->parent_hub, in usb_dev_resume_peer()
2695 NULL, udev->port_no, UPS_PORT_LS_U0); in usb_dev_resume_peer()
2708 (bus->methods->device_resume) (udev); in usb_dev_resume_peer()
2712 udev->flags.self_suspended = 0; in usb_dev_resume_peer()
2715 udev->pwr_save.last_xfer_time = ticks; in usb_dev_resume_peer()
2718 if (udev->pwr_save.type_refs[UE_CONTROL] != 0) in usb_dev_resume_peer()
2720 if (udev->pwr_save.type_refs[UE_BULK] != 0) in usb_dev_resume_peer()
2722 if (udev->pwr_save.type_refs[UE_INTERRUPT] != 0) in usb_dev_resume_peer()
2724 if (udev->pwr_save.type_refs[UE_ISOCHRONOUS] != 0) in usb_dev_resume_peer()
2734 usbd_sr_lock(udev); in usb_dev_resume_peer()
2737 err = usb_suspend_resume(udev, 0); in usb_dev_resume_peer()
2739 usbd_sr_unlock(udev); in usb_dev_resume_peer()
2742 if (usb_peer_can_wakeup(udev)) { in usb_dev_resume_peer()
2744 err = usbd_clear_dev_wakeup(udev); in usb_dev_resume_peer()
2760 usb_dev_suspend_peer(struct usb_device *udev) in usb_dev_suspend_peer() argument
2769 if (udev == NULL) in usb_dev_suspend_peer()
2773 if (udev->flags.self_suspended) in usb_dev_suspend_peer()
2777 if (udev->parent_hub == NULL) in usb_dev_suspend_peer()
2780 DPRINTF("udev=%p\n", udev); in usb_dev_suspend_peer()
2783 if (udev->hub != NULL) { in usb_dev_suspend_peer()
2784 nports = udev->hub->nports; in usb_dev_suspend_peer()
2788 child = usb_bus_port_get_device(udev->bus, in usb_dev_suspend_peer()
2789 udev->hub->ports + x); in usb_dev_suspend_peer()
2802 if (usb_peer_can_wakeup(udev)) { in usb_dev_suspend_peer()
2809 err = usbd_set_dev_wakeup(udev); in usb_dev_suspend_peer()
2816 USB_BUS_LOCK(udev->bus); in usb_dev_suspend_peer()
2821 err = usb_peer_should_wakeup(udev); in usb_dev_suspend_peer()
2828 udev->flags.self_suspended = 1; in usb_dev_suspend_peer()
2830 USB_BUS_UNLOCK(udev->bus); in usb_dev_suspend_peer()
2833 if (usb_peer_can_wakeup(udev)) { in usb_dev_suspend_peer()
2835 err = usbd_clear_dev_wakeup(udev); in usb_dev_suspend_peer()
2842 if (udev->flags.usb_mode == USB_MODE_DEVICE) { in usb_dev_suspend_peer()
2844 usb_dev_resume_peer(udev->parent_hub); in usb_dev_suspend_peer()
2850 err = usbd_req_clear_port_feature(udev->parent_hub, in usb_dev_suspend_peer()
2851 NULL, udev->port_no, UHF_PORT_SUSPEND); in usb_dev_suspend_peer()
2860 usbd_sr_lock(udev); in usb_dev_suspend_peer()
2863 err = usb_suspend_resume(udev, 1); in usb_dev_suspend_peer()
2865 usbd_sr_unlock(udev); in usb_dev_suspend_peer()
2867 if (udev->bus->methods->device_suspend != NULL) { in usb_dev_suspend_peer()
2871 (udev->bus->methods->device_suspend) (udev); in usb_dev_suspend_peer()
2874 temp = usbd_get_dma_delay(udev); in usb_dev_suspend_peer()
2879 if (usb_device_20_compatible(udev)) { in usb_dev_suspend_peer()
2881 err = usbd_req_set_port_feature(udev->parent_hub, in usb_dev_suspend_peer()
2882 NULL, udev->port_no, UHF_PORT_SUSPEND); in usb_dev_suspend_peer()
2889 err = usbd_req_set_port_link_state(udev->parent_hub, in usb_dev_suspend_peer()
2890 NULL, udev->port_no, UPS_PORT_LS_U3); in usb_dev_suspend_peer()
2897 udev = udev->parent_hub; in usb_dev_suspend_peer()
2908 usbd_set_power_mode(struct usb_device *udev, uint8_t power_mode) in usbd_set_power_mode() argument
2915 power_mode = usbd_filter_power_mode(udev, power_mode); in usbd_set_power_mode()
2917 udev->power_mode = power_mode; /* update copy of power mode */ in usbd_set_power_mode()
2920 usb_bus_power_update(udev->bus); in usbd_set_power_mode()
2922 usb_needs_explore(udev->bus, 0 /* no probe */ ); in usbd_set_power_mode()
2932 usbd_filter_power_mode(struct usb_device *udev, uint8_t power_mode) in usbd_filter_power_mode() argument
2937 mtod = udev->bus->methods; in usbd_filter_power_mode()
2941 (mtod->get_power_mode) (udev, &temp); in usbd_filter_power_mode()
2959 usbd_start_re_enumerate(struct usb_device *udev) in usbd_start_re_enumerate() argument
2961 if (udev->re_enumerate_wait == USB_RE_ENUM_DONE) { in usbd_start_re_enumerate()
2962 udev->re_enumerate_wait = USB_RE_ENUM_START; in usbd_start_re_enumerate()
2963 usb_needs_explore(udev->bus, 0); in usbd_start_re_enumerate()
2975 usbd_start_set_config(struct usb_device *udev, uint8_t index) in usbd_start_set_config() argument
2977 if (udev->re_enumerate_wait == USB_RE_ENUM_DONE) { in usbd_start_set_config()
2978 if (udev->curr_config_index == index) { in usbd_start_set_config()
2982 udev->next_config_index = index; in usbd_start_set_config()
2983 udev->re_enumerate_wait = USB_RE_ENUM_SET_CONFIG; in usbd_start_set_config()
2984 usb_needs_explore(udev->bus, 0); in usbd_start_set_config()
2986 } else if (udev->re_enumerate_wait == USB_RE_ENUM_SET_CONFIG) { in usbd_start_set_config()
2987 if (udev->next_config_index == index) { in usbd_start_set_config()