summaryrefslogtreecommitdiffstats
path: root/drivers/usb/serial/usb-serial.c
diff options
context:
space:
mode:
authorJohan Hovold <jhovold@gmail.com>2010-03-17 23:05:57 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2010-05-20 13:21:34 -0700
commit231543206452f5c42bace54b5c13dfe5a0313812 (patch)
treecbefc56d6c37f50c895a37c47161ac5733cda24c /drivers/usb/serial/usb-serial.c
parent0f3d5bae2bdacce6c6c1d116809d6b3d50338df7 (diff)
downloadlinux-231543206452f5c42bace54b5c13dfe5a0313812.tar.gz
linux-231543206452f5c42bace54b5c13dfe5a0313812.tar.bz2
linux-231543206452f5c42bace54b5c13dfe5a0313812.zip
USB: serial: generalise generic read implementation
Add process_read_urb to usb_serial_driver so that a driver can rely on the generic read (and throttle) mechanism but still do device specific processing of incoming data (such as adding tty_flags before pushing to line discipline). The default generic implementation handles sysrq for consoles but otherwise simply pushes to tty. Signed-off-by: Johan Hovold <jhovold@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/serial/usb-serial.c')
-rw-r--r--drivers/usb/serial/usb-serial.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/usb/serial/usb-serial.c b/drivers/usb/serial/usb-serial.c
index 538924627eba..1b924425089f 100644
--- a/drivers/usb/serial/usb-serial.c
+++ b/drivers/usb/serial/usb-serial.c
@@ -1298,6 +1298,7 @@ static void fixup_generic(struct usb_serial_driver *device)
set_to_generic_if_null(device, write_bulk_callback);
set_to_generic_if_null(device, disconnect);
set_to_generic_if_null(device, release);
+ set_to_generic_if_null(device, process_read_urb);
}
int usb_serial_register(struct usb_serial_driver *driver)