lkml.org 
[lkml]   [2017]   [Jun]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH 0/8] Allow f_acm gadgets to notify the user about SetLineCoding requests
Date
I'm currently working on a project where I'd like to have an omap board
running linux be a usb-to-uart converter (using f_acm), and I've ran
into an issue: there's no way for the application to know if the host
has issued a SetLineCoding requests (after which parity/baudrate should
be changed to match the host's request).

This series adds the support necessary to achieve that:
- Allowing tty drivers to supply a poll() function to notify the user of
driver-specific events.
- Propagating poll() and ioctl() from u_serial to the next layer (f_acm)
in this case.
- Let the user read the current line coding set by the host (via an
ioctl() call).
- Notify the user when there's a pending SetLineCoding request they
haven't read yet

The last patch also removes up the port_line_config field from
struct gserial. It made no sense to have there (and had a REVISIT
comment at every turn), it was never used and it was initialized with
invalid values.

Tal Shorer (8):
tty: add a poll() callback in struct tty_operations
usb: gadget: u_serial: propagate poll() to the next layer
usb: gadget: f_acm: validate set_line_coding requests
usb: gadget: u_serial: propagate ioctl() to the next layer
usb: gadget: f_acm: initialize port_line_coding when creating an
instance
usb: gadget: f_acm: add an ioctl to get the current line coding
usb: gadget: f_acm: notify the user on SetLineCoding
usb: gadget: u_serial: remove port_line_config from struct gserial

Documentation/ioctl/ioctl-number.txt | 1 +
drivers/tty/n_tty.c | 2 ++
drivers/usb/gadget/function/f_acm.c | 66 +++++++++++++++++++++++++++++-----
drivers/usb/gadget/function/u_serial.c | 53 ++++++++++++++++-----------
drivers/usb/gadget/function/u_serial.h | 7 ++--
include/linux/tty_driver.h | 3 ++
include/uapi/linux/usb/f_acm.h | 12 +++++++
7 files changed, 113 insertions(+), 31 deletions(-)
create mode 100644 include/uapi/linux/usb/f_acm.h

--
2.7.4

\
 
 \ /
  Last update: 2017-06-12 20:57    [W:0.681 / U:0.612 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site