Lines Matching defs:subdriver
41 * a subdriver, enabling userspace applications ("modem managers") to
50 struct usb_driver *subdriver;
137 /* using a counter to merge subdriver requests with our own into a combined state */
167 /* collect all three endpoints and register subdriver */
171 struct usb_driver *subdriver = NULL;
183 /* require interrupt endpoint for subdriver */
189 /* for subdriver power management */
192 /* register subdriver */
193 subdriver = usb_cdc_wdm_register(info->control, &dev->status->desc, 4096, &qmi_wwan_cdc_wdm_manage_power);
194 if (IS_ERR(subdriver)) {
195 dev_err(&info->control->dev, "subdriver registration failed\n");
196 rv = PTR_ERR(subdriver);
203 /* save subdriver struct for suspend/resume wrappers */
204 info->subdriver = subdriver;
345 if (info->subdriver && info->subdriver->disconnect)
346 info->subdriver->disconnect(info->control);
360 info->subdriver = NULL;
366 * subdriver if present.
381 if (intf == info->control && info->subdriver && info->subdriver->suspend)
382 ret = info->subdriver->suspend(intf, message);
394 bool callsub = (intf == info->control && info->subdriver && info->subdriver->resume);
397 ret = info->subdriver->resume(intf);
401 if (ret < 0 && callsub && info->subdriver->suspend)
402 info->subdriver->suspend(intf, PMSG_SUSPEND);