aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-02-21 16:41:04 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2013-02-21 16:41:04 -0500
commit21eaab6d19ed43e82ed39c8deb7f192134fb4a0e (patch)
treed995205afdcb7f47462bcd28067dc0c4ab0b7b02 /drivers/net
parent74e1a2a39355b2d3ae8c60c78d8add162c6d7183 (diff)
parent9e17df37d710f8998e9cb10a548304fe33d4a5c2 (diff)
Merge tag 'tty-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
Pull tty/serial patches from Greg Kroah-Hartman: "Here's the big tty/serial driver patches for 3.9-rc1. More tty port rework and fixes from Jiri here, as well as lots of individual serial driver updates and fixes. All of these have been in the linux-next tree for a while." * tag 'tty-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (140 commits) tty: mxser: improve error handling in mxser_probe() and mxser_module_init() serial: imx: fix uninitialized variable warning serial: tegra: assume CONFIG_OF TTY: do not update atime/mtime on read/write lguest: select CONFIG_TTY to build properly. ARM defconfigs: add missing inclusions of linux/platform_device.h fb/exynos: include platform_device.h ARM: sa1100/assabet: include platform_device.h directly serial: imx: Fix recursive locking bug pps: Fix build breakage from decoupling pps from tty tty: Remove ancient hardpps() pps: Additional cleanups in uart_handle_dcd_change pps: Move timestamp read into PPS code proper pps: Don't crash the machine when exiting will do pps: Fix a use-after free bug when unregistering a source. pps: Use pps_lookup_dev to reduce ldisc coupling pps: Add pps_lookup_dev() function tty: serial: uartlite: Support uartlite on big and little endian systems tty: serial: uartlite: Fix sparse and checkpatch warnings serial/arc-uart: Miscll DT related updates (Grant's review comments) ... Fix up trivial conflicts, mostly just due to the TTY config option clashing with the EXPERIMENTAL removal.
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/caif/Kconfig2
-rw-r--r--drivers/net/caif/caif_serial.c2
-rw-r--r--drivers/net/can/Kconfig1
-rw-r--r--drivers/net/hamradio/Kconfig4
-rw-r--r--drivers/net/irda/Kconfig2
-rw-r--r--drivers/net/irda/irtty-sir.c2
-rw-r--r--drivers/net/ppp/Kconfig3
-rw-r--r--drivers/net/slip/Kconfig1
-rw-r--r--drivers/net/usb/Kconfig4
-rw-r--r--drivers/net/usb/hso.c32
-rw-r--r--drivers/net/wan/Kconfig2
11 files changed, 29 insertions, 26 deletions
diff --git a/drivers/net/caif/Kconfig b/drivers/net/caif/Kconfig
index abf4d7a9dcce..60c2142373c9 100644
--- a/drivers/net/caif/Kconfig
+++ b/drivers/net/caif/Kconfig
@@ -6,7 +6,7 @@ comment "CAIF transport drivers"
6 6
7config CAIF_TTY 7config CAIF_TTY
8 tristate "CAIF TTY transport driver" 8 tristate "CAIF TTY transport driver"
9 depends on CAIF 9 depends on CAIF && TTY
10 default n 10 default n
11 ---help--- 11 ---help---
12 The CAIF TTY transport driver is a Line Discipline (ldisc) 12 The CAIF TTY transport driver is a Line Discipline (ldisc)
diff --git a/drivers/net/caif/caif_serial.c b/drivers/net/caif/caif_serial.c
index 5de74e762021..666891a9a248 100644
--- a/drivers/net/caif/caif_serial.c
+++ b/drivers/net/caif/caif_serial.c
@@ -91,7 +91,7 @@ static inline void update_tty_status(struct ser_device *ser)
91 ser->tty->hw_stopped << 4 | 91 ser->tty->hw_stopped << 4 |
92 ser->tty->flow_stopped << 3 | 92 ser->tty->flow_stopped << 3 |
93 ser->tty->packet << 2 | 93 ser->tty->packet << 2 |
94 ser->tty->low_latency << 1 | 94 ser->tty->port->low_latency << 1 |
95 ser->tty->warned; 95 ser->tty->warned;
96} 96}
97static inline void debugfs_init(struct ser_device *ser, struct tty_struct *tty) 97static inline void debugfs_init(struct ser_device *ser, struct tty_struct *tty)
diff --git a/drivers/net/can/Kconfig b/drivers/net/can/Kconfig
index 1cca19f1c490..9862b2e07644 100644
--- a/drivers/net/can/Kconfig
+++ b/drivers/net/can/Kconfig
@@ -11,6 +11,7 @@ config CAN_VCAN
11 11
12config CAN_SLCAN 12config CAN_SLCAN
13 tristate "Serial / USB serial CAN Adaptors (slcan)" 13 tristate "Serial / USB serial CAN Adaptors (slcan)"
14 depends on TTY
14 ---help--- 15 ---help---
15 CAN driver for several 'low cost' CAN interfaces that are attached 16 CAN driver for several 'low cost' CAN interfaces that are attached
16 via serial lines or via USB-to-serial adapters using the LAWICEL 17 via serial lines or via USB-to-serial adapters using the LAWICEL
diff --git a/drivers/net/hamradio/Kconfig b/drivers/net/hamradio/Kconfig
index 95dbcfdf131d..bf5e59687680 100644
--- a/drivers/net/hamradio/Kconfig
+++ b/drivers/net/hamradio/Kconfig
@@ -1,6 +1,6 @@
1config MKISS 1config MKISS
2 tristate "Serial port KISS driver" 2 tristate "Serial port KISS driver"
3 depends on AX25 3 depends on AX25 && TTY
4 select CRC16 4 select CRC16
5 ---help--- 5 ---help---
6 KISS is a protocol used for the exchange of data between a computer 6 KISS is a protocol used for the exchange of data between a computer
@@ -18,7 +18,7 @@ config MKISS
18 18
19config 6PACK 19config 6PACK
20 tristate "Serial port 6PACK driver" 20 tristate "Serial port 6PACK driver"
21 depends on AX25 21 depends on AX25 && TTY
22 ---help--- 22 ---help---
23 6pack is a transmission protocol for the data exchange between your 23 6pack is a transmission protocol for the data exchange between your
24 PC and your TNC (the Terminal Node Controller acts as a kind of 24 PC and your TNC (the Terminal Node Controller acts as a kind of
diff --git a/drivers/net/irda/Kconfig b/drivers/net/irda/Kconfig
index 59e9d9e1fd0f..2a30193d0d50 100644
--- a/drivers/net/irda/Kconfig
+++ b/drivers/net/irda/Kconfig
@@ -5,7 +5,7 @@ comment "SIR device drivers"
5 5
6config IRTTY_SIR 6config IRTTY_SIR
7 tristate "IrTTY (uses Linux serial driver)" 7 tristate "IrTTY (uses Linux serial driver)"
8 depends on IRDA 8 depends on IRDA && TTY
9 help 9 help
10 Say Y here if you want to build support for the IrTTY line 10 Say Y here if you want to build support for the IrTTY line
11 discipline. To compile it as a module, choose M here: the module 11 discipline. To compile it as a module, choose M here: the module
diff --git a/drivers/net/irda/irtty-sir.c b/drivers/net/irda/irtty-sir.c
index 6e4d4b62c9a8..a41267197839 100644
--- a/drivers/net/irda/irtty-sir.c
+++ b/drivers/net/irda/irtty-sir.c
@@ -210,7 +210,7 @@ static int irtty_do_write(struct sir_dev *dev, const unsigned char *ptr, size_t
210 * been received, which can now be decapsulated and delivered for 210 * been received, which can now be decapsulated and delivered for
211 * further processing 211 * further processing
212 * 212 *
213 * calling context depends on underlying driver and tty->low_latency! 213 * calling context depends on underlying driver and tty->port->low_latency!
214 * for example (low_latency: 1 / 0): 214 * for example (low_latency: 1 / 0):
215 * serial.c: uart-interrupt / softint 215 * serial.c: uart-interrupt / softint
216 * usbserial: urb-complete-interrupt / softint 216 * usbserial: urb-complete-interrupt / softint
diff --git a/drivers/net/ppp/Kconfig b/drivers/net/ppp/Kconfig
index 278dea0c4c98..1373c6d7278d 100644
--- a/drivers/net/ppp/Kconfig
+++ b/drivers/net/ppp/Kconfig
@@ -147,6 +147,7 @@ config PPPOL2TP
147 Support for PPP-over-L2TP socket family. L2TP is a protocol 147 Support for PPP-over-L2TP socket family. L2TP is a protocol
148 used by ISPs and enterprises to tunnel PPP traffic over UDP 148 used by ISPs and enterprises to tunnel PPP traffic over UDP
149 tunnels. L2TP is replacing PPTP for VPN uses. 149 tunnels. L2TP is replacing PPTP for VPN uses.
150if TTY
150 151
151config PPP_ASYNC 152config PPP_ASYNC
152 tristate "PPP support for async serial ports" 153 tristate "PPP support for async serial ports"
@@ -172,4 +173,6 @@ config PPP_SYNC_TTY
172 173
173 To compile this driver as a module, choose M here. 174 To compile this driver as a module, choose M here.
174 175
176endif # TTY
177
175endif # PPP 178endif # PPP
diff --git a/drivers/net/slip/Kconfig b/drivers/net/slip/Kconfig
index 211b160e4e9c..48e68714eef3 100644
--- a/drivers/net/slip/Kconfig
+++ b/drivers/net/slip/Kconfig
@@ -4,6 +4,7 @@
4 4
5config SLIP 5config SLIP
6 tristate "SLIP (serial line) support" 6 tristate "SLIP (serial line) support"
7 depends on TTY
7 ---help--- 8 ---help---
8 Say Y if you intend to use SLIP or CSLIP (compressed SLIP) to 9 Say Y if you intend to use SLIP or CSLIP (compressed SLIP) to
9 connect to your Internet service provider or to connect to some 10 connect to your Internet service provider or to connect to some
diff --git a/drivers/net/usb/Kconfig b/drivers/net/usb/Kconfig
index 3a44a5d7bf9e..da92ed3797aa 100644
--- a/drivers/net/usb/Kconfig
+++ b/drivers/net/usb/Kconfig
@@ -443,7 +443,7 @@ config USB_NET_QMI_WWAN
443 443
444config USB_HSO 444config USB_HSO
445 tristate "Option USB High Speed Mobile Devices" 445 tristate "Option USB High Speed Mobile Devices"
446 depends on USB && RFKILL 446 depends on USB && RFKILL && TTY
447 default n 447 default n
448 help 448 help
449 Choose this option if you have an Option HSDPA/HSUPA card. 449 Choose this option if you have an Option HSDPA/HSUPA card.
@@ -491,7 +491,7 @@ config USB_SIERRA_NET
491 491
492config USB_VL600 492config USB_VL600
493 tristate "LG VL600 modem dongle" 493 tristate "LG VL600 modem dongle"
494 depends on USB_NET_CDCETHER 494 depends on USB_NET_CDCETHER && TTY
495 select USB_ACM 495 select USB_ACM
496 help 496 help
497 Select this if you want to use an LG Electronics 4G/LTE usb modem 497 Select this if you want to use an LG Electronics 4G/LTE usb modem
diff --git a/drivers/net/usb/hso.c b/drivers/net/usb/hso.c
index 41e5dfb5ee64..e2dd3249b6bd 100644
--- a/drivers/net/usb/hso.c
+++ b/drivers/net/usb/hso.c
@@ -2035,25 +2035,23 @@ static int put_rxbuf_data(struct urb *urb, struct hso_serial *serial)
2035 tty = tty_port_tty_get(&serial->port); 2035 tty = tty_port_tty_get(&serial->port);
2036 2036
2037 /* Push data to tty */ 2037 /* Push data to tty */
2038 if (tty) { 2038 write_length_remaining = urb->actual_length -
2039 write_length_remaining = urb->actual_length - 2039 serial->curr_rx_urb_offset;
2040 serial->curr_rx_urb_offset; 2040 D1("data to push to tty");
2041 D1("data to push to tty"); 2041 while (write_length_remaining) {
2042 while (write_length_remaining) { 2042 if (tty && test_bit(TTY_THROTTLED, &tty->flags)) {
2043 if (test_bit(TTY_THROTTLED, &tty->flags)) { 2043 tty_kref_put(tty);
2044 tty_kref_put(tty); 2044 return -1;
2045 return -1;
2046 }
2047 curr_write_len = tty_insert_flip_string
2048 (tty, urb->transfer_buffer +
2049 serial->curr_rx_urb_offset,
2050 write_length_remaining);
2051 serial->curr_rx_urb_offset += curr_write_len;
2052 write_length_remaining -= curr_write_len;
2053 tty_flip_buffer_push(tty);
2054 } 2045 }
2055 tty_kref_put(tty); 2046 curr_write_len = tty_insert_flip_string(&serial->port,
2047 urb->transfer_buffer + serial->curr_rx_urb_offset,
2048 write_length_remaining);
2049 serial->curr_rx_urb_offset += curr_write_len;
2050 write_length_remaining -= curr_write_len;
2051 tty_flip_buffer_push(&serial->port);
2056 } 2052 }
2053 tty_kref_put(tty);
2054
2057 if (write_length_remaining == 0) { 2055 if (write_length_remaining == 0) {
2058 serial->curr_rx_urb_offset = 0; 2056 serial->curr_rx_urb_offset = 0;
2059 serial->rx_urb_filled[hso_urb_to_index(serial, urb)] = 0; 2057 serial->rx_urb_filled[hso_urb_to_index(serial, urb)] = 0;
diff --git a/drivers/net/wan/Kconfig b/drivers/net/wan/Kconfig
index 13daec88d918..94e234975c61 100644
--- a/drivers/net/wan/Kconfig
+++ b/drivers/net/wan/Kconfig
@@ -375,7 +375,7 @@ config LAPBETHER
375 375
376config X25_ASY 376config X25_ASY
377 tristate "X.25 async driver" 377 tristate "X.25 async driver"
378 depends on LAPB && X25 378 depends on LAPB && X25 && TTY
379 ---help--- 379 ---help---
380 Send and receive X.25 frames over regular asynchronous serial 380 Send and receive X.25 frames over regular asynchronous serial
381 lines such as telephone lines equipped with ordinary modems. 381 lines such as telephone lines equipped with ordinary modems.