The following two patches are RFC because we still have a few open questions regarding them. u_char.c is pretty much done, just missing mmap(). The idea with u_char.c was to get better performance in comparison with u_serial.c and also avoid the problem we had with u_serial.c where tty looses bytes when flush_to_ldisc() is called with an almost full line discipline buffer. ->receive_buf() doesn't return the amount of bytes received so flush_to_ldisc() believes it could flush everything. The other problem we have is with f_mtp.c. What would be the best way to notify the userland stack about CANCEL and RESET requests. We thought about using POLLPRI for that, but those requests do not come through the bulk pipes, they come through ep0. Another option would be using uevents for that. What do you all think ? Roger Quadros (1): usb: gadget: u_char: introduce chardev abstraction layer Yauheni Kaliuta (1): usb: gadget: introduce g_mtp driver drivers/usb/gadget/Kconfig | 11 + drivers/usb/gadget/Makefile | 2 + drivers/usb/gadget/f_mtp.c | 869 ++++++++++++++++++++++++++++++++++++++ drivers/usb/gadget/mtp.c | 249 +++++++++++ drivers/usb/gadget/u_char.c | 979 +++++++++++++++++++++++++++++++++++++++++++ drivers/usb/gadget/u_char.h | 45 ++ 6 files changed, 2155 insertions(+), 0 deletions(-) create mode 100644 drivers/usb/gadget/f_mtp.c create mode 100644 drivers/usb/gadget/mtp.c create mode 100644 drivers/usb/gadget/u_char.c create mode 100644 drivers/usb/gadget/u_char.h -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html