Lines Matching refs:intf

231 static const struct usb_device_id *usb_match_dynamic_id(struct usb_interface *intf,  in usb_match_dynamic_id()  argument
238 if (usb_match_one_id(intf, &dynid->id)) { in usb_match_dynamic_id()
286 struct usb_interface *intf = to_usb_interface(dev); in usb_probe_interface() local
287 struct usb_device *udev = interface_to_usbdev(intf); in usb_probe_interface()
294 intf->needs_binding = 0; in usb_probe_interface()
300 dev_err(&intf->dev, "Device is not authorized for usage\n"); in usb_probe_interface()
302 } else if (intf->authorized == 0) { in usb_probe_interface()
303 dev_err(&intf->dev, "Interface %d is not authorized for usage\n", in usb_probe_interface()
304 intf->altsetting->desc.bInterfaceNumber); in usb_probe_interface()
308 id = usb_match_dynamic_id(intf, driver); in usb_probe_interface()
310 id = usb_match_id(intf, driver->id_table); in usb_probe_interface()
320 intf->condition = USB_INTERFACE_BINDING; in usb_probe_interface()
345 dev_err(&intf->dev, "%s Failed to disable LPM for driver %s\n", in usb_probe_interface()
353 if (intf->needs_altsetting0) { in usb_probe_interface()
354 error = usb_set_interface(udev, intf->altsetting[0]. in usb_probe_interface()
358 intf->needs_altsetting0 = 0; in usb_probe_interface()
361 error = driver->probe(intf, id); in usb_probe_interface()
365 intf->condition = USB_INTERFACE_BOUND; in usb_probe_interface()
375 usb_set_intfdata(intf, NULL); in usb_probe_interface()
376 intf->needs_remote_wakeup = 0; in usb_probe_interface()
377 intf->condition = USB_INTERFACE_UNBOUND; in usb_probe_interface()
396 struct usb_interface *intf = to_usb_interface(dev); in usb_unbind_interface() local
402 intf->condition = USB_INTERFACE_UNBINDING; in usb_unbind_interface()
405 udev = interface_to_usbdev(intf); in usb_unbind_interface()
421 usb_disable_interface(udev, intf, false); in usb_unbind_interface()
423 driver->disconnect(intf); in usb_unbind_interface()
426 for (i = 0, j = 0; i < intf->cur_altsetting->desc.bNumEndpoints; i++) { in usb_unbind_interface()
427 ep = &intf->cur_altsetting->endpoint[i]; in usb_unbind_interface()
439 usb_free_streams(intf, eps, j, GFP_KERNEL); in usb_unbind_interface()
449 if (intf->cur_altsetting->desc.bAlternateSetting == 0) { in usb_unbind_interface()
453 usb_enable_interface(udev, intf, false); in usb_unbind_interface()
454 } else if (!error && !intf->dev.power.is_prepared) { in usb_unbind_interface()
455 r = usb_set_interface(udev, intf->altsetting[0]. in usb_unbind_interface()
458 intf->needs_altsetting0 = 1; in usb_unbind_interface()
460 intf->needs_altsetting0 = 1; in usb_unbind_interface()
462 usb_set_intfdata(intf, NULL); in usb_unbind_interface()
464 intf->condition = USB_INTERFACE_UNBOUND; in usb_unbind_interface()
465 intf->needs_remote_wakeup = 0; in usb_unbind_interface()
477 for (r = atomic_read(&intf->pm_usage_cnt); r > 0; --r) in usb_unbind_interface()
478 usb_autopm_put_interface_no_suspend(intf); in usb_unbind_interface()
479 atomic_set(&intf->pm_usage_cnt, 0); in usb_unbind_interface()
652 struct usb_host_interface *intf, in usb_match_one_id_intf() argument
667 (id->bInterfaceClass != intf->desc.bInterfaceClass)) in usb_match_one_id_intf()
671 (id->bInterfaceSubClass != intf->desc.bInterfaceSubClass)) in usb_match_one_id_intf()
675 (id->bInterfaceProtocol != intf->desc.bInterfaceProtocol)) in usb_match_one_id_intf()
679 (id->bInterfaceNumber != intf->desc.bInterfaceNumber)) in usb_match_one_id_intf()
689 struct usb_host_interface *intf; in usb_match_one_id() local
696 intf = interface->cur_altsetting; in usb_match_one_id()
702 return usb_match_one_id_intf(dev, intf, id); in usb_match_one_id()
814 struct usb_interface *intf; in usb_device_match() local
822 intf = to_usb_interface(dev); in usb_device_match()
825 id = usb_match_id(intf, usb_drv->id_table); in usb_device_match()
829 id = usb_match_dynamic_id(intf, usb_drv); in usb_device_match()
844 struct usb_interface *intf = to_usb_interface(dev); in usb_uevent() local
846 usb_dev = interface_to_usbdev(intf); in usb_uevent()
1020 void usb_forced_unbind_intf(struct usb_interface *intf) in usb_forced_unbind_intf() argument
1022 struct usb_driver *driver = to_usb_driver(intf->dev.driver); in usb_forced_unbind_intf()
1024 dev_dbg(&intf->dev, "forced unbind\n"); in usb_forced_unbind_intf()
1025 usb_driver_release_interface(driver, intf); in usb_forced_unbind_intf()
1028 intf->needs_binding = 1; in usb_forced_unbind_intf()
1041 struct usb_interface *intf; in unbind_marked_interfaces() local
1046 intf = config->interface[i]; in unbind_marked_interfaces()
1047 if (intf->dev.driver && intf->needs_binding) in unbind_marked_interfaces()
1048 usb_forced_unbind_intf(intf); in unbind_marked_interfaces()
1061 static void usb_rebind_intf(struct usb_interface *intf) in usb_rebind_intf() argument
1066 if (intf->dev.driver) in usb_rebind_intf()
1067 usb_forced_unbind_intf(intf); in usb_rebind_intf()
1070 if (!intf->dev.power.is_prepared) { in usb_rebind_intf()
1071 intf->needs_binding = 0; in usb_rebind_intf()
1072 rc = device_attach(&intf->dev); in usb_rebind_intf()
1074 dev_warn(&intf->dev, "rebind failed: %d\n", rc); in usb_rebind_intf()
1088 struct usb_interface *intf; in rebind_marked_interfaces() local
1093 intf = config->interface[i]; in rebind_marked_interfaces()
1094 if (intf->needs_binding) in rebind_marked_interfaces()
1095 usb_rebind_intf(intf); in rebind_marked_interfaces()
1125 struct usb_interface *intf; in unbind_no_pm_drivers_interfaces() local
1131 intf = config->interface[i]; in unbind_no_pm_drivers_interfaces()
1133 if (intf->dev.driver) { in unbind_no_pm_drivers_interfaces()
1134 drv = to_usb_driver(intf->dev.driver); in unbind_no_pm_drivers_interfaces()
1136 usb_forced_unbind_intf(intf); in unbind_no_pm_drivers_interfaces()
1198 struct usb_interface *intf, pm_message_t msg) in usb_suspend_interface() argument
1204 intf->condition == USB_INTERFACE_UNBOUND) in usb_suspend_interface()
1206 driver = to_usb_driver(intf->dev.driver); in usb_suspend_interface()
1209 status = driver->suspend(intf, msg); in usb_suspend_interface()
1211 dev_err(&intf->dev, "suspend error %d\n", status); in usb_suspend_interface()
1214 dev_vdbg(&intf->dev, "%s: status %d\n", __func__, status); in usb_suspend_interface()
1219 struct usb_interface *intf, pm_message_t msg, int reset_resume) in usb_resume_interface() argument
1228 if (intf->condition == USB_INTERFACE_UNBINDING) in usb_resume_interface()
1232 if (intf->condition == USB_INTERFACE_UNBOUND) { in usb_resume_interface()
1235 if (intf->needs_altsetting0 && !intf->dev.power.is_prepared) { in usb_resume_interface()
1236 usb_set_interface(udev, intf->altsetting[0]. in usb_resume_interface()
1238 intf->needs_altsetting0 = 0; in usb_resume_interface()
1244 if (intf->needs_binding) in usb_resume_interface()
1246 driver = to_usb_driver(intf->dev.driver); in usb_resume_interface()
1250 status = driver->reset_resume(intf); in usb_resume_interface()
1252 dev_err(&intf->dev, "%s error %d\n", in usb_resume_interface()
1255 intf->needs_binding = 1; in usb_resume_interface()
1256 dev_dbg(&intf->dev, "no reset_resume for driver %s?\n", in usb_resume_interface()
1260 status = driver->resume(intf); in usb_resume_interface()
1262 dev_err(&intf->dev, "resume error %d\n", status); in usb_resume_interface()
1266 dev_vdbg(&intf->dev, "%s: status %d\n", __func__, status); in usb_resume_interface()
1303 struct usb_interface *intf; in usb_suspend_both() local
1313 intf = udev->actconfig->interface[i]; in usb_suspend_both()
1314 status = usb_suspend_interface(udev, intf, msg); in usb_suspend_both()
1359 intf = udev->actconfig->interface[i]; in usb_suspend_both()
1360 usb_resume_interface(udev, intf, msg, 0); in usb_suspend_both()
1404 struct usb_interface *intf; in usb_resume_both() local
1419 intf = udev->actconfig->interface[i]; in usb_resume_both()
1420 usb_resume_interface(udev, intf, msg, in usb_resume_both()
1633 void usb_autopm_put_interface(struct usb_interface *intf) in usb_autopm_put_interface() argument
1635 struct usb_device *udev = interface_to_usbdev(intf); in usb_autopm_put_interface()
1639 atomic_dec(&intf->pm_usage_cnt); in usb_autopm_put_interface()
1640 status = pm_runtime_put_sync(&intf->dev); in usb_autopm_put_interface()
1641 dev_vdbg(&intf->dev, "%s: cnt %d -> %d\n", in usb_autopm_put_interface()
1642 __func__, atomic_read(&intf->dev.power.usage_count), in usb_autopm_put_interface()
1662 void usb_autopm_put_interface_async(struct usb_interface *intf) in usb_autopm_put_interface_async() argument
1664 struct usb_device *udev = interface_to_usbdev(intf); in usb_autopm_put_interface_async()
1668 atomic_dec(&intf->pm_usage_cnt); in usb_autopm_put_interface_async()
1669 status = pm_runtime_put(&intf->dev); in usb_autopm_put_interface_async()
1670 dev_vdbg(&intf->dev, "%s: cnt %d -> %d\n", in usb_autopm_put_interface_async()
1671 __func__, atomic_read(&intf->dev.power.usage_count), in usb_autopm_put_interface_async()
1685 void usb_autopm_put_interface_no_suspend(struct usb_interface *intf) in usb_autopm_put_interface_no_suspend() argument
1687 struct usb_device *udev = interface_to_usbdev(intf); in usb_autopm_put_interface_no_suspend()
1690 atomic_dec(&intf->pm_usage_cnt); in usb_autopm_put_interface_no_suspend()
1691 pm_runtime_put_noidle(&intf->dev); in usb_autopm_put_interface_no_suspend()
1714 int usb_autopm_get_interface(struct usb_interface *intf) in usb_autopm_get_interface() argument
1718 status = pm_runtime_get_sync(&intf->dev); in usb_autopm_get_interface()
1720 pm_runtime_put_sync(&intf->dev); in usb_autopm_get_interface()
1722 atomic_inc(&intf->pm_usage_cnt); in usb_autopm_get_interface()
1723 dev_vdbg(&intf->dev, "%s: cnt %d -> %d\n", in usb_autopm_get_interface()
1724 __func__, atomic_read(&intf->dev.power.usage_count), in usb_autopm_get_interface()
1749 int usb_autopm_get_interface_async(struct usb_interface *intf) in usb_autopm_get_interface_async() argument
1753 status = pm_runtime_get(&intf->dev); in usb_autopm_get_interface_async()
1755 pm_runtime_put_noidle(&intf->dev); in usb_autopm_get_interface_async()
1757 atomic_inc(&intf->pm_usage_cnt); in usb_autopm_get_interface_async()
1758 dev_vdbg(&intf->dev, "%s: cnt %d -> %d\n", in usb_autopm_get_interface_async()
1759 __func__, atomic_read(&intf->dev.power.usage_count), in usb_autopm_get_interface_async()
1776 void usb_autopm_get_interface_no_resume(struct usb_interface *intf) in usb_autopm_get_interface_no_resume() argument
1778 struct usb_device *udev = interface_to_usbdev(intf); in usb_autopm_get_interface_no_resume()
1781 atomic_inc(&intf->pm_usage_cnt); in usb_autopm_get_interface_no_resume()
1782 pm_runtime_get_noresume(&intf->dev); in usb_autopm_get_interface_no_resume()
1790 struct usb_interface *intf; in autosuspend_check() local
1801 intf = udev->actconfig->interface[i]; in autosuspend_check()
1808 if (intf->dev.power.disable_depth) in autosuspend_check()
1810 if (atomic_read(&intf->dev.power.usage_count) > 0) in autosuspend_check()
1812 w |= intf->needs_remote_wakeup; in autosuspend_check()
1821 driver = to_usb_driver(intf->dev.driver); in autosuspend_check()
1823 intf->needs_remote_wakeup) in autosuspend_check()