usb: cdc-wdm: adding usb_cdc_wdm_register subdriver support
authorBjørn Mork <bjorn@mork.no>
Tue, 6 Mar 2012 16:29:22 +0000 (17:29 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 8 Mar 2012 21:06:48 +0000 (13:06 -0800)
commit3cc3615749dbd1b891512d5c9a5bf4559cfa9741
tree9e6d3b095c521d7114ac0b74ee280b31d2809d94
parentb0c13860808a528cd580fdca61aef9f73352a331
usb: cdc-wdm: adding usb_cdc_wdm_register subdriver support

This driver can be used as a subdriver of another USB driver, allowing
it to export a Device Managment interface consisting of a single interrupt
endpoint with no dedicated USB interface.

Some devices provide a Device Management function combined with a wwan
function in a single USB interface having three endpoints (bulk in/out
+ interrupt).  If the interrupt endpoint is used exclusively for DM
notifications, then this driver can support that as a subdriver
provided that the wwan driver calls the appropriate entry points on
probe, suspend, resume, pre_reset, post_reset and disconnect.

The main driver must have full control over all interface related
settings, including the needs_remote_wakeup flag. A manage_power
function must be provided by the main driver.

A manage_power stub doing direct flag manipulation is used in normal
driver mode.

Signed-off-by: Bjørn Mork <bjorn@mork.no>
Acked-by: Oliver Neukum <oneukum@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/class/cdc-wdm.c
include/linux/usb/cdc-wdm.h [new file with mode: 0644]