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()
879 struct usb_interface *intf; in usb_device_match() local
887 intf = to_usb_interface(dev); in usb_device_match()
890 id = usb_match_id(intf, usb_drv->id_table); in usb_device_match()
894 id = usb_match_dynamic_id(intf, usb_drv); in usb_device_match()
909 struct usb_interface *intf = to_usb_interface(dev); in usb_uevent() local
911 usb_dev = interface_to_usbdev(intf); in usb_uevent()
1113 void usb_forced_unbind_intf(struct usb_interface *intf) in usb_forced_unbind_intf() argument
1115 struct usb_driver *driver = to_usb_driver(intf->dev.driver); in usb_forced_unbind_intf()
1117 dev_dbg(&intf->dev, "forced unbind\n"); in usb_forced_unbind_intf()
1118 usb_driver_release_interface(driver, intf); in usb_forced_unbind_intf()
1121 intf->needs_binding = 1; in usb_forced_unbind_intf()
1134 struct usb_interface *intf; in unbind_marked_interfaces() local
1139 intf = config->interface[i]; in unbind_marked_interfaces()
1140 if (intf->dev.driver && intf->needs_binding) in unbind_marked_interfaces()
1141 usb_forced_unbind_intf(intf); in unbind_marked_interfaces()
1154 static void usb_rebind_intf(struct usb_interface *intf) in usb_rebind_intf() argument
1159 if (intf->dev.driver) in usb_rebind_intf()
1160 usb_forced_unbind_intf(intf); in usb_rebind_intf()
1163 if (!intf->dev.power.is_prepared) { in usb_rebind_intf()
1164 intf->needs_binding = 0; in usb_rebind_intf()
1165 rc = device_attach(&intf->dev); in usb_rebind_intf()
1167 dev_warn(&intf->dev, "rebind failed: %d\n", rc); in usb_rebind_intf()
1181 struct usb_interface *intf; in rebind_marked_interfaces() local
1186 intf = config->interface[i]; in rebind_marked_interfaces()
1187 if (intf->needs_binding) in rebind_marked_interfaces()
1188 usb_rebind_intf(intf); in rebind_marked_interfaces()
1218 struct usb_interface *intf; in unbind_no_pm_drivers_interfaces() local
1224 intf = config->interface[i]; in unbind_no_pm_drivers_interfaces()
1226 if (intf->dev.driver) { in unbind_no_pm_drivers_interfaces()
1227 drv = to_usb_driver(intf->dev.driver); in unbind_no_pm_drivers_interfaces()
1229 usb_forced_unbind_intf(intf); in unbind_no_pm_drivers_interfaces()
1297 struct usb_interface *intf, pm_message_t msg) in usb_suspend_interface() argument
1303 intf->condition == USB_INTERFACE_UNBOUND) in usb_suspend_interface()
1305 driver = to_usb_driver(intf->dev.driver); in usb_suspend_interface()
1308 status = driver->suspend(intf, msg); in usb_suspend_interface()
1310 dev_err(&intf->dev, "suspend error %d\n", status); in usb_suspend_interface()
1313 dev_vdbg(&intf->dev, "%s: status %d\n", __func__, status); in usb_suspend_interface()
1318 struct usb_interface *intf, pm_message_t msg, int reset_resume) in usb_resume_interface() argument
1327 if (intf->condition == USB_INTERFACE_UNBINDING) in usb_resume_interface()
1331 if (intf->condition == USB_INTERFACE_UNBOUND) { in usb_resume_interface()
1334 if (intf->needs_altsetting0 && !intf->dev.power.is_prepared) { in usb_resume_interface()
1335 usb_set_interface(udev, intf->altsetting[0]. in usb_resume_interface()
1337 intf->needs_altsetting0 = 0; in usb_resume_interface()
1343 if (intf->needs_binding) in usb_resume_interface()
1345 driver = to_usb_driver(intf->dev.driver); in usb_resume_interface()
1349 status = driver->reset_resume(intf); in usb_resume_interface()
1351 dev_err(&intf->dev, "%s error %d\n", in usb_resume_interface()
1354 intf->needs_binding = 1; in usb_resume_interface()
1355 dev_dbg(&intf->dev, "no reset_resume for driver %s?\n", in usb_resume_interface()
1359 status = driver->resume(intf); in usb_resume_interface()
1361 dev_err(&intf->dev, "resume error %d\n", status); in usb_resume_interface()
1365 dev_vdbg(&intf->dev, "%s: status %d\n", __func__, status); in usb_resume_interface()
1402 struct usb_interface *intf; in usb_suspend_both() local
1412 intf = udev->actconfig->interface[i]; in usb_suspend_both()
1413 status = usb_suspend_interface(udev, intf, msg); in usb_suspend_both()
1458 intf = udev->actconfig->interface[i]; in usb_suspend_both()
1459 usb_resume_interface(udev, intf, msg, 0); in usb_suspend_both()
1503 struct usb_interface *intf; in usb_resume_both() local
1518 intf = udev->actconfig->interface[i]; in usb_resume_both()
1519 usb_resume_interface(udev, intf, msg, in usb_resume_both()
1733 void usb_autopm_put_interface(struct usb_interface *intf) in usb_autopm_put_interface() argument
1735 struct usb_device *udev = interface_to_usbdev(intf); in usb_autopm_put_interface()
1739 status = pm_runtime_put_sync(&intf->dev); in usb_autopm_put_interface()
1740 dev_vdbg(&intf->dev, "%s: cnt %d -> %d\n", in usb_autopm_put_interface()
1741 __func__, atomic_read(&intf->dev.power.usage_count), in usb_autopm_put_interface()
1761 void usb_autopm_put_interface_async(struct usb_interface *intf) in usb_autopm_put_interface_async() argument
1763 struct usb_device *udev = interface_to_usbdev(intf); in usb_autopm_put_interface_async()
1767 status = pm_runtime_put(&intf->dev); in usb_autopm_put_interface_async()
1768 dev_vdbg(&intf->dev, "%s: cnt %d -> %d\n", in usb_autopm_put_interface_async()
1769 __func__, atomic_read(&intf->dev.power.usage_count), in usb_autopm_put_interface_async()
1783 void usb_autopm_put_interface_no_suspend(struct usb_interface *intf) in usb_autopm_put_interface_no_suspend() argument
1785 struct usb_device *udev = interface_to_usbdev(intf); in usb_autopm_put_interface_no_suspend()
1788 pm_runtime_put_noidle(&intf->dev); in usb_autopm_put_interface_no_suspend()
1811 int usb_autopm_get_interface(struct usb_interface *intf) in usb_autopm_get_interface() argument
1815 status = pm_runtime_get_sync(&intf->dev); in usb_autopm_get_interface()
1817 pm_runtime_put_sync(&intf->dev); in usb_autopm_get_interface()
1818 dev_vdbg(&intf->dev, "%s: cnt %d -> %d\n", in usb_autopm_get_interface()
1819 __func__, atomic_read(&intf->dev.power.usage_count), in usb_autopm_get_interface()
1844 int usb_autopm_get_interface_async(struct usb_interface *intf) in usb_autopm_get_interface_async() argument
1848 status = pm_runtime_get(&intf->dev); in usb_autopm_get_interface_async()
1850 pm_runtime_put_noidle(&intf->dev); in usb_autopm_get_interface_async()
1851 dev_vdbg(&intf->dev, "%s: cnt %d -> %d\n", in usb_autopm_get_interface_async()
1852 __func__, atomic_read(&intf->dev.power.usage_count), in usb_autopm_get_interface_async()
1869 void usb_autopm_get_interface_no_resume(struct usb_interface *intf) in usb_autopm_get_interface_no_resume() argument
1871 struct usb_device *udev = interface_to_usbdev(intf); in usb_autopm_get_interface_no_resume()
1874 pm_runtime_get_noresume(&intf->dev); in usb_autopm_get_interface_no_resume()
1882 struct usb_interface *intf; in autosuspend_check() local
1893 intf = udev->actconfig->interface[i]; in autosuspend_check()
1900 if (intf->dev.power.disable_depth) in autosuspend_check()
1902 if (atomic_read(&intf->dev.power.usage_count) > 0) in autosuspend_check()
1904 w |= intf->needs_remote_wakeup; in autosuspend_check()
1913 driver = to_usb_driver(intf->dev.driver); in autosuspend_check()
1915 intf->needs_remote_wakeup) in autosuspend_check()