kernel: make serial port sysrq-disable patch more generic (FS#112)
authorFelix Fietkau <nbd@nbd.name>
Sun, 28 Aug 2016 12:43:12 +0000 (14:43 +0200)
committerFelix Fietkau <nbd@nbd.name>
Mon, 29 Aug 2016 08:33:45 +0000 (10:33 +0200)
Signed-off-by: Felix Fietkau <nbd@nbd.name>
target/linux/generic/config-4.4
target/linux/generic/patches-4.4/890-8250_optional_sysrq.patch [deleted file]
target/linux/generic/patches-4.4/890-uart_optional_sysrq.patch [new file with mode: 0644]

index cb2fbcedd8d791be89526aea47fa2a6f78da49df..ba4b8c15f74eee78872188f758e367fad03ca744 100644 (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
diff --git a/target/linux/generic/patches-4.4/890-8250_optional_sysrq.patch b/target/linux/generic/patches-4.4/890-8250_optional_sysrq.patch
deleted file mode 100644 (file)
index 525a7b9..0000000
+++ /dev/null
@@ -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
diff --git a/target/linux/generic/patches-4.4/890-uart_optional_sysrq.patch b/target/linux/generic/patches-4.4/890-uart_optional_sysrq.patch
new file mode 100644 (file)
index 0000000..0e37f94
--- /dev/null
@@ -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)
+ {