This series refactors the endpoint sanity checks by allowing subdrivers to specify a minimum number of endpoints required per type and letting core verify this during probe. Note that the checks are minimum (i.e. we allow further unused endpoints) and are verified only after the subdriver probe callbacks returns where the altsetting may have been changed or an interface may have been rejected based on some other property (e.g. interface number). This series also moves the endpoint descriptor arrays used to determine the port-endpoint mapping of the stack and increases the maximum number of ports a device can register to 16, something which specifically enables the upper eight ports of some Moxa devices. Note that a follow-on series will pass the endpoint descriptors to the subdrivers, something which allows for clean ups of more elaborate sanity checks as well as the port-endpoint mapping to be modified (and some related hacks to be removed). Johan Johan Hovold (21): USB: serial: clean up probe error paths USB: serial: clean up endpoint and port-counter types USB: serial: refactor and clean up endpoint handling USB: serial: allow up to 16 ports per device USB: serial: replace runtime overflow check USB: serial: add endpoint sanity check to core USB: serial: ark3116: simplify endpoint sanity check USB: serial: cyberjack: simplify endpoint check USB: serial: digi_acceleport: simplify endpoint check USB: serial: io_edgeport: simplify and tighten endpoint check USB: serial: iuu_phoenix: simplify endpoint check USB: serial: keyspan_pda: simplify endpoint check USB: serial: kobil_sct: simplify endpoint check USB: serial: mos7720: simplify endpoint check USB: serial: omninet: simplify endpoint check USB: serial: opticon: simplify endpoint check USB: serial: oti6858: simplify endpoint check USB: serial: pl2303: simplify endpoint check USB: serial: spcp8x5: simplify endpoint check USB: serial: symbolserial: simplify endpoint check USB: serial: whiteheat: simplify endpoint check drivers/usb/serial/ark3116.c | 17 +--- drivers/usb/serial/cyberjack.c | 11 +-- drivers/usb/serial/digi_acceleport.c | 23 +---- drivers/usb/serial/io_edgeport.c | 17 +++- drivers/usb/serial/iuu_phoenix.c | 13 +-- drivers/usb/serial/keyspan_pda.c | 16 +-- drivers/usb/serial/kobil_sct.c | 13 +-- drivers/usb/serial/mos7720.c | 7 +- drivers/usb/serial/omninet.c | 14 +-- drivers/usb/serial/opticon.c | 12 +-- drivers/usb/serial/oti6858.c | 19 +--- drivers/usb/serial/pl2303.c | 11 +-- drivers/usb/serial/spcp8x5.c | 16 +-- drivers/usb/serial/symbolserial.c | 12 +-- drivers/usb/serial/usb-serial.c | 187 ++++++++++++++++++----------------- drivers/usb/serial/whiteheat.c | 32 +----- include/linux/usb/serial.h | 22 +++-- 17 files changed, 154 insertions(+), 288 deletions(-) -- 2.12.0 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html