Lines Matching refs:intf
230 static const struct usb_device_id *usb_match_dynamic_id(struct usb_interface *intf, in usb_match_dynamic_id() argument
237 if (usb_match_one_id(intf, &dynid->id)) { in usb_match_dynamic_id()
321 struct usb_interface *intf = to_usb_interface(dev); in usb_probe_interface() local
322 struct usb_device *udev = interface_to_usbdev(intf); in usb_probe_interface()
329 intf->needs_binding = 0; in usb_probe_interface()
335 dev_err(&intf->dev, "Device is not authorized for usage\n"); in usb_probe_interface()
337 } else if (intf->authorized == 0) { in usb_probe_interface()
338 dev_err(&intf->dev, "Interface %d is not authorized for usage\n", in usb_probe_interface()
339 intf->altsetting->desc.bInterfaceNumber); in usb_probe_interface()
343 id = usb_match_dynamic_id(intf, driver); in usb_probe_interface()
345 id = usb_match_id(intf, driver->id_table); in usb_probe_interface()
355 intf->condition = USB_INTERFACE_BINDING; in usb_probe_interface()
380 dev_err(&intf->dev, "%s Failed to disable LPM for driver %s\n", in usb_probe_interface()
388 if (intf->needs_altsetting0) { in usb_probe_interface()
389 error = usb_set_interface(udev, intf->altsetting[0]. in usb_probe_interface()
393 intf->needs_altsetting0 = 0; in usb_probe_interface()
396 error = driver->probe(intf, id); in usb_probe_interface()
400 intf->condition = USB_INTERFACE_BOUND; in usb_probe_interface()
410 usb_set_intfdata(intf, NULL); in usb_probe_interface()
411 intf->needs_remote_wakeup = 0; in usb_probe_interface()
412 intf->condition = USB_INTERFACE_UNBOUND; in usb_probe_interface()
431 struct usb_interface *intf = to_usb_interface(dev); in usb_unbind_interface() local
437 intf->condition = USB_INTERFACE_UNBINDING; in usb_unbind_interface()
440 udev = interface_to_usbdev(intf); in usb_unbind_interface()
456 usb_disable_interface(udev, intf, false); in usb_unbind_interface()
458 driver->disconnect(intf); in usb_unbind_interface()
461 for (i = 0, j = 0; i < intf->cur_altsetting->desc.bNumEndpoints; i++) { in usb_unbind_interface()
462 ep = &intf->cur_altsetting->endpoint[i]; in usb_unbind_interface()
474 usb_free_streams(intf, eps, j, GFP_KERNEL); in usb_unbind_interface()
484 if (intf->cur_altsetting->desc.bAlternateSetting == 0) { in usb_unbind_interface()
488 usb_enable_interface(udev, intf, false); in usb_unbind_interface()
489 } else if (!error && !intf->dev.power.is_prepared) { in usb_unbind_interface()
490 r = usb_set_interface(udev, intf->altsetting[0]. in usb_unbind_interface()
493 intf->needs_altsetting0 = 1; in usb_unbind_interface()
495 intf->needs_altsetting0 = 1; in usb_unbind_interface()
497 usb_set_intfdata(intf, NULL); in usb_unbind_interface()
499 intf->condition = USB_INTERFACE_UNBOUND; in usb_unbind_interface()
500 intf->needs_remote_wakeup = 0; in usb_unbind_interface()
519 struct usb_interface *intf = to_usb_interface(dev); in usb_shutdown_interface() local
527 driver->shutdown(intf); in usb_shutdown_interface()
688 struct usb_host_interface *intf, in usb_match_one_id_intf() argument
703 (id->bInterfaceClass != intf->desc.bInterfaceClass)) in usb_match_one_id_intf()
707 (id->bInterfaceSubClass != intf->desc.bInterfaceSubClass)) in usb_match_one_id_intf()
711 (id->bInterfaceProtocol != intf->desc.bInterfaceProtocol)) in usb_match_one_id_intf()
715 (id->bInterfaceNumber != intf->desc.bInterfaceNumber)) in usb_match_one_id_intf()
725 struct usb_host_interface *intf; in usb_match_one_id() local
732 intf = interface->cur_altsetting; in usb_match_one_id()
738 return usb_match_one_id_intf(dev, intf, id); in usb_match_one_id()
892 struct usb_interface *intf; in usb_device_match() local
900 intf = to_usb_interface(dev); in usb_device_match()
903 id = usb_match_id(intf, usb_drv->id_table); in usb_device_match()
907 id = usb_match_dynamic_id(intf, usb_drv); in usb_device_match()
922 const struct usb_interface *intf = to_usb_interface(dev); in usb_uevent() local
924 usb_dev = interface_to_usbdev(intf); in usb_uevent()
1128 void usb_forced_unbind_intf(struct usb_interface *intf) in usb_forced_unbind_intf() argument
1130 struct usb_driver *driver = to_usb_driver(intf->dev.driver); in usb_forced_unbind_intf()
1132 dev_dbg(&intf->dev, "forced unbind\n"); in usb_forced_unbind_intf()
1133 usb_driver_release_interface(driver, intf); in usb_forced_unbind_intf()
1136 intf->needs_binding = 1; in usb_forced_unbind_intf()
1149 struct usb_interface *intf; in unbind_marked_interfaces() local
1154 intf = config->interface[i]; in unbind_marked_interfaces()
1155 if (intf->dev.driver && intf->needs_binding) in unbind_marked_interfaces()
1156 usb_forced_unbind_intf(intf); in unbind_marked_interfaces()
1169 static void usb_rebind_intf(struct usb_interface *intf) in usb_rebind_intf() argument
1174 if (intf->dev.driver) in usb_rebind_intf()
1175 usb_forced_unbind_intf(intf); in usb_rebind_intf()
1178 if (!intf->dev.power.is_prepared) { in usb_rebind_intf()
1179 intf->needs_binding = 0; in usb_rebind_intf()
1180 rc = device_attach(&intf->dev); in usb_rebind_intf()
1182 dev_warn(&intf->dev, "rebind failed: %d\n", rc); in usb_rebind_intf()
1196 struct usb_interface *intf; in rebind_marked_interfaces() local
1201 intf = config->interface[i]; in rebind_marked_interfaces()
1202 if (intf->needs_binding) in rebind_marked_interfaces()
1203 usb_rebind_intf(intf); in rebind_marked_interfaces()
1233 struct usb_interface *intf; in unbind_no_pm_drivers_interfaces() local
1239 intf = config->interface[i]; in unbind_no_pm_drivers_interfaces()
1241 if (intf->dev.driver) { in unbind_no_pm_drivers_interfaces()
1242 drv = to_usb_driver(intf->dev.driver); in unbind_no_pm_drivers_interfaces()
1244 usb_forced_unbind_intf(intf); in unbind_no_pm_drivers_interfaces()
1312 struct usb_interface *intf, pm_message_t msg) in usb_suspend_interface() argument
1318 intf->condition == USB_INTERFACE_UNBOUND) in usb_suspend_interface()
1320 driver = to_usb_driver(intf->dev.driver); in usb_suspend_interface()
1323 status = driver->suspend(intf, msg); in usb_suspend_interface()
1325 dev_err(&intf->dev, "suspend error %d\n", status); in usb_suspend_interface()
1328 dev_vdbg(&intf->dev, "%s: status %d\n", __func__, status); in usb_suspend_interface()
1333 struct usb_interface *intf, pm_message_t msg, int reset_resume) in usb_resume_interface() argument
1342 if (intf->condition == USB_INTERFACE_UNBINDING) in usb_resume_interface()
1346 if (intf->condition == USB_INTERFACE_UNBOUND) { in usb_resume_interface()
1349 if (intf->needs_altsetting0 && !intf->dev.power.is_prepared) { in usb_resume_interface()
1350 usb_set_interface(udev, intf->altsetting[0]. in usb_resume_interface()
1352 intf->needs_altsetting0 = 0; in usb_resume_interface()
1358 if (intf->needs_binding) in usb_resume_interface()
1360 driver = to_usb_driver(intf->dev.driver); in usb_resume_interface()
1364 status = driver->reset_resume(intf); in usb_resume_interface()
1366 dev_err(&intf->dev, "%s error %d\n", in usb_resume_interface()
1369 intf->needs_binding = 1; in usb_resume_interface()
1370 dev_dbg(&intf->dev, "no reset_resume for driver %s?\n", in usb_resume_interface()
1374 status = driver->resume(intf); in usb_resume_interface()
1376 dev_err(&intf->dev, "resume error %d\n", status); in usb_resume_interface()
1380 dev_vdbg(&intf->dev, "%s: status %d\n", __func__, status); in usb_resume_interface()
1417 struct usb_interface *intf; in usb_suspend_both() local
1427 intf = udev->actconfig->interface[i]; in usb_suspend_both()
1428 status = usb_suspend_interface(udev, intf, msg); in usb_suspend_both()
1473 intf = udev->actconfig->interface[i]; in usb_suspend_both()
1474 usb_resume_interface(udev, intf, msg, 0); in usb_suspend_both()
1518 struct usb_interface *intf; in usb_resume_both() local
1533 intf = udev->actconfig->interface[i]; in usb_resume_both()
1534 usb_resume_interface(udev, intf, msg, in usb_resume_both()
1746 void usb_autopm_put_interface(struct usb_interface *intf) in usb_autopm_put_interface() argument
1748 struct usb_device *udev = interface_to_usbdev(intf); in usb_autopm_put_interface()
1752 status = pm_runtime_put_sync(&intf->dev); in usb_autopm_put_interface()
1753 dev_vdbg(&intf->dev, "%s: cnt %d -> %d\n", in usb_autopm_put_interface()
1754 __func__, atomic_read(&intf->dev.power.usage_count), in usb_autopm_put_interface()
1774 void usb_autopm_put_interface_async(struct usb_interface *intf) in usb_autopm_put_interface_async() argument
1776 struct usb_device *udev = interface_to_usbdev(intf); in usb_autopm_put_interface_async()
1780 status = pm_runtime_put(&intf->dev); in usb_autopm_put_interface_async()
1781 dev_vdbg(&intf->dev, "%s: cnt %d -> %d\n", in usb_autopm_put_interface_async()
1782 __func__, atomic_read(&intf->dev.power.usage_count), in usb_autopm_put_interface_async()
1796 void usb_autopm_put_interface_no_suspend(struct usb_interface *intf) in usb_autopm_put_interface_no_suspend() argument
1798 struct usb_device *udev = interface_to_usbdev(intf); in usb_autopm_put_interface_no_suspend()
1801 pm_runtime_put_noidle(&intf->dev); in usb_autopm_put_interface_no_suspend()
1824 int usb_autopm_get_interface(struct usb_interface *intf) in usb_autopm_get_interface() argument
1828 status = pm_runtime_resume_and_get(&intf->dev); in usb_autopm_get_interface()
1829 dev_vdbg(&intf->dev, "%s: cnt %d -> %d\n", in usb_autopm_get_interface()
1830 __func__, atomic_read(&intf->dev.power.usage_count), in usb_autopm_get_interface()
1855 int usb_autopm_get_interface_async(struct usb_interface *intf) in usb_autopm_get_interface_async() argument
1859 status = pm_runtime_get(&intf->dev); in usb_autopm_get_interface_async()
1861 pm_runtime_put_noidle(&intf->dev); in usb_autopm_get_interface_async()
1862 dev_vdbg(&intf->dev, "%s: cnt %d -> %d\n", in usb_autopm_get_interface_async()
1863 __func__, atomic_read(&intf->dev.power.usage_count), in usb_autopm_get_interface_async()
1880 void usb_autopm_get_interface_no_resume(struct usb_interface *intf) in usb_autopm_get_interface_no_resume() argument
1882 struct usb_device *udev = interface_to_usbdev(intf); in usb_autopm_get_interface_no_resume()
1885 pm_runtime_get_noresume(&intf->dev); in usb_autopm_get_interface_no_resume()
1893 struct usb_interface *intf; in autosuspend_check() local
1904 intf = udev->actconfig->interface[i]; in autosuspend_check()
1911 if (intf->dev.power.disable_depth) in autosuspend_check()
1913 if (atomic_read(&intf->dev.power.usage_count) > 0) in autosuspend_check()
1915 w |= intf->needs_remote_wakeup; in autosuspend_check()
1924 driver = to_usb_driver(intf->dev.driver); in autosuspend_check()
1926 intf->needs_remote_wakeup) in autosuspend_check()