Lines Matching refs:udev

248 	struct usb_device *udev = to_usb_device(dev);  in usb_probe_device()  local
259 error = usb_autoresume_device(udev); in usb_probe_device()
262 error = udriver->probe(udev); in usb_probe_device()
269 struct usb_device *udev = to_usb_device(dev); in usb_unbind_device() local
272 udriver->disconnect(udev); in usb_unbind_device()
274 usb_autosuspend_device(udev); in usb_unbind_device()
283 struct usb_device *udev = interface_to_usbdev(intf); in usb_probe_interface() local
292 if (usb_device_is_owned(udev)) in usb_probe_interface()
295 if (udev->authorized == 0) { in usb_probe_interface()
308 error = usb_autoresume_device(udev); in usb_probe_interface()
335 lpm_disable_error = usb_unlocked_disable_lpm(udev); in usb_probe_interface()
346 error = usb_set_interface(udev, intf->altsetting[0]. in usb_probe_interface()
361 usb_unlocked_enable_lpm(udev); in usb_probe_interface()
363 usb_autosuspend_device(udev); in usb_probe_interface()
373 usb_unlocked_enable_lpm(udev); in usb_probe_interface()
380 usb_autosuspend_device(udev); in usb_probe_interface()
390 struct usb_device *udev; in usb_unbind_interface() local
397 udev = interface_to_usbdev(intf); in usb_unbind_interface()
398 error = usb_autoresume_device(udev); in usb_unbind_interface()
406 lpm_disable_error = usb_unlocked_disable_lpm(udev); in usb_unbind_interface()
412 if (!driver->soft_unbind || udev->state == USB_STATE_NOTATTACHED) in usb_unbind_interface()
413 usb_disable_interface(udev, intf, false); in usb_unbind_interface()
447 usb_enable_interface(udev, intf, false); in usb_unbind_interface()
449 r = usb_set_interface(udev, intf->altsetting[0]. in usb_unbind_interface()
463 usb_unlocked_enable_lpm(udev); in usb_unbind_interface()
476 usb_autosuspend_device(udev); in usb_unbind_interface()
507 struct usb_device *udev; in usb_driver_claim_interface() local
518 udev = interface_to_usbdev(iface); in usb_driver_claim_interface()
528 lpm_disable_error = usb_unlocked_disable_lpm(udev); in usb_driver_claim_interface()
556 usb_unlocked_enable_lpm(udev); in usb_driver_claim_interface()
1027 static void unbind_marked_interfaces(struct usb_device *udev) in unbind_marked_interfaces() argument
1033 config = udev->actconfig; in unbind_marked_interfaces()
1074 static void rebind_marked_interfaces(struct usb_device *udev) in rebind_marked_interfaces() argument
1080 config = udev->actconfig; in rebind_marked_interfaces()
1097 void usb_unbind_and_rebind_marked_interfaces(struct usb_device *udev) in usb_unbind_and_rebind_marked_interfaces() argument
1099 unbind_marked_interfaces(udev); in usb_unbind_and_rebind_marked_interfaces()
1100 rebind_marked_interfaces(udev); in usb_unbind_and_rebind_marked_interfaces()
1111 static void unbind_no_pm_drivers_interfaces(struct usb_device *udev) in unbind_no_pm_drivers_interfaces() argument
1118 config = udev->actconfig; in unbind_no_pm_drivers_interfaces()
1132 static int usb_suspend_device(struct usb_device *udev, pm_message_t msg) in usb_suspend_device() argument
1137 if (udev->state == USB_STATE_NOTATTACHED || in usb_suspend_device()
1138 udev->state == USB_STATE_SUSPENDED) in usb_suspend_device()
1142 if (udev->dev.driver) in usb_suspend_device()
1143 udriver = to_usb_device_driver(udev->dev.driver); in usb_suspend_device()
1145 udev->do_remote_wakeup = 0; in usb_suspend_device()
1148 status = udriver->suspend(udev, msg); in usb_suspend_device()
1151 dev_vdbg(&udev->dev, "%s: status %d\n", __func__, status); in usb_suspend_device()
1155 static int usb_resume_device(struct usb_device *udev, pm_message_t msg) in usb_resume_device() argument
1160 if (udev->state == USB_STATE_NOTATTACHED) in usb_resume_device()
1164 if (udev->dev.driver == NULL) { in usb_resume_device()
1172 if (!PMSG_IS_AUTO(msg) && udev->parent && udev->bus->hs_companion) in usb_resume_device()
1173 device_pm_wait_for_dev(&udev->dev, in usb_resume_device()
1174 &udev->bus->hs_companion->root_hub->dev); in usb_resume_device()
1176 if (udev->quirks & USB_QUIRK_RESET_RESUME) in usb_resume_device()
1177 udev->reset_resume = 1; in usb_resume_device()
1179 udriver = to_usb_device_driver(udev->dev.driver); in usb_resume_device()
1180 status = udriver->resume(udev, msg); in usb_resume_device()
1183 dev_vdbg(&udev->dev, "%s: status %d\n", __func__, status); in usb_resume_device()
1187 static int usb_suspend_interface(struct usb_device *udev, in usb_suspend_interface() argument
1193 if (udev->state == USB_STATE_NOTATTACHED || in usb_suspend_interface()
1208 static int usb_resume_interface(struct usb_device *udev, in usb_resume_interface() argument
1214 if (udev->state == USB_STATE_NOTATTACHED) in usb_resume_interface()
1226 usb_set_interface(udev, intf->altsetting[0]. in usb_resume_interface()
1289 static int usb_suspend_both(struct usb_device *udev, pm_message_t msg) in usb_suspend_both() argument
1295 if (udev->state == USB_STATE_NOTATTACHED || in usb_suspend_both()
1296 udev->state == USB_STATE_SUSPENDED) in usb_suspend_both()
1300 if (udev->actconfig) { in usb_suspend_both()
1301 n = udev->actconfig->desc.bNumInterfaces; in usb_suspend_both()
1303 intf = udev->actconfig->interface[i]; in usb_suspend_both()
1304 status = usb_suspend_interface(udev, intf, msg); in usb_suspend_both()
1314 status = usb_suspend_device(udev, msg); in usb_suspend_both()
1322 if (udev->parent && !PMSG_IS_AUTO(msg)) in usb_suspend_both()
1328 if (udev->actconfig) { in usb_suspend_both()
1331 intf = udev->actconfig->interface[i]; in usb_suspend_both()
1332 usb_resume_interface(udev, intf, msg, 0); in usb_suspend_both()
1340 udev->can_submit = 0; in usb_suspend_both()
1342 usb_hcd_flush_endpoint(udev, udev->ep_out[i]); in usb_suspend_both()
1343 usb_hcd_flush_endpoint(udev, udev->ep_in[i]); in usb_suspend_both()
1348 dev_vdbg(&udev->dev, "%s: status %d\n", __func__, status); in usb_suspend_both()
1372 static int usb_resume_both(struct usb_device *udev, pm_message_t msg) in usb_resume_both() argument
1378 if (udev->state == USB_STATE_NOTATTACHED) { in usb_resume_both()
1382 udev->can_submit = 1; in usb_resume_both()
1385 if (udev->state == USB_STATE_SUSPENDED || udev->reset_resume) in usb_resume_both()
1386 status = usb_resume_device(udev, msg); in usb_resume_both()
1389 if (status == 0 && udev->actconfig) { in usb_resume_both()
1390 for (i = 0; i < udev->actconfig->desc.bNumInterfaces; i++) { in usb_resume_both()
1391 intf = udev->actconfig->interface[i]; in usb_resume_both()
1392 usb_resume_interface(udev, intf, msg, in usb_resume_both()
1393 udev->reset_resume); in usb_resume_both()
1396 usb_mark_last_busy(udev); in usb_resume_both()
1399 dev_vdbg(&udev->dev, "%s: status %d\n", __func__, status); in usb_resume_both()
1401 udev->reset_resume = 0; in usb_resume_both()
1405 static void choose_wakeup(struct usb_device *udev, pm_message_t msg) in choose_wakeup() argument
1414 if (udev->state != USB_STATE_SUSPENDED) in choose_wakeup()
1415 udev->do_remote_wakeup = 0; in choose_wakeup()
1422 w = device_may_wakeup(&udev->dev); in choose_wakeup()
1427 if (udev->state == USB_STATE_SUSPENDED && w != udev->do_remote_wakeup) in choose_wakeup()
1428 pm_runtime_resume(&udev->dev); in choose_wakeup()
1429 udev->do_remote_wakeup = w; in choose_wakeup()
1435 struct usb_device *udev = to_usb_device(dev); in usb_suspend() local
1437 unbind_no_pm_drivers_interfaces(udev); in usb_suspend()
1443 choose_wakeup(udev, msg); in usb_suspend()
1444 return usb_suspend_both(udev, msg); in usb_suspend()
1450 struct usb_device *udev = to_usb_device(dev); in usb_resume_complete() local
1455 if (udev->state != USB_STATE_NOTATTACHED) in usb_resume_complete()
1456 rebind_marked_interfaces(udev); in usb_resume_complete()
1463 struct usb_device *udev = to_usb_device(dev); in usb_resume() local
1473 status = usb_resume_both(udev, msg); in usb_resume()
1478 unbind_marked_interfaces(udev); in usb_resume()
1499 void usb_enable_autosuspend(struct usb_device *udev) in usb_enable_autosuspend() argument
1501 pm_runtime_allow(&udev->dev); in usb_enable_autosuspend()
1514 void usb_disable_autosuspend(struct usb_device *udev) in usb_disable_autosuspend() argument
1516 pm_runtime_forbid(&udev->dev); in usb_disable_autosuspend()
1536 void usb_autosuspend_device(struct usb_device *udev) in usb_autosuspend_device() argument
1540 usb_mark_last_busy(udev); in usb_autosuspend_device()
1541 status = pm_runtime_put_sync_autosuspend(&udev->dev); in usb_autosuspend_device()
1542 dev_vdbg(&udev->dev, "%s: cnt %d -> %d\n", in usb_autosuspend_device()
1543 __func__, atomic_read(&udev->dev.power.usage_count), in usb_autosuspend_device()
1567 int usb_autoresume_device(struct usb_device *udev) in usb_autoresume_device() argument
1571 status = pm_runtime_get_sync(&udev->dev); in usb_autoresume_device()
1573 pm_runtime_put_sync(&udev->dev); in usb_autoresume_device()
1574 dev_vdbg(&udev->dev, "%s: cnt %d -> %d\n", in usb_autoresume_device()
1575 __func__, atomic_read(&udev->dev.power.usage_count), in usb_autoresume_device()
1599 struct usb_device *udev = interface_to_usbdev(intf); in usb_autopm_put_interface() local
1602 usb_mark_last_busy(udev); in usb_autopm_put_interface()
1628 struct usb_device *udev = interface_to_usbdev(intf); in usb_autopm_put_interface_async() local
1631 usb_mark_last_busy(udev); in usb_autopm_put_interface_async()
1651 struct usb_device *udev = interface_to_usbdev(intf); in usb_autopm_put_interface_no_suspend() local
1653 usb_mark_last_busy(udev); in usb_autopm_put_interface_no_suspend()
1742 struct usb_device *udev = interface_to_usbdev(intf); in usb_autopm_get_interface_no_resume() local
1744 usb_mark_last_busy(udev); in usb_autopm_get_interface_no_resume()
1751 static int autosuspend_check(struct usb_device *udev) in autosuspend_check() argument
1760 if (udev->actconfig) { in autosuspend_check()
1761 for (i = 0; i < udev->actconfig->desc.bNumInterfaces; i++) { in autosuspend_check()
1762 intf = udev->actconfig->interface[i]; in autosuspend_check()
1779 if (udev->quirks & USB_QUIRK_RESET_RESUME) { in autosuspend_check()
1789 if (w && !device_can_wakeup(&udev->dev)) { in autosuspend_check()
1790 dev_dbg(&udev->dev, "remote wakeup needed for autosuspend\n"); in autosuspend_check()
1799 if (w && udev->parent == udev->bus->root_hub && in autosuspend_check()
1800 bus_to_hcd(udev->bus)->cant_recv_wakeups) { in autosuspend_check()
1801 dev_dbg(&udev->dev, "HCD doesn't handle wakeup requests\n"); in autosuspend_check()
1805 udev->do_remote_wakeup = w; in autosuspend_check()
1811 struct usb_device *udev = to_usb_device(dev); in usb_runtime_suspend() local
1818 if (autosuspend_check(udev) != 0) in usb_runtime_suspend()
1821 status = usb_suspend_both(udev, PMSG_AUTO_SUSPEND); in usb_runtime_suspend()
1825 usb_mark_last_busy(udev); in usb_runtime_suspend()
1833 if (status != 0 && udev->parent) in usb_runtime_suspend()
1840 struct usb_device *udev = to_usb_device(dev); in usb_runtime_resume() local
1846 status = usb_resume_both(udev, PMSG_AUTO_RESUME); in usb_runtime_resume()
1852 struct usb_device *udev = to_usb_device(dev); in usb_runtime_idle() local
1857 if (autosuspend_check(udev) == 0) in usb_runtime_idle()
1863 int usb_set_usb2_hardware_lpm(struct usb_device *udev, int enable) in usb_set_usb2_hardware_lpm() argument
1865 struct usb_hcd *hcd = bus_to_hcd(udev->bus); in usb_set_usb2_hardware_lpm()
1868 if (enable && !udev->usb2_hw_lpm_allowed) in usb_set_usb2_hardware_lpm()
1872 ret = hcd->driver->set_usb2_hw_lpm(hcd, udev, enable); in usb_set_usb2_hardware_lpm()
1874 udev->usb2_hw_lpm_enabled = enable; in usb_set_usb2_hardware_lpm()