diff options
Diffstat (limited to 'packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050228/enable-sysrq.patch')
-rw-r--r-- | packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050228/enable-sysrq.patch | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050228/enable-sysrq.patch b/packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050228/enable-sysrq.patch index e69de29bb2..eaf58d1edc 100644 --- a/packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050228/enable-sysrq.patch +++ b/packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050228/enable-sysrq.patch @@ -0,0 +1,60 @@ + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +--- linux_n1/drivers/char/spitz_keyb.c~enable-sysrq ++++ linux_n1/drivers/char/spitz_keyb.c +@@ -28,6 +28,7 @@ + #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> +@@ -51,6 +52,18 @@ + #endif + + /* ++ * This is the KeyCode [not ScanCode!] to ASCII Code mapping table ++ */ ++ ++#ifdef CONFIG_MAGIC_SYSRQ ++static unsigned char spitz_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); +@@ -337,7 +350,13 @@ + spitz_kbd_pm_dev = pm_register(PM_SYS_DEV, 0, spitz_kbd_pm_callback); + #endif + +- printk("keyboard initilaized.\n"); ++ printk("keyboard initialized.\n"); ++#ifdef CONFIG_MAGIC_SYSRQ ++ k_sysrq_key = 0x28; // KEY_HOME ++ k_sysrq_xlate = spitz_sysrq_xlate; ++ printk("magic_sysrq initialized.\n"); ++#endif ++ + } + + int spitz_kbd_translate(unsigned char scancode, unsigned char *keycode_p) +--- linux_n1/drivers/char/keyboard.c~enable-sysrq ++++ linux_n1/drivers/char/keyboard.c +@@ -291,7 +291,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); |