diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-12-11 17:08:47 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-12-11 17:08:47 -0500 |
commit | c6bd5bcc4983f1a2d2f87a3769bf309482ee8c04 (patch) | |
tree | 2ff9c4496dc2258d601a1bcd82040470704dae3b /drivers/char | |
parent | 8966961b31c251b854169e9886394c2a20f2cea7 (diff) | |
parent | b0ab02361167faa82198b783a8d555eb6f58901c (diff) |
Merge tag 'tty-3.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
Pull TTY/Serial merge from Greg Kroah-Hartman:
"Here's the big tty/serial tree set of changes for 3.8-rc1.
Contained in here is a bunch more reworks of the tty port layer from
Jiri and bugfixes from Alan, along with a number of other tty and
serial driver updates by the various driver authors.
Also, Jiri has been coerced^Wconvinced to be the co-maintainer of the
TTY layer, which is much appreciated by me.
All of these have been in the linux-next tree for a while.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>"
Fixed up some trivial conflicts in the staging tree, due to the fwserial
driver having come in both ways (but fixed up a bit in the serial tree),
and the ioctl handling in the dgrp driver having been done slightly
differently (staging tree got that one right, and removed both
TIOCGSOFTCAR and TIOCSSOFTCAR).
* tag 'tty-3.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (146 commits)
staging: sb105x: fix potential NULL pointer dereference in mp_chars_in_buffer()
staging/fwserial: Remove superfluous free
staging/fwserial: Use WARN_ONCE when port table is corrupted
staging/fwserial: Destruct embedded tty_port on teardown
staging/fwserial: Fix build breakage when !CONFIG_BUG
staging: fwserial: Add TTY-over-Firewire serial driver
drivers/tty/serial/serial_core.c: clean up HIGH_BITS_OFFSET usage
staging: dgrp: dgrp_tty.c: Audit the return values of get/put_user()
staging: dgrp: dgrp_tty.c: Remove the TIOCSSOFTCAR ioctl handler from dgrp driver
serial: ifx6x60: Add modem power off function in the platform reboot process
serial: mxs-auart: unmap the scatter list before we copy the data
serial: mxs-auart: disable the Receive Timeout Interrupt when DMA is enabled
serial: max310x: Setup missing "can_sleep" field for GPIO
tty/serial: fix ifx6x60.c declaration warning
serial: samsung: add devicetree properties for non-Exynos SoCs
serial: samsung: fix potential soft lockup during uart write
tty: vt: Remove redundant null check before kfree.
tty/8250 Add check for pci_ioremap_bar failure
tty/8250 Add support for Commtech's Fastcom Async-335 and Fastcom Async-PCIe cards
tty/8250 Add XR17D15x devices to the exar_handle_irq override
...
Diffstat (limited to 'drivers/char')
-rw-r--r-- | drivers/char/pcmcia/synclink_cs.c | 5 | ||||
-rw-r--r-- | drivers/char/ttyprintk.c | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/drivers/char/pcmcia/synclink_cs.c b/drivers/char/pcmcia/synclink_cs.c index 21721d25e388..b66eaa04f8cb 100644 --- a/drivers/char/pcmcia/synclink_cs.c +++ b/drivers/char/pcmcia/synclink_cs.c | |||
@@ -549,8 +549,10 @@ static int mgslpc_probe(struct pcmcia_device *link) | |||
549 | /* Initialize the struct pcmcia_device structure */ | 549 | /* Initialize the struct pcmcia_device structure */ |
550 | 550 | ||
551 | ret = mgslpc_config(link); | 551 | ret = mgslpc_config(link); |
552 | if (ret) | 552 | if (ret) { |
553 | tty_port_destroy(&info->port); | ||
553 | return ret; | 554 | return ret; |
555 | } | ||
554 | 556 | ||
555 | mgslpc_add_device(info); | 557 | mgslpc_add_device(info); |
556 | 558 | ||
@@ -2757,6 +2759,7 @@ static void mgslpc_remove_device(MGSLPC_INFO *remove_info) | |||
2757 | hdlcdev_exit(info); | 2759 | hdlcdev_exit(info); |
2758 | #endif | 2760 | #endif |
2759 | release_resources(info); | 2761 | release_resources(info); |
2762 | tty_port_destroy(&info->port); | ||
2760 | kfree(info); | 2763 | kfree(info); |
2761 | mgslpc_device_count--; | 2764 | mgslpc_device_count--; |
2762 | return; | 2765 | return; |
diff --git a/drivers/char/ttyprintk.c b/drivers/char/ttyprintk.c index af98f6d6509b..4945bd3d18d0 100644 --- a/drivers/char/ttyprintk.c +++ b/drivers/char/ttyprintk.c | |||
@@ -179,7 +179,6 @@ static int __init ttyprintk_init(void) | |||
179 | { | 179 | { |
180 | int ret = -ENOMEM; | 180 | int ret = -ENOMEM; |
181 | 181 | ||
182 | tty_port_init(&tpk_port.port); | ||
183 | tpk_port.port.ops = &null_ops; | 182 | tpk_port.port.ops = &null_ops; |
184 | mutex_init(&tpk_port.port_write_mutex); | 183 | mutex_init(&tpk_port.port_write_mutex); |
185 | 184 | ||
@@ -190,6 +189,8 @@ static int __init ttyprintk_init(void) | |||
190 | if (IS_ERR(ttyprintk_driver)) | 189 | if (IS_ERR(ttyprintk_driver)) |
191 | return PTR_ERR(ttyprintk_driver); | 190 | return PTR_ERR(ttyprintk_driver); |
192 | 191 | ||
192 | tty_port_init(&tpk_port.port); | ||
193 | |||
193 | ttyprintk_driver->driver_name = "ttyprintk"; | 194 | ttyprintk_driver->driver_name = "ttyprintk"; |
194 | ttyprintk_driver->name = "ttyprintk"; | 195 | ttyprintk_driver->name = "ttyprintk"; |
195 | ttyprintk_driver->major = TTYAUX_MAJOR; | 196 | ttyprintk_driver->major = TTYAUX_MAJOR; |
@@ -211,6 +212,7 @@ static int __init ttyprintk_init(void) | |||
211 | error: | 212 | error: |
212 | tty_unregister_driver(ttyprintk_driver); | 213 | tty_unregister_driver(ttyprintk_driver); |
213 | put_tty_driver(ttyprintk_driver); | 214 | put_tty_driver(ttyprintk_driver); |
215 | tty_port_destroy(&tpk_port.port); | ||
214 | ttyprintk_driver = NULL; | 216 | ttyprintk_driver = NULL; |
215 | return ret; | 217 | return ret; |
216 | } | 218 | } |