aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/enable-sysrq.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/enable-sysrq.patch')
-rw-r--r--recipes/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/enable-sysrq.patch61
1 files changed, 61 insertions, 0 deletions
diff --git a/recipes/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/enable-sysrq.patch b/recipes/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/enable-sysrq.patch
new file mode 100644
index 0000000000..b1ea85018b
--- /dev/null
+++ b/recipes/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/enable-sysrq.patch
@@ -0,0 +1,61 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- linux/drivers/char/corgi_keyb.c~enable-sysrq
++++ linux/drivers/char/corgi_keyb.c
+@@ -23,7 +23,7 @@
+ #include <linux/init.h>
+ #include <linux/poll.h>
+ #include <linux/wait.h>
+-#include <asm/arch/keyboard.h>
++#include <asm/keyboard.h>
+ #include <asm/uaccess.h>
+ #include <linux/tqueue.h>
+ #include <linux/kbd_ll.h>
+@@ -46,6 +46,18 @@
+ #endif
+
+ /*
++ * This is the KeyCode [not ScanCode!] to ASCII Code mapping table
++ */
++
++#ifdef CONFIG_MAGIC_SYSRQ
++static unsigned char corgi_sysrq_xlate[128] =
++ "\000abcdefghijklmno" /* 00-0f */
++ "pqrstuvwxyz\000\000\000\000\000" /* 10-1f */
++ " \000\000\000\000\000\000\000\0001234567" /* 20-2f */
++ "890\000\000\000\000\000\000\000\000\000\000\000\000\000"; /* 30-3f */
++#endif
++
++/*
+ * common logical driver definition
+ */
+ extern void sharppda_kbd_press(int keycode);
+@@ -251,7 +263,13 @@
+ corgi_wakeup_button_init();
+ #endif // USE_WAKEUP_BUTTON
+
+- printk("keyboard initilaized.\n");
++ printk("keyboard initialized.\n");
++#ifdef CONFIG_MAGIC_SYSRQ
++ k_sysrq_key = 0x28; // KEY_HOME
++ k_sysrq_xlate = corgi_sysrq_xlate;
++ printk("magic_sysrq initialized.\n");
++#endif
++
+ }
+
+ int corgi_kbd_translate(unsigned char scancode, unsigned char *keycode_p)
+--- linux/drivers/char/keyboard.c~enable-sysrq
++++ linux/drivers/char/keyboard.c
+@@ -366,7 +366,7 @@
+ #ifdef CONFIG_MAGIC_SYSRQ /* Handle the SysRq Hack */
+ if (keycode == SYSRQ_KEY) {
+ sysrq_pressed = !up_flag;
+- goto out;
++ // goto out;
+ } else if (sysrq_pressed) {
+ if (!up_flag) {
+ handle_sysrq(kbd_sysrq_xlate[keycode], kbd_pt_regs, kbd, tty);