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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to