diff options
Diffstat (limited to 'packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/P07-C3000-KBDDEV_041206.patch')
-rw-r--r-- | packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/P07-C3000-KBDDEV_041206.patch | 115 |
1 files changed, 0 insertions, 115 deletions
diff --git a/packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/P07-C3000-KBDDEV_041206.patch b/packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/P07-C3000-KBDDEV_041206.patch deleted file mode 100644 index b82be1551d..0000000000 --- a/packages/linux/openzaurus-pxa27x-2.4.20-rmk2-embedix20050602/P07-C3000-KBDDEV_041206.patch +++ /dev/null @@ -1,115 +0,0 @@ -diff -Nur c3000_pre/linux/drivers/char/Config.in c3000_work/linux/drivers/char/Config.in ---- c3000_pre/linux/drivers/char/Config.in 2004-12-06 17:24:32.000000000 +0900 -+++ c3000_work/linux/drivers/char/Config.in 2004-12-06 17:25:51.000000000 +0900 -@@ -171,6 +171,7 @@ - bool ' SL-series Bluetooth support' CONFIG_BLUETOOTH_SL - fi - fi -+bool 'Use Keyboard device file (EXPERIMENTAL)' CONFIG_KBD_DEV_FILE - if [ "$CONFIG_ARCH_DBMX1" = "y" ]; then - tristate 'DragonBall MX1 serial port support' CONFIG_SERIAL_DBMX1 - if [ "$CONFIG_SERIAL_DBMX1" = "y" ]; then -diff -Nur c3000_pre/linux/drivers/char/keyboard.c c3000_work/linux/drivers/char/keyboard.c ---- c3000_pre/linux/drivers/char/keyboard.c 2004-08-21 09:48:25.000000000 +0900 -+++ c3000_work/linux/drivers/char/keyboard.c 2004-12-06 17:32:08.000000000 +0900 -@@ -35,6 +35,7 @@ - - #include <asm/keyboard.h> - #include <asm/bitops.h> -+#include <asm/uaccess.h> - - #include <linux/kbd_kern.h> - #include <linux/kbd_diacr.h> -@@ -921,12 +922,35 @@ - - pm_callback pm_kbd_request_override = NULL; - -+#if defined(CONFIG_KBD_DEV_FILE) -+#define KBD_MAJOR 241 -+struct fasync_struct *fasync_kbd; -+ -+static int kbd_open(struct inode *, struct file *); -+static int kbd_release(struct inode *, struct file *); -+static int kbd_fasync(int fd, struct file *filp, int on); -+static ssize_t kbd_read(struct file *, char *, size_t, loff_t *); -+static ssize_t kbd_write(struct file *, const char *, size_t, loff_t *); -+ -+struct file_operations kbd_fops = { -+ open: kbd_open, -+ release: kbd_release, -+ fasync: kbd_fasync, -+ read: kbd_read, -+ write: kbd_write, -+}; -+#endif -+ - int __init kbd_init(void) - { - int i; - struct kbd_struct kbd0; - extern struct tty_driver console_driver; - -+#if defined(CONFIG_KBD_DEV_FILE) -+ if ( register_chrdev(KBD_MAJOR,"kbd",&kbd_fops) ) -+ printk("unable to get major %d for keyboard\n", KBD_MAJOR); -+#endif - kbd0.ledflagstate = kbd0.default_ledflagstate = KBD_DEFLEDS; - kbd0.ledmode = LED_SHOW_FLAGS; - kbd0.lockstate = KBD_DEFLOCK; -@@ -948,3 +972,56 @@ - - return 0; - } -+ -+#if defined(CONFIG_KBD_DEV_FILE) -+static int kbd_open(struct inode *inode, struct file *file) -+{ -+ kdev_t dev = inode->i_rdev; -+ -+ return 0; -+} -+ -+ -+static int kbd_release(struct inode *inode, struct file *file) -+{ -+ kbd_fasync(-1, file, 0); -+ return 0; -+} -+ -+static int kbd_fasync(int fd, struct file *filp, int on) -+{ -+ int retval; -+ -+ retval = fasync_helper(fd, filp, on, &fasync_kbd); -+ if (retval < 0) -+ return retval; -+ return 0; -+} -+ -+static ssize_t kbd_read(struct file *file, char *buffer, size_t count, loff_t *ppos) -+{ -+// printk("kbd read\n"); -+ return 0; -+} -+ -+static ssize_t kbd_write(struct file *file, const char *buffer, size_t count, loff_t *ppos) -+{ -+ char tmp[50]; -+ int len; -+ int kbd_scancode,kbd_down; -+ -+ len=49; -+ -+ if(len>count) len=count; -+ copy_from_user(tmp,buffer,len); -+ tmp[len]='\0'; -+ -+ if (sscanf(tmp,"%d %d",&kbd_scancode, &kbd_down) == 2) { -+// printk("kbd write %02x %02x\n",kbd_scancode,kbd_down); -+ handle_scancode(kbd_scancode,kbd_down); -+ } -+ -+// printk("kbd write\n"); -+ return count; -+} -+#endif |