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()
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()
675 struct usb_host_interface *intf, in usb_match_one_id_intf() argument
690 (id->bInterfaceClass != intf->desc.bInterfaceClass)) in usb_match_one_id_intf()
694 (id->bInterfaceSubClass != intf->desc.bInterfaceSubClass)) in usb_match_one_id_intf()
698 (id->bInterfaceProtocol != intf->desc.bInterfaceProtocol)) in usb_match_one_id_intf()
702 (id->bInterfaceNumber != intf->desc.bInterfaceNumber)) in usb_match_one_id_intf()
712 struct usb_host_interface *intf; in usb_match_one_id() local
719 intf = interface->cur_altsetting; in usb_match_one_id()
725 return usb_match_one_id_intf(dev, intf, id); in usb_match_one_id()
878 struct usb_interface *intf; in usb_device_match() local
886 intf = to_usb_interface(dev); in usb_device_match()
889 id = usb_match_id(intf, usb_drv->id_table); in usb_device_match()
893 id = usb_match_dynamic_id(intf, usb_drv); in usb_device_match()
908 struct usb_interface *intf = to_usb_interface(dev); in usb_uevent() local
910 usb_dev = interface_to_usbdev(intf); in usb_uevent()
1112 void usb_forced_unbind_intf(struct usb_interface *intf) in usb_forced_unbind_intf() argument
1114 struct usb_driver *driver = to_usb_driver(intf->dev.driver); in usb_forced_unbind_intf()
1116 dev_dbg(&intf->dev, "forced unbind\n"); in usb_forced_unbind_intf()
1117 usb_driver_release_interface(driver, intf); in usb_forced_unbind_intf()
1120 intf->needs_binding = 1; in usb_forced_unbind_intf()
1133 struct usb_interface *intf; in unbind_marked_interfaces() local
1138 intf = config->interface[i]; in unbind_marked_interfaces()
1139 if (intf->dev.driver && intf->needs_binding) in unbind_marked_interfaces()
1140 usb_forced_unbind_intf(intf); in unbind_marked_interfaces()
1153 static void usb_rebind_intf(struct usb_interface *intf) in usb_rebind_intf() argument
1158 if (intf->dev.driver) in usb_rebind_intf()
1159 usb_forced_unbind_intf(intf); in usb_rebind_intf()
1162 if (!intf->dev.power.is_prepared) { in usb_rebind_intf()
1163 intf->needs_binding = 0; in usb_rebind_intf()
1164 rc = device_attach(&intf->dev); in usb_rebind_intf()
1166 dev_warn(&intf->dev, "rebind failed: %d\n", rc); in usb_rebind_intf()
1180 struct usb_interface *intf; in rebind_marked_interfaces() local
1185 intf = config->interface[i]; in rebind_marked_interfaces()
1186 if (intf->needs_binding) in rebind_marked_interfaces()
1187 usb_rebind_intf(intf); in rebind_marked_interfaces()
1217 struct usb_interface *intf; in unbind_no_pm_drivers_interfaces() local
1223 intf = config->interface[i]; in unbind_no_pm_drivers_interfaces()
1225 if (intf->dev.driver) { in unbind_no_pm_drivers_interfaces()
1226 drv = to_usb_driver(intf->dev.driver); in unbind_no_pm_drivers_interfaces()
1228 usb_forced_unbind_intf(intf); in unbind_no_pm_drivers_interfaces()
1296 struct usb_interface *intf, pm_message_t msg) in usb_suspend_interface() argument
1302 intf->condition == USB_INTERFACE_UNBOUND) in usb_suspend_interface()
1304 driver = to_usb_driver(intf->dev.driver); in usb_suspend_interface()
1307 status = driver->suspend(intf, msg); in usb_suspend_interface()
1309 dev_err(&intf->dev, "suspend error %d\n", status); in usb_suspend_interface()
1312 dev_vdbg(&intf->dev, "%s: status %d\n", __func__, status); in usb_suspend_interface()
1317 struct usb_interface *intf, pm_message_t msg, int reset_resume) in usb_resume_interface() argument
1326 if (intf->condition == USB_INTERFACE_UNBINDING) in usb_resume_interface()
1330 if (intf->condition == USB_INTERFACE_UNBOUND) { in usb_resume_interface()
1333 if (intf->needs_altsetting0 && !intf->dev.power.is_prepared) { in usb_resume_interface()
1334 usb_set_interface(udev, intf->altsetting[0]. in usb_resume_interface()
1336 intf->needs_altsetting0 = 0; in usb_resume_interface()
1342 if (intf->needs_binding) in usb_resume_interface()
1344 driver = to_usb_driver(intf->dev.driver); in usb_resume_interface()
1348 status = driver->reset_resume(intf); in usb_resume_interface()
1350 dev_err(&intf->dev, "%s error %d\n", in usb_resume_interface()
1353 intf->needs_binding = 1; in usb_resume_interface()
1354 dev_dbg(&intf->dev, "no reset_resume for driver %s?\n", in usb_resume_interface()
1358 status = driver->resume(intf); in usb_resume_interface()
1360 dev_err(&intf->dev, "resume error %d\n", status); in usb_resume_interface()
1364 dev_vdbg(&intf->dev, "%s: status %d\n", __func__, status); in usb_resume_interface()
1401 struct usb_interface *intf; in usb_suspend_both() local
1411 intf = udev->actconfig->interface[i]; in usb_suspend_both()
1412 status = usb_suspend_interface(udev, intf, msg); in usb_suspend_both()
1457 intf = udev->actconfig->interface[i]; in usb_suspend_both()
1458 usb_resume_interface(udev, intf, msg, 0); in usb_suspend_both()
1502 struct usb_interface *intf; in usb_resume_both() local
1517 intf = udev->actconfig->interface[i]; in usb_resume_both()
1518 usb_resume_interface(udev, intf, msg, in usb_resume_both()
1731 void usb_autopm_put_interface(struct usb_interface *intf) in usb_autopm_put_interface() argument
1733 struct usb_device *udev = interface_to_usbdev(intf); in usb_autopm_put_interface()
1737 status = pm_runtime_put_sync(&intf->dev); in usb_autopm_put_interface()
1738 dev_vdbg(&intf->dev, "%s: cnt %d -> %d\n", in usb_autopm_put_interface()
1739 __func__, atomic_read(&intf->dev.power.usage_count), in usb_autopm_put_interface()
1759 void usb_autopm_put_interface_async(struct usb_interface *intf) in usb_autopm_put_interface_async() argument
1761 struct usb_device *udev = interface_to_usbdev(intf); in usb_autopm_put_interface_async()
1765 status = pm_runtime_put(&intf->dev); in usb_autopm_put_interface_async()
1766 dev_vdbg(&intf->dev, "%s: cnt %d -> %d\n", in usb_autopm_put_interface_async()
1767 __func__, atomic_read(&intf->dev.power.usage_count), in usb_autopm_put_interface_async()
1781 void usb_autopm_put_interface_no_suspend(struct usb_interface *intf) in usb_autopm_put_interface_no_suspend() argument
1783 struct usb_device *udev = interface_to_usbdev(intf); in usb_autopm_put_interface_no_suspend()
1786 pm_runtime_put_noidle(&intf->dev); in usb_autopm_put_interface_no_suspend()
1809 int usb_autopm_get_interface(struct usb_interface *intf) in usb_autopm_get_interface() argument
1813 status = pm_runtime_get_sync(&intf->dev); in usb_autopm_get_interface()
1815 pm_runtime_put_sync(&intf->dev); in usb_autopm_get_interface()
1816 dev_vdbg(&intf->dev, "%s: cnt %d -> %d\n", in usb_autopm_get_interface()
1817 __func__, atomic_read(&intf->dev.power.usage_count), in usb_autopm_get_interface()
1842 int usb_autopm_get_interface_async(struct usb_interface *intf) in usb_autopm_get_interface_async() argument
1846 status = pm_runtime_get(&intf->dev); in usb_autopm_get_interface_async()
1848 pm_runtime_put_noidle(&intf->dev); in usb_autopm_get_interface_async()
1849 dev_vdbg(&intf->dev, "%s: cnt %d -> %d\n", in usb_autopm_get_interface_async()
1850 __func__, atomic_read(&intf->dev.power.usage_count), in usb_autopm_get_interface_async()
1867 void usb_autopm_get_interface_no_resume(struct usb_interface *intf) in usb_autopm_get_interface_no_resume() argument
1869 struct usb_device *udev = interface_to_usbdev(intf); in usb_autopm_get_interface_no_resume()
1872 pm_runtime_get_noresume(&intf->dev); in usb_autopm_get_interface_no_resume()
1880 struct usb_interface *intf; in autosuspend_check() local
1891 intf = udev->actconfig->interface[i]; in autosuspend_check()
1898 if (intf->dev.power.disable_depth) in autosuspend_check()
1900 if (atomic_read(&intf->dev.power.usage_count) > 0) in autosuspend_check()
1902 w |= intf->needs_remote_wakeup; in autosuspend_check()
1911 driver = to_usb_driver(intf->dev.driver); in autosuspend_check()
1913 intf->needs_remote_wakeup) in autosuspend_check()