diff options
author | David Brownell <dbrownell@users.sourceforge.net> | 2008-06-20 05:18:40 +0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-07-22 02:16:06 +0400 |
commit | 4d5a73dc39c1e1d8ba5feec5c6234ae920c59161 (patch) | |
tree | 266b131a87231e5905f4ee4d974e9a47467595b1 /drivers/usb/gadget/u_serial.h | |
parent | 097db1d034b0927056f3d9e844dc80b3ba881765 (diff) | |
download | linux-4d5a73dc39c1e1d8ba5feec5c6234ae920c59161.tar.xz |
usb gadget serial: split out CDC ACM function
Split out CDC ACM parts of "gadget serial" to a "function driver".
Some key structural differences from the previous ACM support, shared
with with the generic serial function (next patch):
- As a function driver, it can be combined with other functions.
One gadget configuration could offer both serial and network
links, as an example.
- One serial port can be exposed in multiple configurations;
the /dev/ttyGS0 node could be exposed regardless of which
config the host selected.
- One configuration can expose multiple serial ports, such as
ttyGS0, ttyGS1, ttyGS2, and ttyGS3.
This code should be a lot easier to understand than the previous
all-in-one-big-file version of the driver.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/gadget/u_serial.h')
-rw-r--r-- | drivers/usb/gadget/u_serial.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/usb/gadget/u_serial.h b/drivers/usb/gadget/u_serial.h index bc38e68d0f26..83b45a3801ff 100644 --- a/drivers/usb/gadget/u_serial.h +++ b/drivers/usb/gadget/u_serial.h @@ -12,10 +12,7 @@ #ifndef __U_SERIAL_H #define __U_SERIAL_H -/* #include <linux/usb/composite.h> */ -#include <linux/usb/ch9.h> -#include <linux/usb/gadget.h> - +#include <linux/usb/composite.h> #include <linux/usb/cdc.h> /* @@ -32,7 +29,7 @@ * REVISIT someday, allow multiplexing several TTYs over these endpoints. */ struct gserial { - /* struct usb_function func; */ + struct usb_function func; /* port is managed by gserial_{connect,disconnect} */ struct gs_port *ioport; @@ -59,4 +56,7 @@ void gserial_cleanup(void); int gserial_connect(struct gserial *, u8 port_num); void gserial_disconnect(struct gserial *); +/* functions are bound to configurations by a config or gadget driver */ +int acm_bind_config(struct usb_configuration *c, u8 port_num); + #endif /* __U_SERIAL_H */ |