diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-02-21 16:41:04 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-02-21 16:41:04 -0500 |
commit | 21eaab6d19ed43e82ed39c8deb7f192134fb4a0e (patch) | |
tree | d995205afdcb7f47462bcd28067dc0c4ab0b7b02 /drivers/net | |
parent | 74e1a2a39355b2d3ae8c60c78d8add162c6d7183 (diff) | |
parent | 9e17df37d710f8998e9cb10a548304fe33d4a5c2 (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/Kconfig | 2 | ||||
-rw-r--r-- | drivers/net/caif/caif_serial.c | 2 | ||||
-rw-r--r-- | drivers/net/can/Kconfig | 1 | ||||
-rw-r--r-- | drivers/net/hamradio/Kconfig | 4 | ||||
-rw-r--r-- | drivers/net/irda/Kconfig | 2 | ||||
-rw-r--r-- | drivers/net/irda/irtty-sir.c | 2 | ||||
-rw-r--r-- | drivers/net/ppp/Kconfig | 3 | ||||
-rw-r--r-- | drivers/net/slip/Kconfig | 1 | ||||
-rw-r--r-- | drivers/net/usb/Kconfig | 4 | ||||
-rw-r--r-- | drivers/net/usb/hso.c | 32 | ||||
-rw-r--r-- | drivers/net/wan/Kconfig | 2 |
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 | ||
7 | config CAIF_TTY | 7 | config 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 | } |
97 | static inline void debugfs_init(struct ser_device *ser, struct tty_struct *tty) | 97 | static 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 | ||
12 | config CAN_SLCAN | 12 | config 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 @@ | |||
1 | config MKISS | 1 | config 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 | ||
19 | config 6PACK | 19 | config 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 | ||
6 | config IRTTY_SIR | 6 | config 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. |
150 | if TTY | ||
150 | 151 | ||
151 | config PPP_ASYNC | 152 | config 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 | ||
176 | endif # TTY | ||
177 | |||
175 | endif # PPP | 178 | endif # 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 | ||
5 | config SLIP | 5 | config 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 | ||
444 | config USB_HSO | 444 | config 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 | ||
492 | config USB_VL600 | 492 | config 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 | ||
376 | config X25_ASY | 376 | config 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. |