diff options
| -rw-r--r-- | drivers/tty/sysrq.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/drivers/tty/sysrq.c b/drivers/tty/sysrq.c index 814655ee2d61..3687f0cad642 100644 --- a/drivers/tty/sysrq.c +++ b/drivers/tty/sysrq.c | |||
| @@ -870,21 +870,20 @@ static struct input_handler sysrq_handler = { | |||
| 870 | 870 | ||
| 871 | static bool sysrq_handler_registered; | 871 | static bool sysrq_handler_registered; |
| 872 | 872 | ||
| 873 | unsigned short platform_sysrq_reset_seq[] __weak = { KEY_RESERVED }; | ||
| 874 | |||
| 873 | static inline void sysrq_register_handler(void) | 875 | static inline void sysrq_register_handler(void) |
| 874 | { | 876 | { |
| 875 | extern unsigned short platform_sysrq_reset_seq[] __weak; | ||
| 876 | unsigned short key; | 877 | unsigned short key; |
| 877 | int error; | 878 | int error; |
| 878 | int i; | 879 | int i; |
| 879 | 880 | ||
| 880 | if (platform_sysrq_reset_seq) { | 881 | for (i = 0; i < ARRAY_SIZE(sysrq_reset_seq); i++) { |
| 881 | for (i = 0; i < ARRAY_SIZE(sysrq_reset_seq); i++) { | 882 | key = platform_sysrq_reset_seq[i]; |
| 882 | key = platform_sysrq_reset_seq[i]; | 883 | if (key == KEY_RESERVED || key > KEY_MAX) |
| 883 | if (key == KEY_RESERVED || key > KEY_MAX) | 884 | break; |
| 884 | break; | ||
| 885 | 885 | ||
| 886 | sysrq_reset_seq[sysrq_reset_seq_len++] = key; | 886 | sysrq_reset_seq[sysrq_reset_seq_len++] = key; |
| 887 | } | ||
| 888 | } | 887 | } |
| 889 | 888 | ||
| 890 | error = input_register_handler(&sysrq_handler); | 889 | error = input_register_handler(&sysrq_handler); |
