kernel: make serial port sysrq-disable patch more generic (FS#112)

Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
Felix Fietkau 2016-08-28 14:43:12 +02:00
parent bba8a1a9ba
commit e9c517772c
3 changed files with 26 additions and 25 deletions

View file

@ -2003,6 +2003,7 @@ CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
# CONFIG_MAG3110 is not set
# CONFIG_MAGIC_SYSRQ is not set
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1
# CONFIG_MAGIC_SYSRQ_SERIAL is not set
# CONFIG_MAILBOX is not set
# CONFIG_MANGLE_BOOTARGS is not set
# CONFIG_MARVELL_PHY is not set
@ -3561,7 +3562,6 @@ CONFIG_SERIAL_8250_NR_UARTS=2
# CONFIG_SERIAL_8250_RSA is not set
# CONFIG_SERIAL_8250_RT288X is not set
CONFIG_SERIAL_8250_RUNTIME_UARTS=2
# CONFIG_SERIAL_8250_SYSRQ is not set
# CONFIG_SERIAL_ALTERA_JTAGUART is not set
# CONFIG_SERIAL_ALTERA_UART is not set
# CONFIG_SERIAL_ARC is not set

View file

@ -1,24 +0,0 @@
--- a/drivers/tty/serial/8250/8250_port.c
+++ b/drivers/tty/serial/8250/8250_port.c
@@ -15,7 +15,7 @@
* membase is an 'ioremapped' cookie.
*/
-#if defined(CONFIG_SERIAL_8250_CONSOLE) && defined(CONFIG_MAGIC_SYSRQ)
+#if defined(CONFIG_SERIAL_8250_SYSRQ) && defined(CONFIG_MAGIC_SYSRQ)
#define SUPPORT_SYSRQ
#endif
--- a/drivers/tty/serial/8250/Kconfig
+++ b/drivers/tty/serial/8250/Kconfig
@@ -91,6 +91,10 @@ config SERIAL_8250_CONSOLE
If unsure, say N.
+config SERIAL_8250_SYSRQ
+ bool "Magic sysrq support on 8250/16550 devices"
+ depends on SERIAL_8250_CONSOLE
+
config SERIAL_8250_GSC
tristate
depends on SERIAL_8250 && GSC

View file

@ -0,0 +1,25 @@
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -382,6 +382,11 @@ config MAGIC_SYSRQ_DEFAULT_ENABLE
This may be set to 1 or 0 to enable or disable them all, or
to a bitmask as described in Documentation/sysrq.txt.
+config MAGIC_SYSRQ_SERIAL
+ bool "Enable magic SysRq key over serial"
+ depends on MAGIC_SYSRQ
+ default y
+
config DEBUG_KERNEL
bool "Kernel debugging"
help
--- a/include/linux/serial_core.h
+++ b/include/linux/serial_core.h
@@ -426,7 +426,7 @@ extern void uart_handle_cts_change(struc
extern void uart_insert_char(struct uart_port *port, unsigned int status,
unsigned int overrun, unsigned int ch, unsigned int flag);
-#ifdef SUPPORT_SYSRQ
+#if defined(SUPPORT_SYSRQ) && defined(CONFIG_MAGIC_SYSRQ_SERIAL)
static inline int
uart_handle_sysrq_char(struct uart_port *port, unsigned int ch)
{