Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge master.kernel.org:/pub/scm/linux/kernel/git/dtor/input

* master.kernel.org:/pub/scm/linux/kernel/git/dtor/input:
Input: move USB miscellaneous devices under drivers/input/misc
Input: move USB mice under drivers/input/mouse
Input: move USB gamepads under drivers/input/joystick
Input: move USB touchscreens under drivers/input/touchscreen
Input: move USB tablets under drivers/input/tablet
Input: i8042 - fix AUX port detection with some chips
Input: aaed2000_kbd - convert to use polldev library
Input: drivers/usb/input - usb_buffer_free() cleanup
Input: synaptics - don't complain about failed resets
Input: pull input.h into uinpit.h
Input: drivers/usb/input - fix sparse warnings (signedness)
Input: evdev - fix some sparse warnings (signedness, shadowing)
Input: drivers/joystick - fix various sparse warnings
Input: force feedback - make sure effect is present before playing

+403 -403
+2
drivers/input/Kconfig
··· 153 153 154 154 source "drivers/input/joystick/Kconfig" 155 155 156 + source "drivers/input/tablet/Kconfig" 157 + 156 158 source "drivers/input/touchscreen/Kconfig" 157 159 158 160 source "drivers/input/misc/Kconfig"
+1
drivers/input/Makefile
··· 18 18 obj-$(CONFIG_INPUT_KEYBOARD) += keyboard/ 19 19 obj-$(CONFIG_INPUT_MOUSE) += mouse/ 20 20 obj-$(CONFIG_INPUT_JOYSTICK) += joystick/ 21 + obj-$(CONFIG_INPUT_TABLET) += tablet/ 21 22 obj-$(CONFIG_INPUT_TOUCHSCREEN) += touchscreen/ 22 23 obj-$(CONFIG_INPUT_MISC) += misc/ 23 24
+3 -3
drivers/input/evdev.c
··· 511 511 512 512 if ((_IOC_NR(cmd) & ~EV_MAX) == _IOC_NR(EVIOCGBIT(0,0))) { 513 513 514 - long *bits; 514 + unsigned long *bits; 515 515 int len; 516 516 517 517 switch (_IOC_NR(cmd) & EV_MAX) { ··· 556 556 557 557 if ((_IOC_NR(cmd) & ~ABS_MAX) == _IOC_NR(EVIOCGABS(0))) { 558 558 559 - int t = _IOC_NR(cmd) & ABS_MAX; 559 + t = _IOC_NR(cmd) & ABS_MAX; 560 560 561 561 abs.value = dev->abs[t]; 562 562 abs.minimum = dev->absmin[t]; ··· 576 576 577 577 if ((_IOC_NR(cmd) & ~ABS_MAX) == _IOC_NR(EVIOCSABS(0))) { 578 578 579 - int t = _IOC_NR(cmd) & ABS_MAX; 579 + t = _IOC_NR(cmd) & ABS_MAX; 580 580 581 581 if (copy_from_user(&abs, p, sizeof(struct input_absinfo))) 582 582 return -EFAULT;
+2 -1
drivers/input/ff-core.c
··· 281 281 break; 282 282 283 283 default: 284 - ff->playback(dev, code, value); 284 + if (check_effect_access(ff, code, NULL) == 0) 285 + ff->playback(dev, code, value); 285 286 break; 286 287 } 287 288
+16 -2
drivers/input/joystick/Kconfig
··· 2 2 # Joystick driver configuration 3 3 # 4 4 menuconfig INPUT_JOYSTICK 5 - bool "Joysticks" 5 + bool "Joysticks/Gamepads" 6 6 help 7 7 If you have a joystick, 6dof controller, gamepad, steering wheel, 8 8 weapon control system or something like that you can say Y here ··· 196 196 config JOYSTICK_DB9 197 197 tristate "Multisystem, Sega Genesis, Saturn joysticks and gamepads" 198 198 depends on PARPORT 199 - ---help--- 199 + help 200 200 Say Y here if you have a Sega Master System gamepad, Sega Genesis 201 201 gamepad, Sega Saturn gamepad, or a Multisystem -- Atari, Amiga, 202 202 Commodore, Amstrad CPC joystick connected to your parallel port. ··· 252 252 253 253 To compile this driver as a module, choose M here: the 254 254 module will be called joydump. 255 + 256 + config JOYSTICK_XPAD 257 + tristate "X-Box gamepad support" 258 + select USB 259 + help 260 + Say Y here if you want to use the X-Box pad with your computer. 261 + Make sure to say Y to "Joystick support" (CONFIG_INPUT_JOYDEV) 262 + and/or "Event interface support" (CONFIG_INPUT_EVDEV) as well. 263 + 264 + For information about how to connect the X-Box pad to USB, see 265 + <file:Documentation/input/xpad.txt>. 266 + 267 + To compile this driver as a module, choose M here: the 268 + module will be called xpad. 255 269 256 270 endif
+1
drivers/input/joystick/Makefile
··· 26 26 obj-$(CONFIG_JOYSTICK_TURBOGRAFX) += turbografx.o 27 27 obj-$(CONFIG_JOYSTICK_TWIDJOY) += twidjoy.o 28 28 obj-$(CONFIG_JOYSTICK_WARRIOR) += warrior.o 29 + obj-$(CONFIG_JOYSTICK_XPAD) += xpad.o 29 30 30 31 obj-$(CONFIG_JOYSTICK_IFORCE) += iforce/
+1 -1
drivers/input/joystick/analog.c
··· 53 53 #define ANALOG_PORTS 16 54 54 55 55 static char *js[ANALOG_PORTS]; 56 - static int js_nargs; 56 + static unsigned int js_nargs; 57 57 static int analog_options[ANALOG_PORTS]; 58 58 module_param_array_named(map, js, charp, &js_nargs, 0); 59 59 MODULE_PARM_DESC(map, "Describes analog joysticks type/capabilities");
+9 -9
drivers/input/joystick/db9.c
··· 46 46 47 47 struct db9_config { 48 48 int args[2]; 49 - int nargs; 49 + unsigned int nargs; 50 50 }; 51 51 52 52 #define DB9_MAX_PORTS 3 53 - static struct db9_config db9[DB9_MAX_PORTS] __initdata; 53 + static struct db9_config db9_cfg[DB9_MAX_PORTS] __initdata; 54 54 55 - module_param_array_named(dev, db9[0].args, int, &db9[0].nargs, 0); 55 + module_param_array_named(dev, db9_cfg[0].args, int, &db9_cfg[0].nargs, 0); 56 56 MODULE_PARM_DESC(dev, "Describes first attached device (<parport#>,<type>)"); 57 - module_param_array_named(dev2, db9[1].args, int, &db9[0].nargs, 0); 57 + module_param_array_named(dev2, db9_cfg[1].args, int, &db9_cfg[0].nargs, 0); 58 58 MODULE_PARM_DESC(dev2, "Describes second attached device (<parport#>,<type>)"); 59 - module_param_array_named(dev3, db9[2].args, int, &db9[2].nargs, 0); 59 + module_param_array_named(dev3, db9_cfg[2].args, int, &db9_cfg[2].nargs, 0); 60 60 MODULE_PARM_DESC(dev3, "Describes third attached device (<parport#>,<type>)"); 61 61 62 62 #define DB9_ARG_PARPORT 0 ··· 680 680 int err = 0; 681 681 682 682 for (i = 0; i < DB9_MAX_PORTS; i++) { 683 - if (db9[i].nargs == 0 || db9[i].args[DB9_ARG_PARPORT] < 0) 683 + if (db9_cfg[i].nargs == 0 || db9_cfg[i].args[DB9_ARG_PARPORT] < 0) 684 684 continue; 685 685 686 - if (db9[i].nargs < 2) { 686 + if (db9_cfg[i].nargs < 2) { 687 687 printk(KERN_ERR "db9.c: Device type must be specified.\n"); 688 688 err = -EINVAL; 689 689 break; 690 690 } 691 691 692 - db9_base[i] = db9_probe(db9[i].args[DB9_ARG_PARPORT], 693 - db9[i].args[DB9_ARG_MODE]); 692 + db9_base[i] = db9_probe(db9_cfg[i].args[DB9_ARG_PARPORT], 693 + db9_cfg[i].args[DB9_ARG_MODE]); 694 694 if (IS_ERR(db9_base[i])) { 695 695 err = PTR_ERR(db9_base[i]); 696 696 break;
+9 -8
drivers/input/joystick/gamecon.c
··· 48 48 49 49 struct gc_config { 50 50 int args[GC_MAX_DEVICES + 1]; 51 - int nargs; 51 + unsigned int nargs; 52 52 }; 53 53 54 - static struct gc_config gc[GC_MAX_PORTS] __initdata; 54 + static struct gc_config gc_cfg[GC_MAX_PORTS] __initdata; 55 55 56 - module_param_array_named(map, gc[0].args, int, &gc[0].nargs, 0); 56 + module_param_array_named(map, gc_cfg[0].args, int, &gc_cfg[0].nargs, 0); 57 57 MODULE_PARM_DESC(map, "Describes first set of devices (<parport#>,<pad1>,<pad2>,..<pad5>)"); 58 - module_param_array_named(map2, gc[1].args, int, &gc[1].nargs, 0); 58 + module_param_array_named(map2, gc_cfg[1].args, int, &gc_cfg[1].nargs, 0); 59 59 MODULE_PARM_DESC(map2, "Describes second set of devices"); 60 - module_param_array_named(map3, gc[2].args, int, &gc[2].nargs, 0); 60 + module_param_array_named(map3, gc_cfg[2].args, int, &gc_cfg[2].nargs, 0); 61 61 MODULE_PARM_DESC(map3, "Describes third set of devices"); 62 62 63 63 /* see also gs_psx_delay parameter in PSX support section */ ··· 810 810 int err = 0; 811 811 812 812 for (i = 0; i < GC_MAX_PORTS; i++) { 813 - if (gc[i].nargs == 0 || gc[i].args[0] < 0) 813 + if (gc_cfg[i].nargs == 0 || gc_cfg[i].args[0] < 0) 814 814 continue; 815 815 816 - if (gc[i].nargs < 2) { 816 + if (gc_cfg[i].nargs < 2) { 817 817 printk(KERN_ERR "gamecon.c: at least one device must be specified\n"); 818 818 err = -EINVAL; 819 819 break; 820 820 } 821 821 822 - gc_base[i] = gc_probe(gc[i].args[0], gc[i].args + 1, gc[i].nargs - 1); 822 + gc_base[i] = gc_probe(gc_cfg[i].args[0], 823 + gc_cfg[i].args + 1, gc_cfg[i].nargs - 1); 823 824 if (IS_ERR(gc_base[i])) { 824 825 err = PTR_ERR(gc_base[i]); 825 826 break;
+1 -1
drivers/input/joystick/iforce/iforce.h
··· 124 124 /* Buffer used for asynchronous sending of bytes to the device */ 125 125 struct circ_buf xmit; 126 126 unsigned char xmit_data[XMIT_SIZE]; 127 - long xmit_flags[1]; 127 + unsigned long xmit_flags[1]; 128 128 129 129 /* Force Feedback */ 130 130 wait_queue_head_t wait;
+10 -8
drivers/input/joystick/turbografx.c
··· 48 48 49 49 struct tgfx_config { 50 50 int args[TGFX_MAX_DEVICES + 1]; 51 - int nargs; 51 + unsigned int nargs; 52 52 }; 53 53 54 - static struct tgfx_config tgfx[TGFX_MAX_PORTS] __initdata; 54 + static struct tgfx_config tgfx_cfg[TGFX_MAX_PORTS] __initdata; 55 55 56 - module_param_array_named(map, tgfx[0].args, int, &tgfx[0].nargs, 0); 56 + module_param_array_named(map, tgfx_cfg[0].args, int, &tgfx_cfg[0].nargs, 0); 57 57 MODULE_PARM_DESC(map, "Describes first set of devices (<parport#>,<js1>,<js2>,..<js7>"); 58 - module_param_array_named(map2, tgfx[1].args, int, &tgfx[1].nargs, 0); 58 + module_param_array_named(map2, tgfx_cfg[1].args, int, &tgfx_cfg[1].nargs, 0); 59 59 MODULE_PARM_DESC(map2, "Describes second set of devices"); 60 - module_param_array_named(map3, tgfx[2].args, int, &tgfx[2].nargs, 0); 60 + module_param_array_named(map3, tgfx_cfg[2].args, int, &tgfx_cfg[2].nargs, 0); 61 61 MODULE_PARM_DESC(map3, "Describes third set of devices"); 62 62 63 63 #define TGFX_REFRESH_TIME HZ/100 /* 10 ms */ ··· 283 283 int err = 0; 284 284 285 285 for (i = 0; i < TGFX_MAX_PORTS; i++) { 286 - if (tgfx[i].nargs == 0 || tgfx[i].args[0] < 0) 286 + if (tgfx_cfg[i].nargs == 0 || tgfx_cfg[i].args[0] < 0) 287 287 continue; 288 288 289 - if (tgfx[i].nargs < 2) { 289 + if (tgfx_cfg[i].nargs < 2) { 290 290 printk(KERN_ERR "turbografx.c: at least one joystick must be specified\n"); 291 291 err = -EINVAL; 292 292 break; 293 293 } 294 294 295 - tgfx_base[i] = tgfx_probe(tgfx[i].args[0], tgfx[i].args + 1, tgfx[i].nargs - 1); 295 + tgfx_base[i] = tgfx_probe(tgfx_cfg[i].args[0], 296 + tgfx_cfg[i].args + 1, 297 + tgfx_cfg[i].nargs - 1); 296 298 if (IS_ERR(tgfx_base[i])) { 297 299 err = PTR_ERR(tgfx_base[i]); 298 300 break;
+1
drivers/input/keyboard/Kconfig
··· 226 226 config KEYBOARD_AAED2000 227 227 tristate "AAED-2000 keyboard" 228 228 depends on MACH_AAED2000 229 + select INPUT_POLLDEV 229 230 default y 230 231 help 231 232 Say Y here to enable the keyboard on the Agilent AAED-2000
+20 -42
drivers/input/keyboard/aaed2000_kbd.c
··· 14 14 #include <linux/delay.h> 15 15 #include <linux/platform_device.h> 16 16 #include <linux/init.h> 17 - #include <linux/input.h> 17 + #include <linux/input-polldev.h> 18 18 #include <linux/interrupt.h> 19 19 #include <linux/jiffies.h> 20 20 #include <linux/module.h> 21 21 #include <linux/slab.h> 22 - #include <linux/workqueue.h> 23 22 24 23 #include <asm/arch/hardware.h> 25 24 #include <asm/arch/aaed2000.h> ··· 45 46 46 47 struct aaedkbd { 47 48 unsigned char keycode[ARRAY_SIZE(aaedkbd_keycode)]; 48 - struct input_dev *input; 49 - struct work_struct workq; 49 + struct input_polled_dev *poll_dev; 50 50 int kbdscan_state[KB_COLS]; 51 51 int kbdscan_count[KB_COLS]; 52 52 }; ··· 62 64 scancode = SCANCODE(row, col); 63 65 pressed = rowd & KB_ROWMASK(row); 64 66 65 - input_report_key(aaedkbd->input, aaedkbd->keycode[scancode], pressed); 67 + input_report_key(aaedkbd->poll_dev->input, 68 + aaedkbd->keycode[scancode], pressed); 66 69 } 67 70 } 68 71 69 72 /* Scan the hardware keyboard and push any changes up through the input layer */ 70 - static void aaedkbd_work(void *data) 73 + static void aaedkbd_poll(struct input_polled_dev *dev) 71 74 { 72 - struct aaedkbd *aaedkbd = data; 75 + struct aaedkbd *aaedkbd = dev->private; 73 76 unsigned int col, rowd; 74 77 75 78 col = 0; ··· 89 90 } while (col < KB_COLS); 90 91 91 92 AAEC_GPIO_KSCAN = 0x07; 92 - input_sync(aaedkbd->input); 93 - 94 - schedule_delayed_work(&aaedkbd->workq, msecs_to_jiffies(SCAN_INTERVAL)); 95 - } 96 - 97 - static int aaedkbd_open(struct input_dev *indev) 98 - { 99 - struct aaedkbd *aaedkbd = input_get_drvdata(indev); 100 - 101 - schedule_delayed_work(&aaedkbd->workq, msecs_to_jiffies(SCAN_INTERVAL)); 102 - 103 - return 0; 104 - } 105 - 106 - static void aaedkbd_close(struct input_dev *indev) 107 - { 108 - struct aaedkbd *aaedkbd = input_get_drvdata(indev); 109 - 110 - cancel_delayed_work(&aaedkbd->workq); 111 - flush_scheduled_work(); 93 + input_sync(dev->input); 112 94 } 113 95 114 96 static int __devinit aaedkbd_probe(struct platform_device *pdev) 115 97 { 116 98 struct aaedkbd *aaedkbd; 99 + struct input_polled_dev *poll_dev; 117 100 struct input_dev *input_dev; 118 101 int i; 119 102 int error; 120 103 121 104 aaedkbd = kzalloc(sizeof(struct aaedkbd), GFP_KERNEL); 122 - input_dev = input_allocate_device(); 123 - if (!aaedkbd || !input_dev) { 105 + poll_dev = input_allocate_polled_device(); 106 + if (!aaedkbd || !poll_dev) { 124 107 error = -ENOMEM; 125 108 goto fail; 126 109 } 127 110 128 111 platform_set_drvdata(pdev, aaedkbd); 129 112 130 - aaedkbd->input = input_dev; 131 - 132 - /* Init keyboard rescan workqueue */ 133 - INIT_WORK(&aaedkbd->workq, aaedkbd_work, aaedkbd); 134 - 113 + aaedkbd->poll_dev = poll_dev; 135 114 memcpy(aaedkbd->keycode, aaedkbd_keycode, sizeof(aaedkbd->keycode)); 136 115 116 + poll_dev->private = aaedkbd; 117 + poll_dev->poll = aaedkbd_poll; 118 + poll_dev->poll_interval = SCAN_INTERVAL; 119 + 120 + input_dev = poll_dev->input; 137 121 input_dev->name = "AAED-2000 Keyboard"; 138 122 input_dev->phys = "aaedkbd/input0"; 139 123 input_dev->id.bustype = BUS_HOST; ··· 124 142 input_dev->id.product = 0x0001; 125 143 input_dev->id.version = 0x0100; 126 144 input_dev->dev.parent = &pdev->dev; 127 - 128 - input_set_drvdata(input_dev, aaedkbd); 129 145 130 146 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_REP); 131 147 input_dev->keycode = aaedkbd->keycode; ··· 134 154 set_bit(aaedkbd->keycode[i], input_dev->keybit); 135 155 clear_bit(0, input_dev->keybit); 136 156 137 - input_dev->open = aaedkbd_open; 138 - input_dev->close = aaedkbd_close; 139 - 140 - error = input_register_device(aaedkbd->input); 157 + error = input_register_polled_device(aaedkbd->poll_dev); 141 158 if (error) 142 159 goto fail; 143 160 144 161 return 0; 145 162 146 163 fail: kfree(aaedkbd); 147 - input_free_device(input_dev); 164 + input_free_polled_device(poll_dev); 148 165 return error; 149 166 } 150 167 ··· 149 172 { 150 173 struct aaedkbd *aaedkbd = platform_get_drvdata(pdev); 151 174 152 - input_unregister_device(aaedkbd->input); 175 + input_unregister_polled_device(aaedkbd->poll_dev); 176 + input_free_polled_device(aaedkbd->poll_dev); 153 177 kfree(aaedkbd); 154 178 155 179 return 0;
+81 -7
drivers/input/misc/Kconfig
··· 40 40 tristate "M68k Beeper support" 41 41 depends on M68K 42 42 43 + config INPUT_IXP4XX_BEEPER 44 + tristate "IXP4XX Beeper support" 45 + depends on ARCH_IXP4XX 46 + help 47 + If you say yes here, you can connect a beeper to the 48 + ixp4xx gpio pins. This is used by the LinkSys NSLU2. 49 + 50 + If unsure, say Y. 51 + 52 + To compile this driver as a module, choose M here: the 53 + module will be called ixp4xx-beeper. 54 + 43 55 config INPUT_COBALT_BTNS 44 56 tristate "Cobalt button interface" 45 57 depends on MIPS_COBALT ··· 82 70 To compile this driver as a module, choose M here: the module will 83 71 be called atlas_btns. 84 72 85 - config INPUT_IXP4XX_BEEPER 86 - tristate "IXP4XX Beeper support" 87 - depends on ARCH_IXP4XX 73 + config INPUT_ATI_REMOTE 74 + tristate "ATI / X10 USB RF remote control" 75 + select USB 88 76 help 89 - If you say yes here, you can connect a beeper to the 90 - ixp4xx gpio pins. This is used by the LinkSys NSLU2. 77 + Say Y here if you want to use an ATI or X10 "Lola" USB remote control. 78 + These are RF remotes with USB receivers. 79 + The ATI remote comes with many of ATI's All-In-Wonder video cards. 80 + The X10 "Lola" remote is available at: 81 + <http://www.x10.com/products/lola_sg1.htm> 82 + This driver provides mouse pointer, left and right mouse buttons, 83 + and maps all the other remote buttons to keypress events. 91 84 92 - If unsure, say Y. 85 + To compile this driver as a module, choose M here: the module will be 86 + called ati_remote. 87 + 88 + config INPUT_ATI_REMOTE2 89 + tristate "ATI / Philips USB RF remote control" 90 + select USB 91 + help 92 + Say Y here if you want to use an ATI or Philips USB RF remote control. 93 + These are RF remotes with USB receivers. 94 + ATI Remote Wonder II comes with some ATI's All-In-Wonder video cards 95 + and is also available as a separate product. 96 + This driver provides mouse pointer, left and right mouse buttons, 97 + and maps all the other remote buttons to keypress events. 98 + 99 + To compile this driver as a module, choose M here: the module will be 100 + called ati_remote2. 101 + 102 + config INPUT_KEYSPAN_REMOTE 103 + tristate "Keyspan DMR USB remote control (EXPERIMENTAL)" 104 + depends on EXPERIMENTAL 105 + select USB 106 + help 107 + Say Y here if you want to use a Keyspan DMR USB remote control. 108 + Currently only the UIA-11 type of receiver has been tested. The tag 109 + on the receiver that connects to the USB port should have a P/N that 110 + will tell you what type of DMR you have. The UIA-10 type is not 111 + supported at this time. This driver maps all buttons to keypress 112 + events. 113 + 114 + To compile this driver as a module, choose M here: the module will 115 + be called keyspan_remote. 116 + 117 + config INPUT_POWERMATE 118 + tristate "Griffin PowerMate and Contour Jog support" 119 + select USB 120 + help 121 + Say Y here if you want to use Griffin PowerMate or Contour Jog devices. 122 + These are aluminum dials which can measure clockwise and anticlockwise 123 + rotation. The dial also acts as a pushbutton. The base contains an LED 124 + which can be instructed to pulse or to switch to a particular intensity. 125 + 126 + You can download userspace tools from 127 + <http://sowerbutts.com/powermate/>. 93 128 94 129 To compile this driver as a module, choose M here: the 95 - module will be called ixp4xx-beeper. 130 + module will be called powermate. 131 + 132 + config INPUT_YEALINK 133 + tristate "Yealink usb-p1k voip phone" 134 + depends EXPERIMENTAL 135 + select USB 136 + help 137 + Say Y here if you want to enable keyboard and LCD functions of the 138 + Yealink usb-p1k usb phones. The audio part is enabled by the generic 139 + usb sound driver, so you might want to enable that as well. 140 + 141 + For information about how to use these additional functions, see 142 + <file:Documentation/input/yealink.txt>. 143 + 144 + To compile this driver as a module, choose M here: the module will be 145 + called yealink. 96 146 97 147 config INPUT_UINPUT 98 148 tristate "User level driver support"
+7 -2
drivers/input/misc/Makefile
··· 8 8 obj-$(CONFIG_INPUT_SPARCSPKR) += sparcspkr.o 9 9 obj-$(CONFIG_INPUT_PCSPKR) += pcspkr.o 10 10 obj-$(CONFIG_INPUT_M68K_BEEP) += m68kspkr.o 11 - obj-$(CONFIG_INPUT_UINPUT) += uinput.o 11 + obj-$(CONFIG_INPUT_IXP4XX_BEEPER) += ixp4xx-beeper.o 12 12 obj-$(CONFIG_INPUT_COBALT_BTNS) += cobalt_btns.o 13 13 obj-$(CONFIG_INPUT_WISTRON_BTNS) += wistron_btns.o 14 14 obj-$(CONFIG_INPUT_ATLAS_BTNS) += atlas_btns.o 15 + obj-$(CONFIG_INPUT_ATI_REMOTE) += ati_remote.o 16 + obj-$(CONFIG_INPUT_ATI_REMOTE2) += ati_remote2.o 17 + obj-$(CONFIG_INPUT_KEYSPAN_REMOTE) += keyspan_remote.o 18 + obj-$(CONFIG_INPUT_POWERMATE) += powermate.o 19 + obj-$(CONFIG_INPUT_YEALINK) += yealink.o 15 20 obj-$(CONFIG_HP_SDC_RTC) += hp_sdc_rtc.o 16 - obj-$(CONFIG_INPUT_IXP4XX_BEEPER) += ixp4xx-beeper.o 21 + obj-$(CONFIG_INPUT_UINPUT) += uinput.o
-1
drivers/input/misc/uinput.c
··· 33 33 #include <linux/slab.h> 34 34 #include <linux/module.h> 35 35 #include <linux/init.h> 36 - #include <linux/input.h> 37 36 #include <linux/smp_lock.h> 38 37 #include <linux/fs.h> 39 38 #include <linux/miscdevice.h>
+29 -9
drivers/input/mouse/Kconfig
··· 2 2 # Mouse driver configuration 3 3 # 4 4 menuconfig INPUT_MOUSE 5 - bool "Mouse" 5 + bool "Mice" 6 6 default y 7 7 help 8 8 Say Y here, and a list of supported mice will be displayed. ··· 19 19 select SERIO_LIBPS2 20 20 select SERIO_I8042 if X86_PC 21 21 select SERIO_GSCPS2 if GSC 22 - ---help--- 22 + help 23 23 Say Y here if you have a PS/2 mouse connected to your system. This 24 24 includes the standard 2 or 3-button PS/2 mouse, as well as PS/2 25 25 mice with wheels and extra buttons, Microsoft, Logitech or Genius ··· 41 41 bool "ALPS PS/2 mouse protocol extension" if EMBEDDED 42 42 default y 43 43 depends on MOUSE_PS2 44 - ---help--- 44 + help 45 45 Say Y here if you have an ALPS PS/2 touchpad connected to 46 46 your system. 47 47 ··· 51 51 bool "Logictech PS/2++ mouse protocol extension" if EMBEDDED 52 52 default y 53 53 depends on MOUSE_PS2 54 - ---help--- 54 + help 55 55 Say Y here if you have a Logictech PS/2++ mouse connected to 56 56 your system. 57 57 ··· 61 61 bool "Synaptics PS/2 mouse protocol extension" if EMBEDDED 62 62 default y 63 63 depends on MOUSE_PS2 64 - ---help--- 64 + help 65 65 Say Y here if you have a Synaptics PS/2 TouchPad connected to 66 66 your system. 67 67 ··· 71 71 bool "Fujitsu Lifebook PS/2 mouse protocol extension" if EMBEDDED 72 72 default y 73 73 depends on MOUSE_PS2 74 - ---help--- 74 + help 75 75 Say Y here if you have a Fujitsu B-series Lifebook PS/2 76 76 TouchScreen connected to your system. 77 77 ··· 81 81 bool "IBM Trackpoint PS/2 mouse protocol extension" if EMBEDDED 82 82 default y 83 83 depends on MOUSE_PS2 84 - ---help--- 84 + help 85 85 Say Y here if you have an IBM Trackpoint PS/2 mouse connected 86 86 to your system. 87 87 ··· 90 90 config MOUSE_PS2_TOUCHKIT 91 91 bool "eGalax TouchKit PS/2 protocol extension" 92 92 depends on MOUSE_PS2 93 - ---help--- 93 + help 94 94 Say Y here if you have an eGalax TouchKit PS/2 touchscreen 95 95 connected to your system. 96 96 ··· 99 99 config MOUSE_SERIAL 100 100 tristate "Serial mouse" 101 101 select SERIO 102 - ---help--- 102 + help 103 103 Say Y here if you have a serial (RS-232, COM port) mouse connected 104 104 to your system. This includes Sun, MouseSystems, Microsoft, 105 105 Logitech and all other compatible serial mice. ··· 108 108 109 109 To compile this driver as a module, choose M here: the 110 110 module will be called sermouse. 111 + 112 + config MOUSE_APPLETOUCH 113 + tristate "Apple USB Touchpad support" 114 + select USB 115 + help 116 + Say Y here if you want to use an Apple USB Touchpad. 117 + 118 + These are the touchpads that can be found on post-February 2005 119 + Apple Powerbooks (prior models have a Synaptics touchpad connected 120 + to the ADB bus). 121 + 122 + This driver provides a basic mouse driver but can be interfaced 123 + with the synaptics X11 driver to provide acceleration and 124 + scrolling in X11. 125 + 126 + For further information, see 127 + <file:Documentation/input/appletouch.txt>. 128 + 129 + To compile this driver as a module, choose M here: the 130 + module will be called appletouch. 111 131 112 132 config MOUSE_INPORT 113 133 tristate "InPort/MS/ATIXL busmouse"
+1
drivers/input/mouse/Makefile
··· 5 5 # Each configuration option enables a list of files. 6 6 7 7 obj-$(CONFIG_MOUSE_AMIGA) += amimouse.o 8 + obj-$(CONFIG_MOUSE_APPLETOUCH) += appletouch.o 8 9 obj-$(CONFIG_MOUSE_ATARI) += atarimouse.o 9 10 obj-$(CONFIG_MOUSE_RISCPC) += rpcmouse.o 10 11 obj-$(CONFIG_MOUSE_INPORT) += inport.o
+1 -1
drivers/input/mouse/synaptics.c
··· 185 185 int retries = 0; 186 186 187 187 while ((retries++ < 3) && psmouse_reset(psmouse)) 188 - printk(KERN_ERR "synaptics reset failed\n"); 188 + /* empty */; 189 189 190 190 if (synaptics_identify(psmouse)) 191 191 return -1;
+29 -6
drivers/input/serio/i8042.c
··· 526 526 return IRQ_HANDLED; 527 527 } 528 528 529 + /* 530 + * i8042_toggle_aux - enables or disables AUX port on i8042 via command and 531 + * verifies success by readinng CTR. Used when testing for presence of AUX 532 + * port. 533 + */ 534 + static int __devinit i8042_toggle_aux(int on) 535 + { 536 + unsigned char param; 537 + int i; 538 + 539 + if (i8042_command(&param, 540 + on ? I8042_CMD_AUX_ENABLE : I8042_CMD_AUX_DISABLE)) 541 + return -1; 542 + 543 + /* some chips need some time to set the I8042_CTR_AUXDIS bit */ 544 + for (i = 0; i < 100; i++) { 545 + udelay(50); 546 + 547 + if (i8042_command(&param, I8042_CMD_CTL_RCTR)) 548 + return -1; 549 + 550 + if (!(param & I8042_CTR_AUXDIS) == on) 551 + return 0; 552 + } 553 + 554 + return -1; 555 + } 529 556 530 557 /* 531 558 * i8042_check_aux() applies as much paranoia as it can at detecting ··· 607 580 * Bit assignment test - filters out PS/2 i8042's in AT mode 608 581 */ 609 582 610 - if (i8042_command(&param, I8042_CMD_AUX_DISABLE)) 611 - return -1; 612 - if (i8042_command(&param, I8042_CMD_CTL_RCTR) || (~param & I8042_CTR_AUXDIS)) { 583 + if (i8042_toggle_aux(0)) { 613 584 printk(KERN_WARNING "Failed to disable AUX port, but continuing anyway... Is this a SiS?\n"); 614 585 printk(KERN_WARNING "If AUX port is really absent please use the 'i8042.noaux' option.\n"); 615 586 } 616 587 617 - if (i8042_command(&param, I8042_CMD_AUX_ENABLE)) 618 - return -1; 619 - if (i8042_command(&param, I8042_CMD_CTL_RCTR) || (param & I8042_CTR_AUXDIS)) 588 + if (i8042_toggle_aux(1)) 620 589 return -1; 621 590 622 591 /*
+74
drivers/input/tablet/Kconfig
··· 1 + # 2 + # Tablet driver configuration 3 + # 4 + menuconfig INPUT_TABLET 5 + bool "Tablets" 6 + help 7 + Say Y here, and a list of supported tablets will be displayed. 8 + This option doesn't affect the kernel. 9 + 10 + If unsure, say Y. 11 + 12 + if INPUT_TABLET 13 + 14 + config TABLET_USB_ACECAD 15 + tristate "Acecad Flair tablet support (USB)" 16 + select USB 17 + help 18 + Say Y here if you want to use the USB version of the Acecad Flair 19 + tablet. Make sure to say Y to "Mouse support" 20 + (CONFIG_INPUT_MOUSEDEV) and/or "Event interface support" 21 + (CONFIG_INPUT_EVDEV) as well. 22 + 23 + To compile this driver as a module, choose M here: the 24 + module will be called acecad. 25 + 26 + config TABLET_USB_AIPTEK 27 + tristate "Aiptek 6000U/8000U tablet support (USB)" 28 + select USB 29 + help 30 + Say Y here if you want to use the USB version of the Aiptek 6000U 31 + or Aiptek 8000U tablet. Make sure to say Y to "Mouse support" 32 + (CONFIG_INPUT_MOUSEDEV) and/or "Event interface support" 33 + (CONFIG_INPUT_EVDEV) as well. 34 + 35 + To compile this driver as a module, choose M here: the 36 + module will be called aiptek. 37 + 38 + config TABLET_USB_GTCO 39 + tristate "GTCO CalComp/InterWrite USB Support" 40 + depends on USB && INPUT 41 + help 42 + Say Y here if you want to use the USB version of the GTCO 43 + CalComp/InterWrite Tablet. Make sure to say Y to "Mouse support" 44 + (CONFIG_INPUT_MOUSEDEV) and/or "Event interface support" 45 + (CONFIG_INPUT_EVDEV) as well. 46 + 47 + To compile this driver as a module, choose M here: the 48 + module will be called gtco. 49 + 50 + config TABLET_USB_KBTAB 51 + tristate "KB Gear JamStudio tablet support (USB)" 52 + select USB 53 + help 54 + Say Y here if you want to use the USB version of the KB Gear 55 + JamStudio tablet. Make sure to say Y to "Mouse support" 56 + (CONFIG_INPUT_MOUSEDEV) and/or "Event interface support" 57 + (CONFIG_INPUT_EVDEV) as well. 58 + 59 + To compile this driver as a module, choose M here: the 60 + module will be called kbtab. 61 + 62 + config TABLET_USB_WACOM 63 + tristate "Wacom Intuos/Graphire tablet support (USB)" 64 + select USB 65 + help 66 + Say Y here if you want to use the USB version of the Wacom Intuos 67 + or Graphire tablet. Make sure to say Y to "Mouse support" 68 + (CONFIG_INPUT_MOUSEDEV) and/or "Event interface support" 69 + (CONFIG_INPUT_EVDEV) as well. 70 + 71 + To compile this driver as a module, choose M here: the 72 + module will be called wacom. 73 + 74 + endif
+12
drivers/input/tablet/Makefile
··· 1 + # 2 + # Makefile for the tablet drivers 3 + # 4 + 5 + # Multipart objects. 6 + wacom-objs := wacom_wac.o wacom_sys.o 7 + 8 + obj-$(CONFIG_TABLET_USB_ACECAD) += acecad.o 9 + obj-$(CONFIG_TABLET_USB_AIPTEK) += aiptek.o 10 + obj-$(CONFIG_TABLET_USB_GTCO) += gtco.o 11 + obj-$(CONFIG_TABLET_USB_KBTAB) += kbtab.o 12 + obj-$(CONFIG_TABLET_USB_WACOM) += wacom.o
+57 -3
drivers/input/touchscreen/Kconfig
··· 1 1 # 2 - # Mouse driver configuration 2 + # Touchscreen driver configuration 3 3 # 4 4 menuconfig INPUT_TOUCHSCREEN 5 5 bool "Touchscreens" ··· 44 44 config TOUCHSCREEN_CORGI 45 45 tristate "SharpSL (Corgi and Spitz series) touchscreen driver" 46 46 depends on PXA_SHARPSL 47 - default y 47 + default y 48 48 help 49 - Say Y here to enable the driver for the touchscreen on the 49 + Say Y here to enable the driver for the touchscreen on the 50 50 Sharp SL-C7xx and SL-Cxx00 series of PDAs. 51 51 52 52 If unsure, say N. ··· 163 163 164 164 To compile this driver as a module, choose M here: the 165 165 module will be called ucb1400_ts. 166 + 167 + config TOUCHSCREEN_USB_COMPOSITE 168 + tristate "USB Touchscreen Driver" 169 + select USB 170 + help 171 + USB Touchscreen driver for: 172 + - eGalax Touchkit USB (also includes eTurboTouch CT-410/510/700) 173 + - PanJit TouchSet USB 174 + - 3M MicroTouch USB (EX II series) 175 + - ITM 176 + - some other eTurboTouch 177 + - Gunze AHL61 178 + - DMC TSC-10/25 179 + 180 + Have a look at <http://linux.chapter7.ch/touchkit/> for 181 + a usage description and the required user-space stuff. 182 + 183 + To compile this driver as a module, choose M here: the 184 + module will be called usbtouchscreen. 185 + 186 + config TOUCHSCREEN_USB_EGALAX 187 + default y 188 + bool "eGalax, eTurboTouch CT-410/510/700 device support" if EMBEDDED 189 + depends on TOUCHSCREEN_USB_COMPOSITE 190 + 191 + config TOUCHSCREEN_USB_PANJIT 192 + default y 193 + bool "PanJit device support" if EMBEDDED 194 + depends on TOUCHSCREEN_USB_COMPOSITE 195 + 196 + config TOUCHSCREEN_USB_3M 197 + default y 198 + bool "3M/Microtouch EX II series device support" if EMBEDDED 199 + depends on TOUCHSCREEN_USB_COMPOSITE 200 + 201 + config TOUCHSCREEN_USB_ITM 202 + default y 203 + bool "ITM device support" if EMBEDDED 204 + depends on TOUCHSCREEN_USB_COMPOSITE 205 + 206 + config TOUCHSCREEN_USB_ETURBO 207 + default y 208 + bool "eTurboTouch (non-eGalax compatible) device support" if EMBEDDED 209 + depends on TOUCHSCREEN_USB_COMPOSITE 210 + 211 + config TOUCHSCREEN_USB_GUNZE 212 + default y 213 + bool "Gunze AHL61 device support" if EMBEDDED 214 + depends on TOUCHSCREEN_USB_COMPOSITE 215 + 216 + config TOUCHSCREEN_USB_DMC_TSC10 217 + default y 218 + bool "DMC TSC-10/25 device support" if EMBEDDED 219 + depends on TOUCHSCREEN_USB_COMPOSITE 166 220 167 221 endif
+9 -8
drivers/input/touchscreen/Makefile
··· 1 1 # 2 - # Makefile for the mouse drivers. 2 + # Makefile for the touchscreen drivers. 3 3 # 4 4 5 5 # Each configuration option enables a list of files. 6 6 7 7 obj-$(CONFIG_TOUCHSCREEN_ADS7846) += ads7846.o 8 - obj-$(CONFIG_TOUCHSCREEN_BITSY) += h3600_ts_input.o 9 - obj-$(CONFIG_TOUCHSCREEN_CORGI) += corgi_ts.o 10 - obj-$(CONFIG_TOUCHSCREEN_GUNZE) += gunze.o 11 - obj-$(CONFIG_TOUCHSCREEN_ELO) += elo.o 12 - obj-$(CONFIG_TOUCHSCREEN_MTOUCH) += mtouch.o 13 - obj-$(CONFIG_TOUCHSCREEN_MK712) += mk712.o 14 - obj-$(CONFIG_TOUCHSCREEN_HP600) += hp680_ts_input.o 8 + obj-$(CONFIG_TOUCHSCREEN_BITSY) += h3600_ts_input.o 9 + obj-$(CONFIG_TOUCHSCREEN_CORGI) += corgi_ts.o 10 + obj-$(CONFIG_TOUCHSCREEN_GUNZE) += gunze.o 11 + obj-$(CONFIG_TOUCHSCREEN_ELO) += elo.o 12 + obj-$(CONFIG_TOUCHSCREEN_MTOUCH) += mtouch.o 13 + obj-$(CONFIG_TOUCHSCREEN_MK712) += mk712.o 14 + obj-$(CONFIG_TOUCHSCREEN_HP600) += hp680_ts_input.o 15 + obj-$(CONFIG_TOUCHSCREEN_USB_COMPOSITE) += usbtouchscreen.o 15 16 obj-$(CONFIG_TOUCHSCREEN_PENMOUNT) += penmount.o 16 17 obj-$(CONFIG_TOUCHSCREEN_TOUCHRIGHT) += touchright.o 17 18 obj-$(CONFIG_TOUCHSCREEN_TOUCHWIN) += touchwin.o
-2
drivers/usb/Kconfig
··· 85 85 86 86 source "drivers/usb/storage/Kconfig" 87 87 88 - source "drivers/usb/input/Kconfig" 89 - 90 88 source "drivers/usb/image/Kconfig" 91 89 92 90 source "drivers/usb/net/Kconfig"
-9
drivers/usb/Makefile
··· 23 23 obj-$(CONFIG_USB_STORAGE) += storage/ 24 24 obj-$(CONFIG_USB) += storage/ 25 25 26 - obj-$(CONFIG_USB_ACECAD) += input/ 27 - obj-$(CONFIG_USB_AIPTEK) += input/ 28 - obj-$(CONFIG_USB_ATI_REMOTE) += input/ 29 - obj-$(CONFIG_USB_KBTAB) += input/ 30 - obj-$(CONFIG_USB_MTOUCH) += input/ 31 - obj-$(CONFIG_USB_POWERMATE) += input/ 32 - obj-$(CONFIG_USB_WACOM) += input/ 33 - obj-$(CONFIG_USB_XPAD) += input/ 34 - 35 26 obj-$(CONFIG_USB_CATC) += net/ 36 27 obj-$(CONFIG_USB_KAWETH) += net/ 37 28 obj-$(CONFIG_USB_PEGASUS) += net/
-225
drivers/usb/input/Kconfig
··· 1 - # 2 - # USB Input driver configuration 3 - # 4 - comment "USB Input Devices" 5 - depends on USB 6 - 7 - config USB_AIPTEK 8 - tristate "Aiptek 6000U/8000U tablet support" 9 - depends on USB && INPUT 10 - help 11 - Say Y here if you want to use the USB version of the Aiptek 6000U 12 - or Aiptek 8000U tablet. Make sure to say Y to "Mouse support" 13 - (CONFIG_INPUT_MOUSEDEV) and/or "Event interface support" 14 - (CONFIG_INPUT_EVDEV) as well. 15 - 16 - To compile this driver as a module, choose M here: the 17 - module will be called aiptek. 18 - 19 - config USB_WACOM 20 - tristate "Wacom Intuos/Graphire tablet support" 21 - depends on USB && INPUT 22 - help 23 - Say Y here if you want to use the USB version of the Wacom Intuos 24 - or Graphire tablet. Make sure to say Y to "Mouse support" 25 - (CONFIG_INPUT_MOUSEDEV) and/or "Event interface support" 26 - (CONFIG_INPUT_EVDEV) as well. 27 - 28 - To compile this driver as a module, choose M here: the 29 - module will be called wacom. 30 - 31 - config USB_ACECAD 32 - tristate "Acecad Flair tablet support" 33 - depends on USB && INPUT 34 - help 35 - Say Y here if you want to use the USB version of the Acecad Flair 36 - tablet. Make sure to say Y to "Mouse support" 37 - (CONFIG_INPUT_MOUSEDEV) and/or "Event interface support" 38 - (CONFIG_INPUT_EVDEV) as well. 39 - 40 - To compile this driver as a module, choose M here: the 41 - module will be called acecad. 42 - 43 - config USB_KBTAB 44 - tristate "KB Gear JamStudio tablet support" 45 - depends on USB && INPUT 46 - help 47 - Say Y here if you want to use the USB version of the KB Gear 48 - JamStudio tablet. Make sure to say Y to "Mouse support" 49 - (CONFIG_INPUT_MOUSEDEV) and/or "Event interface support" 50 - (CONFIG_INPUT_EVDEV) as well. 51 - 52 - To compile this driver as a module, choose M here: the 53 - module will be called kbtab. 54 - 55 - config USB_POWERMATE 56 - tristate "Griffin PowerMate and Contour Jog support" 57 - depends on USB && INPUT 58 - ---help--- 59 - Say Y here if you want to use Griffin PowerMate or Contour Jog devices. 60 - These are aluminum dials which can measure clockwise and anticlockwise 61 - rotation. The dial also acts as a pushbutton. The base contains an LED 62 - which can be instructed to pulse or to switch to a particular intensity. 63 - 64 - You can download userspace tools from 65 - <http://sowerbutts.com/powermate/>. 66 - 67 - To compile this driver as a module, choose M here: the 68 - module will be called powermate. 69 - 70 - config USB_TOUCHSCREEN 71 - tristate "USB Touchscreen Driver" 72 - depends on USB && INPUT 73 - ---help--- 74 - USB Touchscreen driver for: 75 - - eGalax Touchkit USB (also includes eTurboTouch CT-410/510/700) 76 - - PanJit TouchSet USB 77 - - 3M MicroTouch USB (EX II series) 78 - - ITM 79 - - some other eTurboTouch 80 - - Gunze AHL61 81 - - DMC TSC-10/25 82 - 83 - Have a look at <http://linux.chapter7.ch/touchkit/> for 84 - a usage description and the required user-space stuff. 85 - 86 - To compile this driver as a module, choose M here: the 87 - module will be called usbtouchscreen. 88 - 89 - config USB_TOUCHSCREEN_EGALAX 90 - default y 91 - bool "eGalax, eTurboTouch CT-410/510/700 device support" if EMBEDDED 92 - depends on USB_TOUCHSCREEN 93 - 94 - config USB_TOUCHSCREEN_PANJIT 95 - default y 96 - bool "PanJit device support" if EMBEDDED 97 - depends on USB_TOUCHSCREEN 98 - 99 - config USB_TOUCHSCREEN_3M 100 - default y 101 - bool "3M/Microtouch EX II series device support" if EMBEDDED 102 - depends on USB_TOUCHSCREEN 103 - 104 - config USB_TOUCHSCREEN_ITM 105 - default y 106 - bool "ITM device support" if EMBEDDED 107 - depends on USB_TOUCHSCREEN 108 - 109 - config USB_TOUCHSCREEN_ETURBO 110 - default y 111 - bool "eTurboTouch (non-eGalax compatible) device support" if EMBEDDED 112 - depends on USB_TOUCHSCREEN 113 - 114 - config USB_TOUCHSCREEN_GUNZE 115 - default y 116 - bool "Gunze AHL61 device support" if EMBEDDED 117 - depends on USB_TOUCHSCREEN 118 - 119 - config USB_TOUCHSCREEN_DMC_TSC10 120 - default y 121 - bool "DMC TSC-10/25 device support" if EMBEDDED 122 - depends on USB_TOUCHSCREEN 123 - 124 - config USB_YEALINK 125 - tristate "Yealink usb-p1k voip phone" 126 - depends on USB && INPUT && EXPERIMENTAL 127 - ---help--- 128 - Say Y here if you want to enable keyboard and LCD functions of the 129 - Yealink usb-p1k usb phones. The audio part is enabled by the generic 130 - usb sound driver, so you might want to enable that as well. 131 - 132 - For information about how to use these additional functions, see 133 - <file:Documentation/input/yealink.txt>. 134 - 135 - To compile this driver as a module, choose M here: the module will be 136 - called yealink. 137 - 138 - config USB_XPAD 139 - tristate "X-Box gamepad support" 140 - depends on USB && INPUT 141 - ---help--- 142 - Say Y here if you want to use the X-Box pad with your computer. 143 - Make sure to say Y to "Joystick support" (CONFIG_INPUT_JOYDEV) 144 - and/or "Event interface support" (CONFIG_INPUT_EVDEV) as well. 145 - 146 - For information about how to connect the X-Box pad to USB, see 147 - <file:Documentation/input/xpad.txt>. 148 - 149 - To compile this driver as a module, choose M here: the 150 - module will be called xpad. 151 - 152 - config USB_ATI_REMOTE 153 - tristate "ATI / X10 USB RF remote control" 154 - depends on USB && INPUT 155 - ---help--- 156 - Say Y here if you want to use an ATI or X10 "Lola" USB remote control. 157 - These are RF remotes with USB receivers. 158 - The ATI remote comes with many of ATI's All-In-Wonder video cards. 159 - The X10 "Lola" remote is available at: 160 - <http://www.x10.com/products/lola_sg1.htm> 161 - This driver provides mouse pointer, left and right mouse buttons, 162 - and maps all the other remote buttons to keypress events. 163 - 164 - To compile this driver as a module, choose M here: the module will be 165 - called ati_remote. 166 - 167 - config USB_ATI_REMOTE2 168 - tristate "ATI / Philips USB RF remote control" 169 - depends on USB && INPUT 170 - ---help--- 171 - Say Y here if you want to use an ATI or Philips USB RF remote control. 172 - These are RF remotes with USB receivers. 173 - ATI Remote Wonder II comes with some ATI's All-In-Wonder video cards 174 - and is also available as a separate product. 175 - This driver provides mouse pointer, left and right mouse buttons, 176 - and maps all the other remote buttons to keypress events. 177 - 178 - To compile this driver as a module, choose M here: the module will be 179 - called ati_remote2. 180 - 181 - config USB_KEYSPAN_REMOTE 182 - tristate "Keyspan DMR USB remote control (EXPERIMENTAL)" 183 - depends on USB && INPUT && EXPERIMENTAL 184 - ---help--- 185 - Say Y here if you want to use a Keyspan DMR USB remote control. 186 - Currently only the UIA-11 type of receiver has been tested. The tag 187 - on the receiver that connects to the USB port should have a P/N that 188 - will tell you what type of DMR you have. The UIA-10 type is not 189 - supported at this time. This driver maps all buttons to keypress 190 - events. 191 - 192 - To compile this driver as a module, choose M here: the module will 193 - be called keyspan_remote. 194 - 195 - config USB_APPLETOUCH 196 - tristate "Apple USB Touchpad support" 197 - depends on USB && INPUT 198 - ---help--- 199 - Say Y here if you want to use an Apple USB Touchpad. 200 - 201 - These are the touchpads that can be found on post-February 2005 202 - Apple Powerbooks (prior models have a Synaptics touchpad connected 203 - to the ADB bus). 204 - 205 - This driver provides a basic mouse driver but can be interfaced 206 - with the synaptics X11 driver to provide acceleration and 207 - scrolling in X11. 208 - 209 - For further information, see 210 - <file:Documentation/input/appletouch.txt>. 211 - 212 - To compile this driver as a module, choose M here: the 213 - module will be called appletouch. 214 - 215 - config USB_GTCO 216 - tristate "GTCO CalComp/InterWrite USB Support" 217 - depends on USB && INPUT 218 - ---help--- 219 - Say Y here if you want to use the USB version of the GTCO 220 - CalComp/InterWrite Tablet. Make sure to say Y to "Mouse support" 221 - (CONFIG_INPUT_MOUSEDEV) and/or "Event interface support" 222 - (CONFIG_INPUT_EVDEV) as well. 223 - 224 - To compile this driver as a module, choose M here: the 225 - module will be called gtco.
-24
drivers/usb/input/Makefile
··· 1 - # 2 - # Makefile for the USB input drivers 3 - # 4 - 5 - # Multipart objects. 6 - wacom-objs := wacom_wac.o wacom_sys.o 7 - 8 - obj-$(CONFIG_USB_AIPTEK) += aiptek.o 9 - obj-$(CONFIG_USB_ATI_REMOTE) += ati_remote.o 10 - obj-$(CONFIG_USB_ATI_REMOTE2) += ati_remote2.o 11 - obj-$(CONFIG_USB_KBTAB) += kbtab.o 12 - obj-$(CONFIG_USB_KEYSPAN_REMOTE) += keyspan_remote.o 13 - obj-$(CONFIG_USB_TOUCHSCREEN) += usbtouchscreen.o 14 - obj-$(CONFIG_USB_POWERMATE) += powermate.o 15 - obj-$(CONFIG_USB_WACOM) += wacom.o 16 - obj-$(CONFIG_USB_ACECAD) += acecad.o 17 - obj-$(CONFIG_USB_YEALINK) += yealink.o 18 - obj-$(CONFIG_USB_XPAD) += xpad.o 19 - obj-$(CONFIG_USB_APPLETOUCH) += appletouch.o 20 - obj-$(CONFIG_USB_GTCO) += gtco.o 21 - 22 - ifeq ($(CONFIG_USB_DEBUG),y) 23 - EXTRA_CFLAGS += -DDEBUG 24 - endif
+1 -1
drivers/usb/input/acecad.c drivers/input/tablet/acecad.c
··· 54 54 struct input_dev *input; 55 55 struct urb *irq; 56 56 57 - signed char *data; 57 + unsigned char *data; 58 58 dma_addr_t data_dma; 59 59 }; 60 60
drivers/usb/input/aiptek.c drivers/input/tablet/aiptek.c
drivers/usb/input/appletouch.c drivers/input/mouse/appletouch.c
drivers/usb/input/ati_remote.c drivers/input/misc/ati_remote.c
+1 -3
drivers/usb/input/ati_remote2.c drivers/input/misc/ati_remote2.c
··· 405 405 406 406 for (i = 0; i < 2; i++) { 407 407 usb_free_urb(ar2->urb[i]); 408 - 409 - if (ar2->buf[i]) 410 - usb_buffer_free(ar2->udev, 4, ar2->buf[i], ar2->buf_dma[i]); 408 + usb_buffer_free(ar2->udev, 4, ar2->buf[i], ar2->buf_dma[i]); 411 409 } 412 410 } 413 411
drivers/usb/input/gtco.c drivers/input/tablet/gtco.c
+1 -1
drivers/usb/input/kbtab.c drivers/input/tablet/kbtab.c
··· 29 29 MODULE_PARM_DESC(kb_pressure_click, "pressure threshold for clicks"); 30 30 31 31 struct kbtab { 32 - signed char *data; 32 + unsigned char *data; 33 33 dma_addr_t data_dma; 34 34 struct input_dev *dev; 35 35 struct usb_device *usbdev;
drivers/usb/input/keyspan_remote.c drivers/input/misc/keyspan_remote.c
drivers/usb/input/map_to_7segment.h drivers/input/misc/map_to_7segment.h
+4 -6
drivers/usb/input/powermate.c drivers/input/misc/powermate.c
··· 291 291 292 292 static void powermate_free_buffers(struct usb_device *udev, struct powermate_device *pm) 293 293 { 294 - if (pm->data) 295 - usb_buffer_free(udev, POWERMATE_PAYLOAD_SIZE_MAX, 296 - pm->data, pm->data_dma); 297 - if (pm->configcr) 298 - usb_buffer_free(udev, sizeof(*(pm->configcr)), 299 - pm->configcr, pm->configcr_dma); 294 + usb_buffer_free(udev, POWERMATE_PAYLOAD_SIZE_MAX, 295 + pm->data, pm->data_dma); 296 + usb_buffer_free(udev, sizeof(*(pm->configcr)), 297 + pm->configcr, pm->configcr_dma); 300 298 } 301 299 302 300 /* Called whenever a USB device matching one in our supported devices table is connected */
+2 -3
drivers/usb/input/usbtouchscreen.c drivers/input/touchscreen/usbtouchscreen.c
··· 668 668 static void usbtouch_free_buffers(struct usb_device *udev, 669 669 struct usbtouch_usb *usbtouch) 670 670 { 671 - if (usbtouch->data) 672 - usb_buffer_free(udev, usbtouch->type->rept_size, 673 - usbtouch->data, usbtouch->data_dma); 671 + usb_buffer_free(udev, usbtouch->type->rept_size, 672 + usbtouch->data, usbtouch->data_dma); 674 673 kfree(usbtouch->buffer); 675 674 } 676 675
+1 -1
drivers/usb/input/wacom.h drivers/input/tablet/wacom.h
··· 1 1 /* 2 - * drivers/usb/input/wacom.h 2 + * drivers/input/tablet/wacom.h 3 3 * 4 4 * USB Wacom Graphire and Wacom Intuos tablet support 5 5 *
+1 -1
drivers/usb/input/wacom_sys.c drivers/input/tablet/wacom_sys.c
··· 1 1 /* 2 - * drivers/usb/input/wacom_sys.c 2 + * drivers/input/tablet/wacom_sys.c 3 3 * 4 4 * USB Wacom Graphire and Wacom Intuos tablet support - system specific code 5 5 */
+1 -1
drivers/usb/input/wacom_wac.c drivers/input/tablet/wacom_wac.c
··· 1 1 /* 2 - * drivers/usb/input/wacom_wac.c 2 + * drivers/input/tablet/wacom_wac.c 3 3 * 4 4 * USB Wacom Graphire and Wacom Intuos tablet support - Wacom specific code 5 5 *
+2 -2
drivers/usb/input/wacom_wac.h drivers/input/tablet/wacom_wac.h
··· 1 1 /* 2 - * drivers/usb/input/wacom_wac.h 2 + * drivers/input/tablet/wacom_wac.h 3 3 * 4 4 * This program is free software; you can redistribute it and/or modify 5 5 * it under the terms of the GNU General Public License as published by ··· 39 39 }; 40 40 41 41 struct wacom_wac { 42 - signed char *data; 42 + unsigned char *data; 43 43 int tool[2]; 44 44 int id[2]; 45 45 __u32 serial[2];
drivers/usb/input/xpad.c drivers/input/joystick/xpad.c
+11 -12
drivers/usb/input/yealink.c drivers/input/misc/yealink.c
··· 29 29 * This driver is based on: 30 30 * - the usbb2k-api http://savannah.nongnu.org/projects/usbb2k-api/ 31 31 * - information from http://memeteau.free.fr/usbb2k 32 - * - the xpad-driver drivers/usb/input/xpad.c 32 + * - the xpad-driver drivers/input/joystick/xpad.c 33 33 * 34 34 * Thanks to: 35 35 * - Olivier Vandorpe, for providing the usbb2k-api. ··· 818 818 else 819 819 input_unregister_device(yld->idev); 820 820 } 821 - if (yld->ctl_req) 822 - usb_buffer_free(yld->udev, sizeof(*(yld->ctl_req)), 823 - yld->ctl_req, yld->ctl_req_dma); 824 - if (yld->ctl_data) 825 - usb_buffer_free(yld->udev, USB_PKT_LEN, 826 - yld->ctl_data, yld->ctl_dma); 827 - if (yld->irq_data) 828 - usb_buffer_free(yld->udev, USB_PKT_LEN, 829 - yld->irq_data, yld->irq_dma); 830 821 831 - usb_free_urb(yld->urb_irq); /* parameter validation in core/urb */ 832 - usb_free_urb(yld->urb_ctl); /* parameter validation in core/urb */ 822 + usb_free_urb(yld->urb_irq); 823 + usb_free_urb(yld->urb_ctl); 824 + 825 + usb_buffer_free(yld->udev, sizeof(*(yld->ctl_req)), 826 + yld->ctl_req, yld->ctl_req_dma); 827 + usb_buffer_free(yld->udev, USB_PKT_LEN, 828 + yld->ctl_data, yld->ctl_dma); 829 + usb_buffer_free(yld->udev, USB_PKT_LEN, 830 + yld->irq_data, yld->irq_dma); 831 + 833 832 kfree(yld); 834 833 return err; 835 834 }
drivers/usb/input/yealink.h drivers/input/misc/yealink.h
+2
include/linux/uinput.h
··· 32 32 * - first public version 33 33 */ 34 34 35 + #include <linux/input.h> 36 + 35 37 #define UINPUT_VERSION 3 36 38 37 39 #ifdef __KERNEL__