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()
324 struct usb_interface *intf = to_usb_interface(dev); in usb_probe_interface() local
325 struct usb_device *udev = interface_to_usbdev(intf); in usb_probe_interface()
332 intf->needs_binding = 0; in usb_probe_interface()
338 dev_err(&intf->dev, "Device is not authorized for usage\n"); in usb_probe_interface()
340 } else if (intf->authorized == 0) { in usb_probe_interface()
341 dev_err(&intf->dev, "Interface %d is not authorized for usage\n", in usb_probe_interface()
342 intf->altsetting->desc.bInterfaceNumber); in usb_probe_interface()
346 id = usb_match_dynamic_id(intf, driver); in usb_probe_interface()
348 id = usb_match_id(intf, driver->id_table); in usb_probe_interface()
358 intf->condition = USB_INTERFACE_BINDING; in usb_probe_interface()
383 dev_err(&intf->dev, "%s Failed to disable LPM for driver %s\n", in usb_probe_interface()
391 if (intf->needs_altsetting0) { in usb_probe_interface()
392 error = usb_set_interface(udev, intf->altsetting[0]. in usb_probe_interface()
396 intf->needs_altsetting0 = 0; in usb_probe_interface()
399 error = driver->probe(intf, id); in usb_probe_interface()
403 intf->condition = USB_INTERFACE_BOUND; in usb_probe_interface()
413 usb_set_intfdata(intf, NULL); in usb_probe_interface()
414 intf->needs_remote_wakeup = 0; in usb_probe_interface()
415 intf->condition = USB_INTERFACE_UNBOUND; in usb_probe_interface()
434 struct usb_interface *intf = to_usb_interface(dev); in usb_unbind_interface() local
440 intf->condition = USB_INTERFACE_UNBINDING; in usb_unbind_interface()
443 udev = interface_to_usbdev(intf); in usb_unbind_interface()
459 usb_disable_interface(udev, intf, false); in usb_unbind_interface()
461 driver->disconnect(intf); in usb_unbind_interface()
464 for (i = 0, j = 0; i < intf->cur_altsetting->desc.bNumEndpoints; i++) { in usb_unbind_interface()
465 ep = &intf->cur_altsetting->endpoint[i]; in usb_unbind_interface()
477 usb_free_streams(intf, eps, j, GFP_KERNEL); in usb_unbind_interface()
487 if (intf->cur_altsetting->desc.bAlternateSetting == 0) { in usb_unbind_interface()
491 usb_enable_interface(udev, intf, false); in usb_unbind_interface()
492 } else if (!error && !intf->dev.power.is_prepared) { in usb_unbind_interface()
493 r = usb_set_interface(udev, intf->altsetting[0]. in usb_unbind_interface()
496 intf->needs_altsetting0 = 1; in usb_unbind_interface()
498 intf->needs_altsetting0 = 1; in usb_unbind_interface()
500 usb_set_intfdata(intf, NULL); in usb_unbind_interface()
502 intf->condition = USB_INTERFACE_UNBOUND; in usb_unbind_interface()
503 intf->needs_remote_wakeup = 0; in usb_unbind_interface()
522 struct usb_interface *intf = to_usb_interface(dev); in usb_shutdown_interface() local
530 driver->shutdown(intf); in usb_shutdown_interface()
691 struct usb_host_interface *intf, in usb_match_one_id_intf() argument
706 (id->bInterfaceClass != intf->desc.bInterfaceClass)) in usb_match_one_id_intf()
710 (id->bInterfaceSubClass != intf->desc.bInterfaceSubClass)) in usb_match_one_id_intf()
714 (id->bInterfaceProtocol != intf->desc.bInterfaceProtocol)) in usb_match_one_id_intf()
718 (id->bInterfaceNumber != intf->desc.bInterfaceNumber)) in usb_match_one_id_intf()
728 struct usb_host_interface *intf; in usb_match_one_id() local
735 intf = interface->cur_altsetting; in usb_match_one_id()
741 return usb_match_one_id_intf(dev, intf, id); in usb_match_one_id()
895 struct usb_interface *intf; in usb_device_match() local
903 intf = to_usb_interface(dev); in usb_device_match()
906 id = usb_match_id(intf, usb_drv->id_table); in usb_device_match()
910 id = usb_match_dynamic_id(intf, usb_drv); in usb_device_match()
925 const struct usb_interface *intf = to_usb_interface(dev); in usb_uevent() local
927 usb_dev = interface_to_usbdev(intf); in usb_uevent()
1133 void usb_forced_unbind_intf(struct usb_interface *intf) in usb_forced_unbind_intf() argument
1135 struct usb_driver *driver = to_usb_driver(intf->dev.driver); in usb_forced_unbind_intf()
1137 dev_dbg(&intf->dev, "forced unbind\n"); in usb_forced_unbind_intf()
1138 usb_driver_release_interface(driver, intf); in usb_forced_unbind_intf()
1141 intf->needs_binding = 1; in usb_forced_unbind_intf()
1154 struct usb_interface *intf; in unbind_marked_interfaces() local
1159 intf = config->interface[i]; in unbind_marked_interfaces()
1160 if (intf->dev.driver && intf->needs_binding) in unbind_marked_interfaces()
1161 usb_forced_unbind_intf(intf); in unbind_marked_interfaces()
1174 static void usb_rebind_intf(struct usb_interface *intf) in usb_rebind_intf() argument
1179 if (intf->dev.driver) in usb_rebind_intf()
1180 usb_forced_unbind_intf(intf); in usb_rebind_intf()
1183 if (!intf->dev.power.is_prepared) { in usb_rebind_intf()
1184 intf->needs_binding = 0; in usb_rebind_intf()
1185 rc = device_attach(&intf->dev); in usb_rebind_intf()
1187 dev_warn(&intf->dev, "rebind failed: %d\n", rc); in usb_rebind_intf()
1201 struct usb_interface *intf; in rebind_marked_interfaces() local
1206 intf = config->interface[i]; in rebind_marked_interfaces()
1207 if (intf->needs_binding) in rebind_marked_interfaces()
1208 usb_rebind_intf(intf); in rebind_marked_interfaces()
1238 struct usb_interface *intf; in unbind_no_pm_drivers_interfaces() local
1244 intf = config->interface[i]; in unbind_no_pm_drivers_interfaces()
1246 if (intf->dev.driver) { in unbind_no_pm_drivers_interfaces()
1247 drv = to_usb_driver(intf->dev.driver); in unbind_no_pm_drivers_interfaces()
1249 usb_forced_unbind_intf(intf); in unbind_no_pm_drivers_interfaces()
1317 struct usb_interface *intf, pm_message_t msg) in usb_suspend_interface() argument
1323 intf->condition == USB_INTERFACE_UNBOUND) in usb_suspend_interface()
1325 driver = to_usb_driver(intf->dev.driver); in usb_suspend_interface()
1328 status = driver->suspend(intf, msg); in usb_suspend_interface()
1330 dev_err(&intf->dev, "suspend error %d\n", status); in usb_suspend_interface()
1333 dev_vdbg(&intf->dev, "%s: status %d\n", __func__, status); in usb_suspend_interface()
1338 struct usb_interface *intf, pm_message_t msg, int reset_resume) in usb_resume_interface() argument
1347 if (intf->condition == USB_INTERFACE_UNBINDING) in usb_resume_interface()
1351 if (intf->condition == USB_INTERFACE_UNBOUND) { in usb_resume_interface()
1354 if (intf->needs_altsetting0 && !intf->dev.power.is_prepared) { in usb_resume_interface()
1355 usb_set_interface(udev, intf->altsetting[0]. in usb_resume_interface()
1357 intf->needs_altsetting0 = 0; in usb_resume_interface()
1363 if (intf->needs_binding) in usb_resume_interface()
1365 driver = to_usb_driver(intf->dev.driver); in usb_resume_interface()
1369 status = driver->reset_resume(intf); in usb_resume_interface()
1371 dev_err(&intf->dev, "%s error %d\n", in usb_resume_interface()
1374 intf->needs_binding = 1; in usb_resume_interface()
1375 dev_dbg(&intf->dev, "no reset_resume for driver %s?\n", in usb_resume_interface()
1379 status = driver->resume(intf); in usb_resume_interface()
1381 dev_err(&intf->dev, "resume error %d\n", status); in usb_resume_interface()
1385 dev_vdbg(&intf->dev, "%s: status %d\n", __func__, status); in usb_resume_interface()
1422 struct usb_interface *intf; in usb_suspend_both() local
1432 intf = udev->actconfig->interface[i]; in usb_suspend_both()
1433 status = usb_suspend_interface(udev, intf, msg); in usb_suspend_both()
1478 intf = udev->actconfig->interface[i]; in usb_suspend_both()
1479 usb_resume_interface(udev, intf, msg, 0); in usb_suspend_both()
1523 struct usb_interface *intf; in usb_resume_both() local
1538 intf = udev->actconfig->interface[i]; in usb_resume_both()
1539 usb_resume_interface(udev, intf, msg, in usb_resume_both()
1751 void usb_autopm_put_interface(struct usb_interface *intf) in usb_autopm_put_interface() argument
1753 struct usb_device *udev = interface_to_usbdev(intf); in usb_autopm_put_interface()
1757 status = pm_runtime_put_sync(&intf->dev); in usb_autopm_put_interface()
1758 dev_vdbg(&intf->dev, "%s: cnt %d -> %d\n", in usb_autopm_put_interface()
1759 __func__, atomic_read(&intf->dev.power.usage_count), in usb_autopm_put_interface()
1779 void usb_autopm_put_interface_async(struct usb_interface *intf) in usb_autopm_put_interface_async() argument
1781 struct usb_device *udev = interface_to_usbdev(intf); in usb_autopm_put_interface_async()
1785 status = pm_runtime_put(&intf->dev); in usb_autopm_put_interface_async()
1786 dev_vdbg(&intf->dev, "%s: cnt %d -> %d\n", in usb_autopm_put_interface_async()
1787 __func__, atomic_read(&intf->dev.power.usage_count), in usb_autopm_put_interface_async()
1801 void usb_autopm_put_interface_no_suspend(struct usb_interface *intf) in usb_autopm_put_interface_no_suspend() argument
1803 struct usb_device *udev = interface_to_usbdev(intf); in usb_autopm_put_interface_no_suspend()
1806 pm_runtime_put_noidle(&intf->dev); in usb_autopm_put_interface_no_suspend()
1829 int usb_autopm_get_interface(struct usb_interface *intf) in usb_autopm_get_interface() argument
1833 status = pm_runtime_resume_and_get(&intf->dev); in usb_autopm_get_interface()
1834 dev_vdbg(&intf->dev, "%s: cnt %d -> %d\n", in usb_autopm_get_interface()
1835 __func__, atomic_read(&intf->dev.power.usage_count), in usb_autopm_get_interface()
1860 int usb_autopm_get_interface_async(struct usb_interface *intf) in usb_autopm_get_interface_async() argument
1864 status = pm_runtime_get(&intf->dev); in usb_autopm_get_interface_async()
1866 pm_runtime_put_noidle(&intf->dev); in usb_autopm_get_interface_async()
1867 dev_vdbg(&intf->dev, "%s: cnt %d -> %d\n", in usb_autopm_get_interface_async()
1868 __func__, atomic_read(&intf->dev.power.usage_count), in usb_autopm_get_interface_async()
1885 void usb_autopm_get_interface_no_resume(struct usb_interface *intf) in usb_autopm_get_interface_no_resume() argument
1887 struct usb_device *udev = interface_to_usbdev(intf); in usb_autopm_get_interface_no_resume()
1890 pm_runtime_get_noresume(&intf->dev); in usb_autopm_get_interface_no_resume()
1898 struct usb_interface *intf; in autosuspend_check() local
1909 intf = udev->actconfig->interface[i]; in autosuspend_check()
1916 if (intf->dev.power.disable_depth) in autosuspend_check()
1918 if (atomic_read(&intf->dev.power.usage_count) > 0) in autosuspend_check()
1920 w |= intf->needs_remote_wakeup; in autosuspend_check()
1929 driver = to_usb_driver(intf->dev.driver); in autosuspend_check()
1931 intf->needs_remote_wakeup) in autosuspend_check()