diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-11-06 22:17:06 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-11-06 22:17:06 -0500 |
| commit | 56edff7529d0baa6d7b38b58f46631c7b9f4136e (patch) | |
| tree | 37729cd0a56ad31601fb573ccf3f5a2d7bee52e8 | |
| parent | 0324e74534241f3f00910ec04ef67de1fe1542f4 (diff) | |
| parent | 80d8611dd07603736d14e4a942546bdc84dd5477 (diff) | |
Merge tag 'tty-3.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
Pull tty/serial driver updates from Greg KH:
"Here's the big tty/serial driver update for 3.13-rc1.
There's some more minor n_tty work here, but nothing like previous
kernel releases. Also some new driver ids, driver updates for new
hardware, and other small things.
All of this has been in linux-next for a while with no issues"
* tag 'tty-3.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (84 commits)
serial: omap: fix missing comma
serial: sh-sci: Enable the driver on all ARM platforms
serial: mfd: Staticize local symbols
serial: omap: fix a few checkpatch warnings
serial: omap: improve RS-485 performance
mrst_max3110: fix unbalanced IRQ issue during resume
serial: omap: Add support for optional wake-up
serial: sirf: remove duplicate defines
tty: xuartps: Fix build error when COMMON_CLK is not set
tty: xuartps: Fix build error due to missing forward declaration
tty: xuartps: Fix "may be used uninitialized" build warning
serial: 8250_pci: add Pericom PCIe Serial board Support (12d8:7952/4/8) - Chip PI7C9X7952/4/8
tty: xuartps: Update copyright information
tty: xuartps: Implement suspend/resume callbacks
tty: xuartps: Dynamically adjust to input frequency changes
tty: xuartps: Updating set_baud_rate()
tty: xuartps: Force enable the UART in xuartps_console_write
tty: xuartps: support 64 byte FIFO size
tty: xuartps: Add polled mode support for xuartps
tty: xuartps: Implement BREAK detection, add SYSRQ support
...
53 files changed, 1200 insertions, 364 deletions
diff --git a/Documentation/serial/driver b/Documentation/serial/driver index 067c47d46917..c3a7689a90e6 100644 --- a/Documentation/serial/driver +++ b/Documentation/serial/driver | |||
| @@ -264,10 +264,6 @@ hardware. | |||
| 264 | Locking: none. | 264 | Locking: none. |
| 265 | Interrupts: caller dependent. | 265 | Interrupts: caller dependent. |
| 266 | 266 | ||
| 267 | set_wake(port,state) | ||
| 268 | Enable/disable power management wakeup on serial activity. Not | ||
| 269 | currently implemented. | ||
| 270 | |||
| 271 | type(port) | 267 | type(port) |
| 272 | Return a pointer to a string constant describing the specified | 268 | Return a pointer to a string constant describing the specified |
| 273 | port, or return NULL, in which case the string 'unknown' is | 269 | port, or return NULL, in which case the string 'unknown' is |
diff --git a/Documentation/sysrq.txt b/Documentation/sysrq.txt index 8cb4d7842a5f..0e307c94809a 100644 --- a/Documentation/sysrq.txt +++ b/Documentation/sysrq.txt | |||
| @@ -11,27 +11,29 @@ regardless of whatever else it is doing, unless it is completely locked up. | |||
| 11 | You need to say "yes" to 'Magic SysRq key (CONFIG_MAGIC_SYSRQ)' when | 11 | You need to say "yes" to 'Magic SysRq key (CONFIG_MAGIC_SYSRQ)' when |
| 12 | configuring the kernel. When running a kernel with SysRq compiled in, | 12 | configuring the kernel. When running a kernel with SysRq compiled in, |
| 13 | /proc/sys/kernel/sysrq controls the functions allowed to be invoked via | 13 | /proc/sys/kernel/sysrq controls the functions allowed to be invoked via |
| 14 | the SysRq key. By default the file contains 1 which means that every | 14 | the SysRq key. The default value in this file is set by the |
| 15 | possible SysRq request is allowed (in older versions SysRq was disabled | 15 | CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE config symbol, which itself defaults |
| 16 | by default, and you were required to specifically enable it at run-time | 16 | to 1. Here is the list of possible values in /proc/sys/kernel/sysrq: |
| 17 | but this is not the case any more). Here is the list of possible values | ||
| 18 | in /proc/sys/kernel/sysrq: | ||
| 19 | 0 - disable sysrq completely | 17 | 0 - disable sysrq completely |
| 20 | 1 - enable all functions of sysrq | 18 | 1 - enable all functions of sysrq |
| 21 | >1 - bitmask of allowed sysrq functions (see below for detailed function | 19 | >1 - bitmask of allowed sysrq functions (see below for detailed function |
| 22 | description): | 20 | description): |
| 23 | 2 - enable control of console logging level | 21 | 2 = 0x2 - enable control of console logging level |
| 24 | 4 - enable control of keyboard (SAK, unraw) | 22 | 4 = 0x4 - enable control of keyboard (SAK, unraw) |
| 25 | 8 - enable debugging dumps of processes etc. | 23 | 8 = 0x8 - enable debugging dumps of processes etc. |
| 26 | 16 - enable sync command | 24 | 16 = 0x10 - enable sync command |
| 27 | 32 - enable remount read-only | 25 | 32 = 0x20 - enable remount read-only |
| 28 | 64 - enable signalling of processes (term, kill, oom-kill) | 26 | 64 = 0x40 - enable signalling of processes (term, kill, oom-kill) |
| 29 | 128 - allow reboot/poweroff | 27 | 128 = 0x80 - allow reboot/poweroff |
| 30 | 256 - allow nicing of all RT tasks | 28 | 256 = 0x100 - allow nicing of all RT tasks |
| 31 | 29 | ||
| 32 | You can set the value in the file by the following command: | 30 | You can set the value in the file by the following command: |
| 33 | echo "number" >/proc/sys/kernel/sysrq | 31 | echo "number" >/proc/sys/kernel/sysrq |
| 34 | 32 | ||
| 33 | The number may be written here either as decimal or as hexadecimal | ||
| 34 | with the 0x prefix. CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE must always be | ||
| 35 | written in hexadecimal. | ||
| 36 | |||
| 35 | Note that the value of /proc/sys/kernel/sysrq influences only the invocation | 37 | Note that the value of /proc/sys/kernel/sysrq influences only the invocation |
| 36 | via a keyboard. Invocation of any operation via /proc/sysrq-trigger is always | 38 | via a keyboard. Invocation of any operation via /proc/sysrq-trigger is always |
| 37 | allowed (by a user with admin privileges). | 39 | allowed (by a user with admin privileges). |
diff --git a/drivers/tty/bfin_jtag_comm.c b/drivers/tty/bfin_jtag_comm.c index a93a424873fa..8096fcbe2dc1 100644 --- a/drivers/tty/bfin_jtag_comm.c +++ b/drivers/tty/bfin_jtag_comm.c | |||
| @@ -349,7 +349,7 @@ bfin_jc_early_write(struct console *co, const char *buf, unsigned int count) | |||
| 349 | bfin_jc_straight_buffer_write(buf, count); | 349 | bfin_jc_straight_buffer_write(buf, count); |
| 350 | } | 350 | } |
| 351 | 351 | ||
| 352 | static struct __initdata console bfin_jc_early_console = { | 352 | static struct console bfin_jc_early_console __initdata = { |
| 353 | .name = "early_BFJC", | 353 | .name = "early_BFJC", |
| 354 | .write = bfin_jc_early_write, | 354 | .write = bfin_jc_early_write, |
| 355 | .flags = CON_ANYTIME | CON_PRINTBUFFER, | 355 | .flags = CON_ANYTIME | CON_PRINTBUFFER, |
diff --git a/drivers/tty/hvc/hvc_dcc.c b/drivers/tty/hvc/hvc_dcc.c index 44fbebab5075..3502a7bbb69e 100644 --- a/drivers/tty/hvc/hvc_dcc.c +++ b/drivers/tty/hvc/hvc_dcc.c | |||
| @@ -86,6 +86,21 @@ static int hvc_dcc_get_chars(uint32_t vt, char *buf, int count) | |||
| 86 | return i; | 86 | return i; |
| 87 | } | 87 | } |
| 88 | 88 | ||
| 89 | static bool hvc_dcc_check(void) | ||
| 90 | { | ||
| 91 | unsigned long time = jiffies + (HZ / 10); | ||
| 92 | |||
| 93 | /* Write a test character to check if it is handled */ | ||
| 94 | __dcc_putchar('\n'); | ||
| 95 | |||
| 96 | while (time_is_after_jiffies(time)) { | ||
| 97 | if (!(__dcc_getstatus() & DCC_STATUS_TX)) | ||
| 98 | return true; | ||
| 99 | } | ||
| 100 | |||
| 101 | return false; | ||
| 102 | } | ||
| 103 | |||
| 89 | static const struct hv_ops hvc_dcc_get_put_ops = { | 104 | static const struct hv_ops hvc_dcc_get_put_ops = { |
| 90 | .get_chars = hvc_dcc_get_chars, | 105 | .get_chars = hvc_dcc_get_chars, |
| 91 | .put_chars = hvc_dcc_put_chars, | 106 | .put_chars = hvc_dcc_put_chars, |
| @@ -93,6 +10 | |||
