A single USB function can be implemented using a group of interfaces and this is for example commonly used for Communication Class devices. This series adds support for multi-interface functions to USB serial core and exports an interface that allows drivers to claim a second sibling interface. The interface could easily be extended to allow claiming further interfaces if ever needed. The final patch uses the new interface to properly claim both the control and data interface of Maxlinear/Exar devices. Johan Johan Hovold (4): USB: serial: drop unused suspending flag USB: serial: refactor endpoint classification USB: serial: add support for multi-interface functions USB: serial: xr: claim both interfaces drivers/usb/serial/usb-serial.c | 135 ++++++++++++++++++++++++-------- drivers/usb/serial/xr_serial.c | 26 +++++- include/linux/usb/serial.h | 8 +- 3 files changed, 131 insertions(+), 38 deletions(-) -- 2.26.3