/* * u_serial.h - interface to USB gadget "serial port"/TTY utilities * * Copyright (C) 2008 David Brownell * Copyright (C) 2008 by Nokia Corporation * * This software is distributed under the terms of the GNU General * Public License ("GPL") as published by the Free Software Foundation, * either version 2 of that License or (at your option) any later version. */ #ifndef __U_SERIAL_H #define __U_SERIAL_H #include <linux/usb/composite.h> #include <linux/usb/cdc.h> #define MAX_U_SERIAL_PORTS 4 struct f_serial_opts { struct usb_function_instance func_inst; u8 port_num; }; /* * One non-multiplexed "serial" I/O port ... there can be several of these * on any given USB peripheral device, if it provides enough endpoints. * * The "u_serial" utility component exists to do one thing: manage TTY * style I/O using the USB peripheral endpoints listed here, including * hookups to sysfs and /dev for each logical "tty" device. * * REVISIT at least ACM could support tiocmget() if needed. * * REVISIT someday, allow multiplexing several TTYs over these endpoints. */ struct gserial { struct usb_function func; /* port is managed by gserial_{connect,disconnect} */ struct gs_port *ioport; struct usb_ep *in; struct usb_ep *out; /* 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); /* management of individual TTY ports */ int gserial_alloc_line(unsigned char *port_line); void gserial_free_line(unsigned char port_line); /* connect/disconnect is handled by individual functions */ 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 gser_bind_config(struct usb_configuration *c, u8 port_num); int obex_bind_config(struct usb_configuration *c, u8 port_num); #endif /* __U_SERIAL_H */ lue='2194bd1080210c6e85ea262cda9ad0135b3f3c87'/><input type='hidden' name='showmsg' value='1'/><select name='qt'> <option value='grep'>log msg</option> <option value='author'>author</option> <option value='committer'>committer</option> <option value='range'>range</option> </select> <input class='txt' type='search' size='10' name='q' value=''/> <input type='submit' value='search'/> </form> </td></tr></table> <div class='path'>path: <a href='/cgit.cgi/linux/net-next.git/log/?id=2194bd1080210c6e85ea262cda9ad0135b3f3c87&showmsg=1'>root</a>/<a href='/cgit.cgi/linux/net-next.git/log/net?id=2194bd1080210c6e85ea262cda9ad0135b3f3c87&showmsg=1'>net</a>/<a href='/cgit.cgi/linux/net-next.git/log/net/sched?id=2194bd1080210c6e85ea262cda9ad0135b3f3c87&showmsg=1'>sched</a>/<a href='/cgit.cgi/linux/net-next.git/log/net/sched/act_ife.c?id=2194bd1080210c6e85ea262cda9ad0135b3f3c87&showmsg=1'>act_ife.c</a></div><div class='content'><table class='list nowrap'><tr class='nohover'><th class='left'>Age</th><th class='left'>Commit message (<a href='/cgit.cgi/linux/net-next.git/log/net/sched/act_ife.c?id=2194bd1080210c6e85ea262cda9ad0135b3f3c87'>Collapse</a>)</th><th class='left'>Author</th><th class='left'>Files</th><th class='left'>Lines</th></tr> <tr class='logheader'><td><span title='2017-02-03 15:16:46 -0500'>2017-02-03</span></td><td class='logsubject'><a href='/cgit.cgi/linux/net-next.git/commit/net/sched/act_ife.c?id=295a6e06d21e1f469c9f38b00125a13b60ad4e7c'>net/sched: act_ife: Change to use ife module</a></td><td>Yotam Gigi</td><td>1</td><td><span class='deletions'>-78</span>/<span class='insertions'>+32</span></td></tr> <tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'> Use the encode/decode functionality from the ife module instead of using implementation inside the act_ife. Reviewed-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: Yotam Gigi <yotamg@mellanox.com> Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com> Signed-off-by: Roman Mashak <mrv@mojatatu.com> Signed-off-by: David S. Miller <davem@davemloft.net> </td></tr> <tr class='logheader'><td><span title='2017-02-03 15:16:45 -0500'>2017-02-03</span></td><td class='logsubject'><a href='/cgit.cgi/linux/net-next.git/commit/net/sched/act_ife.c?id=1d5e7c859e81a66674d194c346119d154d31e9dc'>net/sched: act_ife: Unexport ife_tlv_meta_encode</a></td><td>Yotam Gigi</td><td>1</td><td><span class='deletions'>-2</span>/<span class='insertions'>+2</span></td></tr> <tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'> As the function ife_tlv_meta_encode is not used by any other module, unexport it and make it static for the act_ife module. Signed-off-by: Yotam Gigi <yotamg@mellanox.com> Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com> Signed-off-by: Roman Mashak <mrv@mojatatu.com> Signed-off-by: David S. Miller <davem@davemloft.net> </td></tr>