aboutsummaryrefslogtreecommitdiff
path: root/drivers/usb/gadget/u_serial.h
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-09-10 08:35:40 +0200
committerIngo Molnar <mingo@elte.hu>2008-09-10 08:35:40 +0200
commit429b022af41108f6942d72547592b1d30e9a51f0 (patch)
tree7d68355529718018cdad1241285816c6f64620b2 /drivers/usb/gadget/u_serial.h
parent0cd418ddb1ee88df7d16d5df06cb2da68eceb9e4 (diff)
parentadee14b2e1557d0a8559f29681732d05a89dfc35 (diff)
Merge commit 'v2.6.27-rc6' into core/rcu
Diffstat (limited to 'drivers/usb/gadget/u_serial.h')
-rw-r--r--drivers/usb/gadget/u_serial.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/usb/gadget/u_serial.h b/drivers/usb/gadget/u_serial.h
index 7b561138f90..af3910d01ae 100644
--- a/drivers/usb/gadget/u_serial.h
+++ b/drivers/usb/gadget/u_serial.h
@@ -23,8 +23,7 @@
* style I/O using the USB peripheral endpoints listed here, including
* hookups to sysfs and /dev for each logical "tty" device.
*
- * REVISIT need TTY --> USB event flow too, so ACM can report open/close
- * as carrier detect events. Model after ECM. There's more ACM state too.
+ * REVISIT at least ACM could support tiocmget() if needed.
*
* REVISIT someday, allow multiplexing several TTYs over these endpoints.
*/
@@ -41,8 +40,17 @@ struct gserial {
/* REVISIT avoid this CDC-ACM support harder ... */
struct usb_cdc_line_coding port_line_coding; /* 9600-8-N-1 etc */
+
+ /* notification callbacks */
+ void (*connect)(struct gserial *p);
+ void (*disconnect)(struct gserial *p);
+ int (*send_break)(struct gserial *p, int duration);
};
+/* utilities to allocate/free request and buffer */
+struct usb_request *gs_alloc_req(struct usb_ep *ep, unsigned len, gfp_t flags);
+void gs_free_req(struct usb_ep *, struct usb_request *req);
+
/* port setup/teardown is handled by gadget driver */
int gserial_setup(struct usb_gadget *g, unsigned n_ports);
void gserial_cleanup(void);