USB: serial: add endpoint sanity check to core

Allow drivers to specify a minimum number of endpoints per type, which
USB serial core will verify after subdriver probe has returned (where
the current alternate setting may have been changed).

Signed-off-by: Johan Hovold <johan@kernel.org>
This commit is contained in:
Johan Hovold
2017-03-02 12:51:19 +01:00
parent 8520ac0d70
commit 92e6b2c675
2 changed files with 21 additions and 5 deletions

View File

@@ -188,6 +188,10 @@ static inline void usb_set_serial_data(struct usb_serial *serial, void *data)
* @id_table: pointer to a list of usb_device_id structures that define all
* of the devices this structure can support.
* @num_ports: the number of different ports this device will have.
* @num_bulk_in: minimum number of bulk-in endpoints
* @num_bulk_out: minimum number of bulk-out endpoints
* @num_interrupt_in: minimum number of interrupt-in endpoints
* @num_interrupt_out: minimum number of interrupt-out endpoints
* @bulk_in_size: minimum number of bytes to allocate for bulk-in buffer
* (0 = end-point size)
* @bulk_out_size: bytes to allocate for bulk-out buffer (0 = end-point size)
@@ -235,6 +239,11 @@ struct usb_serial_driver {
unsigned char num_ports;
unsigned char num_bulk_in;
unsigned char num_bulk_out;
unsigned char num_interrupt_in;
unsigned char num_interrupt_out;
size_t bulk_in_size;
size_t bulk_out_size;