OSDN Git Service

Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
[uclinux-h8/linux.git] / drivers / tty / sysrq.c
index 8ba52e5..2847108 100644 (file)
@@ -55,9 +55,6 @@
 static int __read_mostly sysrq_enabled = CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE;
 static bool __read_mostly sysrq_always_enabled;
 
-unsigned short platform_sysrq_reset_seq[] __weak = { KEY_RESERVED };
-int sysrq_reset_downtime_ms __weak;
-
 static bool sysrq_on(void)
 {
        return sysrq_enabled || sysrq_always_enabled;
@@ -356,9 +353,11 @@ static struct sysrq_key_op sysrq_term_op = {
 
 static void moom_callback(struct work_struct *ignored)
 {
+       mutex_lock(&oom_lock);
        if (!out_of_memory(node_zonelist(first_memory_node, GFP_KERNEL),
                           GFP_KERNEL, 0, NULL, true))
                pr_info("OOM request ignored because killer is disabled\n");
+       mutex_unlock(&oom_lock);
 }
 
 static DECLARE_WORK(moom_work, moom_callback);
@@ -570,6 +569,7 @@ void handle_sysrq(int key)
 EXPORT_SYMBOL(handle_sysrq);
 
 #ifdef CONFIG_INPUT
+static int sysrq_reset_downtime_ms;
 
 /* Simple translation table for the SysRq keys */
 static const unsigned char sysrq_xlate[KEY_CNT] =
@@ -950,23 +950,8 @@ static bool sysrq_handler_registered;
 
 static inline void sysrq_register_handler(void)
 {
-       unsigned short key;
        int error;
-       int i;
-
-       /* First check if a __weak interface was instantiated. */
-       for (i = 0; i < ARRAY_SIZE(sysrq_reset_seq); i++) {
-               key = platform_sysrq_reset_seq[i];
-               if (key == KEY_RESERVED || key > KEY_MAX)
-                       break;
-
-               sysrq_reset_seq[sysrq_reset_seq_len++] = key;
-       }
 
-       /*
-        * DT configuration takes precedence over anything that would
-        * have been defined via the __weak interface.
-        */
        sysrq_of_get_keyreset_config();
 
        error = input_register_handler(&sysrq_handler);