diff options
| -rw-r--r-- | drivers/input/Kconfig | 2 | ||||
| -rw-r--r-- | drivers/input/Makefile | 1 | ||||
| -rw-r--r-- | drivers/input/evdev.c | 6 | ||||
| -rw-r--r-- | drivers/input/ff-core.c | 3 | ||||
| -rw-r--r-- | drivers/input/joystick/Kconfig | 18 | ||||
| -rw-r--r-- | drivers/input/joystick/Makefile | 1 | ||||
| -rw-r--r-- | drivers/input/joystick/analog.c | 2 | ||||
| -rw-r--r-- | drivers/input/joystick/db9.c | 18 | ||||
| -rw-r--r-- | drivers/input/joystick/gamecon.c | 17 | ||||
| -rw-r--r-- | drivers/input/joystick/iforce/iforce.h | 2 | ||||
| -rw-r--r-- | drivers/input/joystick/turbografx.c | 18 | ||||
| -rw-r--r-- | drivers/input/joystick/xpad.c (renamed from drivers/usb/input/xpad.c) | 0 | ||||
| -rw-r--r-- | drivers/input/keyboard/Kconfig | 1 | ||||
| -rw-r--r-- | drivers/input/keyboard/aaed2000_kbd.c | 62 | ||||
| -rw-r--r-- | drivers/input/misc/Kconfig | 88 | ||||
| -rw-r--r-- | drivers/input/misc/Makefile | 9 | ||||
| -rw-r--r-- | drivers/input/misc/ati_remote.c (renamed from drivers/usb/input/ati_remote.c) | 0 | ||||
| -rw-r--r-- | drivers/input/misc/ati_remote2.c (renamed from drivers/usb/input/ati_remote2.c) | 4 | ||||
| -rw-r--r-- | drivers/input/misc/keyspan_remote.c (renamed from drivers/usb/input/keyspan_remote.c) | 0 | ||||
| -rw-r--r-- | drivers/input/misc/map_to_7segment.h (renamed from drivers/usb/input/map_to_7segment.h) | 0 | ||||
| -rw-r--r-- | drivers/input/misc/powermate.c (renamed from drivers/usb/input/powermate.c) | 10 | ||||
| -rw-r--r-- | drivers/input/misc/uinput.c | 1 | ||||
| -rw-r--r-- | drivers/input/misc/yealink.c (renamed from drivers/usb/input/yealink.c) | 25 | ||||
| -rw-r--r-- | drivers/input/misc/yealink.h (renamed from drivers/usb/input/yealink.h) | 0 | ||||
| -rw-r--r-- | drivers/input/mouse/Kconfig | 38 | ||||
| -rw-r--r-- | drivers/input/mouse/Makefile | 1 | ||||
| -rw-r--r-- | drivers/input/mouse/appletouch.c (renamed from drivers/usb/input/appletouch.c) | 0 | ||||
| -rw-r--r-- | drivers/input/mouse/synaptics.c | 2 | ||||
| -rw-r--r-- | drivers/input/serio/i8042.c | 35 | ||||
| -rw-r--r-- | drivers/input/tablet/Kconfig | 74 | ||||
| -rw-r--r-- | drivers/input/tablet/Makefile | 12 | ||||
| -rw-r--r-- | drivers/input/tablet/acecad.c (renamed from drivers/usb/input/acecad.c) | 2 | ||||
| -rw-r--r-- | drivers/input/tablet/aiptek.c (renamed from drivers/usb/input/aiptek.c) | 0 | ||||
| -rw-r--r-- | drivers/input/tablet/gtco.c (renamed from drivers/usb/input/gtco.c) | 0 | ||||
| -rw-r--r-- | drivers/input/tablet/kbtab.c (renamed from drivers/usb/input/kbtab.c) | 2 | ||||
| -rw-r--r-- | drivers/input/tablet/wacom.h (renamed from drivers/usb/input/wacom.h) | 2 | ||||
| -rw-r--r-- | drivers/input/tablet/wacom_sys.c (renamed from drivers/usb/input/wacom_sys.c) | 2 | ||||
| -rw-r--r-- | drivers/input/tablet/wacom_wac.c (renamed from drivers/usb/input/wacom_wac.c) | 2 | ||||
| -rw-r--r-- | drivers/input/tablet/wacom_wac.h (renamed from drivers/usb/input/wacom_wac.h) | 4 | ||||
| -rw-r--r-- | drivers/input/touchscreen/Kconfig | 60 | ||||
| -rw-r--r-- | drivers/input/touchscreen/Makefile | 17 | ||||
| -rw-r--r-- | drivers/input/touchscreen/usbtouchscreen.c (renamed from drivers/usb/input/usbtouchscreen.c) | 5 | ||||
| -rw-r--r-- | drivers/usb/Kconfig | 2 | ||||
| -rw-r--r-- | drivers/usb/Makefile | 9 | ||||
| -rw-r--r-- | drivers/usb/input/Kconfig | 225 | ||||
| -rw-r--r-- | drivers/usb/input/Makefile | 24 | ||||
| -rw-r--r-- | include/linux/uinput.h | 2 |
47 files changed, 404 insertions, 404 deletions
diff --git a/drivers/input/Kconfig b/drivers/input/Kconfig index 96232313b1b9..0e9b69535ad6 100644 --- a/drivers/input/Kconfig +++ b/drivers/input/Kconfig | |||
| @@ -153,6 +153,8 @@ source "drivers/input/mouse/Kconfig" | |||
| 153 | 153 | ||
| 154 | source "drivers/input/joystick/Kconfig" | 154 | source "drivers/input/joystick/Kconfig" |
| 155 | 155 | ||
| 156 | source "drivers/input/tablet/Kconfig" | ||
| 157 | |||
| 156 | source "drivers/input/touchscreen/Kconfig" | 158 | source "drivers/input/touchscreen/Kconfig" |
| 157 | 159 | ||
| 158 | source "drivers/input/misc/Kconfig" | 160 | source "drivers/input/misc/Kconfig" |
diff --git a/drivers/input/Makefile b/drivers/input/Makefile index b4cd10653c4f..8a2dd987546c 100644 --- a/drivers/input/Makefile +++ b/drivers/input/Makefile | |||
| @@ -18,6 +18,7 @@ obj-$(CONFIG_INPUT_EVBUG) += evbug.o | |||
| 18 | obj-$(CONFIG_INPUT_KEYBOARD) += keyboard/ | 18 | obj-$(CONFIG_INPUT_KEYBOARD) += keyboard/ |
| 19 | obj-$(CONFIG_INPUT_MOUSE) += mouse/ | 19 | obj-$(CONFIG_INPUT_MOUSE) += mouse/ |
| 20 | obj-$(CONFIG_INPUT_JOYSTICK) += joystick/ | 20 | obj-$(CONFIG_INPUT_JOYSTICK) += joystick/ |
| 21 | obj-$(CONFIG_INPUT_TABLET) += tablet/ | ||
| 21 | obj-$(CONFIG_INPUT_TOUCHSCREEN) += touchscreen/ | 22 | obj-$(CONFIG_INPUT_TOUCHSCREEN) += touchscreen/ |
| 22 | obj-$(CONFIG_INPUT_MISC) += misc/ | 23 | obj-$(CONFIG_INPUT_MISC) += misc/ |
| 23 | 24 | ||
diff --git a/drivers/input/evdev.c b/drivers/input/evdev.c index be3dbc1ae67d..55a72592704c 100644 --- a/drivers/input/evdev.c +++ b/drivers/input/evdev.c | |||
| @@ -511,7 +511,7 @@ static long evdev_ioctl_handler(struct file *file, unsigned int cmd, | |||
| 511 | 511 | ||
| 512 | if ((_IOC_NR(cmd) & ~EV_MAX) == _IOC_NR(EVIOCGBIT(0,0))) { | 512 | if ((_IOC_NR(cmd) & ~EV_MAX) == _IOC_NR(EVIOCGBIT(0,0))) { |
| 513 | 513 | ||
| 514 | long *bits; | 514 | unsigned long *bits; |
| 515 | int len; | 515 | int len; |
| 516 | 516 | ||
| 517 | switch (_IOC_NR(cmd) & EV_MAX) { | 517 | switch (_IOC_NR(cmd) & EV_MAX) { |
| @@ -556,7 +556,7 @@ static long evdev_ioctl_handler(struct file *file, unsigned int cmd, | |||
| 556 | 556 | ||
| 557 | if ((_IOC_NR(cmd) & ~ABS_MAX) == _IOC_NR(EVIOCGABS(0))) { | 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 | abs.value = dev->abs[t]; | 561 | abs.value = dev->abs[t]; |
| 562 | abs.minimum = dev->absmin[t]; | 562 | abs.minimum = dev->absmin[t]; |
| @@ -576,7 +576,7 @@ static long evdev_ioctl_handler(struct file *file, unsigned int cmd, | |||
| 576 | 576 | ||
| 577 | if ((_IOC_NR(cmd) & ~ABS_MAX) == _IOC_NR(EVIOCSABS(0))) { | 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 | if (copy_from_user(&abs, p, sizeof(struct input_absinfo))) | 581 | if (copy_from_user(&abs, p, sizeof(struct input_absinfo))) |
| 582 | return -EFAULT; | 582 | return -EFAULT; |
diff --git a/drivers/input/ff-core.c b/drivers/input/ff-core.c index 783b3412cead..eebc72465fc9 100644 --- a/drivers/input/ff-core.c +++ b/drivers/input/ff-core.c | |||
| @@ -281,7 +281,8 @@ int input_ff_event(struct input_dev *dev, unsigned int type, | |||
| 281 | break; | 281 | break; |
| 282 | 282 | ||
| 283 | default: | 283 | default: |
| 284 | ff->playback(dev, code, value); | 284 | if (check_effect_access(ff, code, NULL) == 0) |
| 285 | ff->playback(dev, code, value); | ||
| 285 | break; | 286 | break; |
| 286 | } | 287 | } |
| 287 | 288 | ||
diff --git a/drivers/input/joystick/Kconfig b/drivers/input/joystick/Kconfig index 271263443c37..82f563e24fdb 100644 --- a/drivers/input/joystick/Kconfig +++ b/drivers/input/joystick/Kconfig | |||
| @@ -2,7 +2,7 @@ | |||
| 2 | # Joystick driver configuration | 2 | # Joystick driver configuration |
| 3 | # | 3 | # |
| 4 | menuconfig INPUT_JOYSTICK | 4 | menuconfig INPUT_JOYSTICK |
| 5 | bool "Joysticks" | 5 | bool "Joysticks/Gamepads" |
| 6 | help | 6 | help |
| 7 | If you have a joystick, 6dof controller, gamepad, steering wheel, | 7 | If you have a joystick, 6dof controller, gamepad, steering wheel, |
| 8 | weapon control system or something like that you can say Y here | 8 | weapon control system or something like that you can say Y here |
| @@ -196,7 +196,7 @@ config JOYSTICK_TWIDJOY | |||
| 196 | config JOYSTICK_DB9 | 196 | config JOYSTICK_DB9 |
| 197 | tristate "Multisystem, Sega Genesis, Saturn joysticks and gamepads" | 197 | tristate "Multisystem, Sega Genesis, Saturn joysticks and gamepads" |
| 198 | depends on PARPORT | 198 | depends on PARPORT |
| 199 | ---help--- | 199 | help |
| 200 | Say Y here if you have a Sega Master System gamepad, Sega Genesis | 200 | Say Y here if you have a Sega Master System gamepad, Sega Genesis |
| 201 | gamepad, Sega Saturn gamepad, or a Multisystem -- Atari, Amiga, | 201 | gamepad, Sega Saturn gamepad, or a Multisystem -- Atari, Amiga, |
| 202 | Commodore, Amstrad CPC joystick connected to your parallel port. | 202 | Commodore, Amstrad CPC joystick connected to your parallel port. |
| @@ -253,4 +253,18 @@ config JOYSTICK_JOYDUMP | |||
| 253 | To compile this driver as a module, choose M here: the | 253 | To compile this driver as a module, choose M here: the |
| 254 | module will be called joydump. | 254 | module will be called joydump. |
| 255 | 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. | ||
| 269 | |||
| 256 | endif | 270 | endif |
diff --git a/drivers/input/joystick/Makefile b/drivers/input/joystick/Makefile index 5231f6ff75b8..e855abb0cc51 100644 --- a/drivers/input/joystick/Makefile +++ b/drivers/input/joystick/Makefile | |||
| @@ -26,5 +26,6 @@ obj-$(CONFIG_JOYSTICK_TMDC) += tmdc.o | |||
| 26 | obj-$(CONFIG_JOYSTICK_TURBOGRAFX) += turbografx.o | 26 | obj-$(CONFIG_JOYSTICK_TURBOGRAFX) += turbografx.o |
| 27 | obj-$(CONFIG_JOYSTICK_TWIDJOY) += twidjoy.o | 27 | obj-$(CONFIG_JOYSTICK_TWIDJOY) += twidjoy.o |
| 28 | obj-$(CONFIG_JOYSTICK_WARRIOR) += warrior.o | 28 | obj-$(CONFIG_JOYSTICK_WARRIOR) += warrior.o |
| 29 | obj-$(CONFIG_JOYSTICK_XPAD) += xpad.o | ||
| 29 | 30 | ||
| 30 | obj-$(CONFIG_JOYSTICK_IFORCE) += iforce/ | 31 | obj-$(CONFIG_JOYSTICK_IFORCE) += iforce/ |
diff --git a/drivers/input/joystick/analog.c b/drivers/input/joystick/analog.c index 1c1afb5d4684..bdd157c1ebf8 100644 --- a/drivers/input/joystick/analog.c +++ b/drivers/input/joystick/analog.c | |||
| @@ -53,7 +53,7 @@ MODULE_LICENSE("GPL"); | |||
| 53 | #define ANALOG_PORTS 16 | 53 | #define ANALOG_PORTS 16 |
| 54 | 54 | ||
| 55 | static char *js[ANALOG_PORTS]; | 55 | static char *js[ANALOG_PORTS]; |
| 56 | static int js_nargs; | 56 | static unsigned int js_nargs; |
| 57 | static int analog_options[ANALOG_PORTS]; | 57 | static int analog_options[ANALOG_PORTS]; |
| 58 | module_param_array_named(map, js, charp, &js_nargs, 0); | 58 | module_param_array_named(map, js, charp, &js_nargs, 0); |
| 59 | MODULE_PARM_DESC(map, "Describes analog joysticks type/capabilities"); | 59 | MODULE_PARM_DESC(map, "Describes analog joysticks type/capabilities"); |
diff --git a/drivers/input/joystick/db9.c b/drivers/input/joystick/db9.c index c27593bf9978..86ad1027e12a 100644 --- a/drivers/input/joystick/db9.c +++ b/drivers/input/joystick/db9.c | |||
| @@ -46,17 +46,17 @@ MODULE_LICENSE("GPL"); | |||
| 46 | 46 | ||
| 47 | struct db9_config { | 47 | struct db9_config { |
| 48 | int args[2]; | 48 | int args[2]; |
| 49 | int nargs; | 49 | unsigned int nargs; |
| 50 | }; | 50 | }; |
| 51 | 51 | ||
| 52 | #define DB9_MAX_PORTS 3 | 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 | MODULE_PARM_DESC(dev, "Describes first attached device (<parport#>,<type>)"); | 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 | MODULE_PARM_DESC(dev2, "Describes second attached device (<parport#>,<type>)"); | 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 | MODULE_PARM_DESC(dev3, "Describes third attached device (<parport#>,<type>)"); | 60 | MODULE_PARM_DESC(dev3, "Describes third attached device (<parport#>,<type>)"); |
| 61 | 61 | ||
| 62 | #define DB9_ARG_PARPORT 0 | 62 | #define DB9_ARG_PARPORT 0 |
| @@ -680,17 +680,17 @@ static int __init db9_init(void) | |||
| 680 | int err = 0; | 680 | int err = 0; |
| 681 | 681 | ||
| 682 | for (i = 0; i < DB9_MAX_PORTS; i++) { | 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 | continue; | 684 | continue; |
| 685 | 685 | ||
| 686 | if (db9[i].nargs < 2) { | 686 | if (db9_cfg[i].nargs < 2) { |
| 687 | printk(KERN_ERR "db9.c: Device type must be specified.\n"); | 687 | printk(KERN_ERR "db9.c: Device type must be specified.\n"); |
| 688 | err = -EINVAL; | 688 | err = -EINVAL; |
| 689 | break; | 689 | break; |
| 690 | } | 690 | } |
| 691 | 691 | ||
| 692 | db9_base[i] = db9_probe(db9[i].args[DB9_ARG_PARPORT], | 692 | db9_base[i] = db9_probe(db9_cfg[i].args[DB9_ARG_PARPORT], |
| 693 | db9[i].args[DB9_ARG_MODE]); | 693 | db9_cfg[i].args[DB9_ARG_MODE]); |
| 694 | if (IS_ERR(db9_base[i])) { | 694 | if (IS_ERR(db9_base[i])) { |
| 695 | err = PTR_ERR(db9_base[i]); | 695 | err = PTR_ERR(db9_base[i]); |
| 696 | break; | 696 | break; |
diff --git a/drivers/input/joystick/gamecon.c b/drivers/input/joystick/gamecon.c index c71b58fe225d..1a452e0e5f25 100644 --- a/drivers/input/joystick/gamecon.c +++ b/drivers/input/joystick/gamecon.c | |||
| @@ -48,16 +48,16 @@ MODULE_LICENSE("GPL"); | |||
| 48 | 48 | ||
| 49 | struct gc_config { | 49 | struct gc_config { |
| 50 | int args[GC_MAX_DEVICES + 1]; | 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 | MODULE_PARM_DESC(map, "Describes first set of devices (<parport#>,<pad1>,<pad2>,..<pad5>)"); | 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 | MODULE_PARM_DESC(map2, "Describes second set of devices"); | 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 | MODULE_PARM_DESC(map3, "Describes third set of devices"); | 61 | MODULE_PARM_DESC(map3, "Describes third set of devices"); |
| 62 | 62 | ||
| 63 | /* see also gs_psx_delay parameter in PSX support section */ | 63 | /* see also gs_psx_delay parameter in PSX support section */ |
| @@ -810,16 +810,17 @@ static int __init gc_init(void) | |||
| 810 | int err = 0; | 810 | int err = 0; |
| 811 | 811 | ||
| 812 | for (i = 0; i < GC_MAX_PORTS; i++) { | 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 | continue; | 814 | continue; |
| 815 | 815 | ||
| 816 | if (gc[i].nargs < 2) { | 816 | if (gc_cfg[i].nargs < 2) { |
| 817 | printk(KERN_ERR "gamecon.c: at least one device must be specified\n"); | 817 | printk(KERN_ERR "gamecon.c: at least one device must be specified\n"); |
| 818 | err = -EINVAL; | 818 | err = -EINVAL; |
| 819 | break; | 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 | if (IS_ERR(gc_base[i])) { | 824 | if (IS_ERR(gc_base[i])) { |
| 824 | err = PTR_ERR(gc_base[i]); | 825 | err = PTR_ERR(gc_base[i]); |
| 825 | break; | 826 | break; |
diff --git a/drivers/input/joystick/iforce/iforce.h b/drivers/input/joystick/iforce/iforce.h index dadcf4fb92ae..40a853ac21c7 100644 --- a/drivers/input/joystick/iforce/iforce.h +++ b/drivers/input/joystick/iforce/iforce.h | |||
| @@ -124,7 +124,7 @@ struct iforce { | |||
| 124 | /* Buffer used for asynchronous sending of bytes to the device */ | 124 | /* Buffer used for asynchronous sending of bytes to the device */ |
| 125 | struct circ_buf xmit; | 125 | struct circ_buf xmit; |
| 126 | unsigned char xmit_data[XMIT_SIZE]; | 126 | unsigned char xmit_data[XMIT_SIZE]; |
| 127 | long xmit_flags[1]; | 127 | unsigned long xmit_flags[1]; |
| 128 | 128 | ||
| 129 | /* Force Feedback */ | 129 | /* Force Feedback */ |
| 130 | wait_queue_head_t wait; | 130 | wait_queue_head_t wait; |
diff --git a/drivers/input/joystick/turbografx.c b/drivers/input/joystick/turbografx.c index 0f2c60823b0b..8381c6f14373 100644 --- a/drivers/input/joystick/turbografx.c +++ b/drivers/input/joystick/turbografx.c | |||
| @@ -48,16 +48,16 @@ MODULE_LICENSE("GPL"); | |||
| 48 | 48 | ||
| 49 | struct tgfx_config { | 49 | struct tgfx_config { |
| 50 | int args[TGFX_MAX_DEVICES + 1]; | 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 | MODULE_PARM_DESC(map, "Describes first set of devices (<parport#>,<js1>,<js2>,..<js7>"); | 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 | MODULE_PARM_DESC(map2, "Describes second set of devices"); | 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 | MODULE_PARM_DESC(map3, "Describes third set of devices"); | 61 | MODULE_PARM_DESC(map3, "Describes third set of devices"); |
| 62 | 62 | ||
| 63 | #define TGFX_REFRESH_TIME HZ/100 /* 10 ms */ | 63 | #define TGFX_REFRESH_TIME HZ/100 /* 10 ms */ |
| @@ -283,16 +283,18 @@ static int __init tgfx_init(void) | |||
| 283 | int err = 0; | 283 | int err = 0; |
| 284 | 284 | ||
| 285 | for (i = 0; i < TGFX_MAX_PORTS; i++) { | 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 | continue; | 287 | continue; |
| 288 | 288 | ||
| 289 | if (tgfx[i].nargs < 2) { | 289 | if (tgfx_cfg[i].nargs < 2) { |
| 290 | printk(KERN_ERR "turbografx.c: at least one joystick must be specified\n"); | 290 | printk(KERN_ERR "turbografx.c: at least one joystick must be specified\n"); |
| 291 | err = -EINVAL; | 291 | err = -EINVAL; |
| 292 | break; | 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 | if (IS_ERR(tgfx_base[i])) { | 298 | if (IS_ERR(tgfx_base[i])) { |
| 297 | err = PTR_ERR(tgfx_base[i]); | 299 | err = PTR_ERR(tgfx_base[i]); |
| 298 | break; | 300 | break; |
diff --git a/drivers/usb/input/xpad.c b/drivers/input/joystick/xpad.c index 8c8cd95a6989..8c8cd95a6989 100644 --- a/drivers/usb/input/xpad.c +++ b/drivers/input/joystick/xpad.c | |||
diff --git a/drivers/input/keyboard/Kconfig b/drivers/input/keyboard/Kconfig index 9f42e4d3649e..bd707b86c114 100644 --- a/drivers/input/keyboard/Kconfig +++ b/drivers/input/keyboard/Kconfig | |||
| @@ -226,6 +226,7 @@ config KEYBOARD_PXA27x | |||
| 226 | config KEYBOARD_AAED2000 | 226 | config KEYBOARD_AAED2000 |
| 227 | tristate "AAED-2000 keyboard" | 227 | tristate "AAED-2000 keyboard" |
| 228 | depends on MACH_AAED2000 | 228 | depends on MACH_AAED2000 |
| 229 | select INPUT_POLLDEV | ||
| 229 | default y | 230 | default y |
| 230 | help | 231 | help |
| 231 | Say Y here to enable the keyboard on the Agilent AAED-2000 | 232 | Say Y here to enable the keyboard on the Agilent AAED-2000 |
diff --git a/drivers/input/keyboard/aaed2000_kbd.c b/drivers/input/keyboard/aaed2000_kbd.c index 3a37505f067c..63d6ead6b877 100644 --- a/drivers/input/keyboard/aaed2000_kbd.c +++ b/drivers/input/keyboard/aaed2000_kbd.c | |||
| @@ -14,12 +14,11 @@ | |||
| 14 | #include <linux/delay.h> | 14 | #include <linux/delay.h> |
| 15 | #include <linux/platform_device.h> | 15 | #include <linux/platform_device.h> |
| 16 | #include <linux/init.h> | 16 | #include <linux/init.h> |
| 17 | #include <linux/input.h> | 17 | #include <linux/input-polldev.h> |
| 18 | #include <linux/interrupt.h> | 18 | #include <linux/interrupt.h> |
| 19 | #include <linux/jiffies.h> | 19 | #include <linux/jiffies.h> |
| 20 | #include <linux/module.h> | 20 | #include <linux/module.h> |
| 21 | #include <linux/slab.h> | 21 | #include <linux/slab.h> |
| 22 | #include <linux/workqueue.h> | ||
| 23 | 22 | ||
| 24 | #include <asm/arch/hardware.h> | 23 | #include <asm/arch/hardware.h> |
| 25 | #include <asm/arch/aaed2000.h> | 24 | #include <asm/arch/aaed2000.h> |
| @@ -46,8 +45,7 @@ static unsigned char aaedkbd_keycode[NR_SCANCODES] = { | |||
| 46 | 45 | ||
| 47 | struct aaedkbd { | 46 | struct aaedkbd { |
| 48 | unsigned char keycode[ARRAY_SIZE(aaedkbd_keycode)]; | 47 | unsigned char keycode[ARRAY_SIZE(aaedkbd_keycode)]; |
| 49 | struct input_dev *input; | 48 | struct input_polled_dev *poll_dev; |
| 50 | struct work_struct workq; | ||
| 51 | int kbdscan_state[KB_COLS]; | 49 | int kbdscan_state[KB_COLS]; |
| 52 | int kbdscan_count[KB_COLS]; | 50 | int kbdscan_count[KB_COLS]; |
| 53 | }; | 51 | }; |
| @@ -64,14 +62,15 @@ static void aaedkbd_report_col(struct aaedkbd *aaedkbd, | |||
| 64 | scancode = SCANCODE(row, col); | 62 | scancode = SCANCODE(row, col); |
| 65 | pressed = rowd & KB_ROWMASK(row); | 63 | pressed = rowd & KB_ROWMASK(row); |
| 66 | 64 | ||
| 67 | input_report_key(aaedkbd->input, aaedkbd->keycode[scancode], pressed); | 65 | input_report_key(aaedkbd->poll_dev->input, |
| 66 | aaedkbd->keycode[scancode], pressed); | ||
| 68 | } | 67 | } |
| 69 | } | 68 | } |
| 70 | 69 | ||
| 71 | /* Scan the hardware keyboard and push any changes up through the input layer */ | 70 | /* Scan the hardware keyboard and push any changes up through the input layer */ |
| 72 | static void aaedkbd_work(void *data) | 71 | static void aaedkbd_poll(struct input_polled_dev *dev) |
| 73 | { | 72 | { |
| 74 | struct aaedkbd *aaedkbd = data; | 73 | struct aaedkbd *aaedkbd = dev->private; |
| 75 | unsigned int col, rowd; | 74 | unsigned int col, rowd; |
| 76 | 75 | ||
| 77 | col = 0; | 76 | col = 0; |
| @@ -90,51 +89,34 @@ static void aaedkbd_work(void *data) | |||
| 90 | } while (col < KB_COLS); | 89 | } while (col < KB_COLS); |
| 91 | 90 | ||
| 92 | AAEC_GPIO_KSCAN = 0x07; | 91 | AAEC_GPIO_KSCAN = 0x07; |
| 93 | input_sync(aaedkbd->input); | 92 | input_sync(dev->input); |
| 94 | |||
| 95 | schedule_delayed_work(&aaedkbd->workq, msecs_to_jiffies(SCAN_INTERVAL)); | ||
| 96 | } | ||
| 97 | |||
| 98 | static int aaedkbd_open(struct input_dev *indev) | ||
| 99 | { | ||
| 100 | struct aaedkbd *aaedkbd = input_get_drvdata(indev); | ||
| 101 | |||
| 102 | schedule_delayed_work(&aaedkbd->workq, msecs_to_jiffies(SCAN_INTERVAL)); | ||
| 103 | |||
| 104 | return 0; | ||
| 105 | } | ||
| 106 | |||
| 107 | static void aaedkbd_close(struct input_dev *indev) | ||
| 108 | { | ||
| 109 | struct aaedkbd *aaedkbd = input_get_drvdata(indev); | ||
| 110 | |||
| 111 | cancel_delayed_work(&aaedkbd->workq); | ||
| 112 | flush_scheduled_work(); | ||
| 113 | } | 93 | } |
| 114 | 94 | ||
| 115 | static int __devinit aaedkbd_probe(struct platform_device *pdev) | 95 | static int __devinit aaedkbd_probe(struct platform_device *pdev) |
| 116 | { | 96 | { |
| 117 | struct aaedkbd *aaedkbd; | 97 | struct aaedkbd *aaedkbd; |
| 98 | struct input_polled_dev *poll_dev; | ||
| 118 | struct input_dev *input_dev; | 99 | struct input_dev *input_dev; |
| 119 | int i; | 100 | int i; |
| 120 | int error; | 101 | int error; |
| 121 | 102 | ||
| 122 | aaedkbd = kzalloc(sizeof(struct aaedkbd), GFP_KERNEL); | 103 | aaedkbd = kzalloc(sizeof(struct aaedkbd), GFP_KERNEL); |
| 123 | input_dev = input_allocate_device(); | 104 | poll_dev = input_allocate_polled_device(); |
| 124 | if (!aaedkbd || !input_dev) { | 105 | if (!aaedkbd || !poll_dev) { |
| 125 | error = -ENOMEM; | 106 | error = -ENOMEM; |
| 126 | goto fail; | 107 | goto fail; |
| 127 | } | 108 | } |
| 128 | 109 | ||
| 129 | platform_set_drvdata(pdev, aaedkbd); | 110 | platform_set_drvdata(pdev, aaedkbd); |
| 130 | 111 | ||
| 131 | aaedkbd->input = input_dev; | 112 | aaedkbd->poll_dev = poll_dev; |
| 132 | |||
| 133 | /* Init keyboard rescan workqueue */ | ||
| 134 | INIT_WORK(&aaedkbd->workq, aaedkbd_work, aaedkbd); | ||
| 135 | |||
| 136 | memcpy(aaedkbd->keycode, aaedkbd_keycode, sizeof(aaedkbd->keycode)); | 113 | memcpy(aaedkbd->keycode, aaedkbd_keycode, sizeof(aaedkbd->keycode)); |
| 137 | 114 | ||
| 115 | poll_dev->private = aaedkbd; | ||
| 116 | poll_dev->poll = aaedkbd_poll; | ||
| 117 | poll_dev->poll_interval = SCAN_INTERVAL; | ||
| 118 | |||
| 119 | input_dev = poll_dev->input; | ||
| 138 | input_dev->name = "AAED-2000 Keyboard"; | 120 | input_dev->name = "AAED-2000 Keyboard"; |
| 139 | input_dev->phys = "aaedkbd/input0"; | 121 | input_dev->phys = "aaedkbd/input0"; |
| 140 | input_dev->id.bustype = BUS_HOST; | 122 | input_dev->id.bustype = BUS_HOST; |
| @@ -143,8 +125,6 @@ static int __devinit aaedkbd_probe(struct platform_device *pdev) | |||
| 143 | input_dev->id.version = 0x0100; | 125 | input_dev->id.version = 0x0100; |
| 144 | input_dev->dev.parent = &pdev->dev; | 126 | input_dev->dev.parent = &pdev->dev; |
| 145 | 127 | ||
| 146 | input_set_drvdata(input_dev, aaedkbd); | ||
| 147 | |||
| 148 | input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_REP); | 128 | input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_REP); |
| 149 | input_dev->keycode = aaedkbd->keycode; | 129 | input_dev->keycode = aaedkbd->keycode; |
| 150 | input_dev->keycodesize = sizeof(unsigned char); | 130 | input_dev->keycodesize = sizeof(unsigned char); |
| @@ -154,17 +134,14 @@ static int __devinit aaedkbd_probe(struct platform_device *pdev) | |||
| 154 | set_bit(aaedkbd->keycode[i], input_dev->keybit); | 134 | set_bit(aaedkbd->keycode[i], input_dev->keybit); |
| 155 | clear_bit(0, input_dev->keybit); | 135 | clear_bit(0, input_dev->keybit); |
| 156 | 136 | ||
| 157 | input_dev->open = aaedkbd_open; | 137 | error = input_register_polled_device(aaedkbd->poll_dev); |
| 158 | input_dev->close = aaedkbd_close; | ||
| 159 | |||
| 160 | error = input_register_device(aaedkbd->input); | ||
| 161 | if (error) | 138 | if (error) |
| 162 | goto fail; | 139 | goto fail; |
| 163 | 140 | ||
| 164 | return 0; | 141 | return 0; |
| 165 | 142 | ||
| 166 | fail: kfree(aaedkbd); | 143 | fail: kfree(aaedkbd); |
| 167 | input_free_device(input_dev); | 144 | input_free_polled_device(poll_dev); |
| 168 | return error; | 145 | return error; |
| 169 | } | 146 | } |
| 170 | 147 | ||
| @@ -172,7 +149,8 @@ static int __devexit aaedkbd_remove(struct platform_device *pdev) | |||
| 172 | { | 149 | { |
| 173 | struct aaedkbd *aaedkbd = platform_get_drvdata(pdev); | 150 | struct aaedkbd *aaedkbd = platform_get_drvdata(pdev); |
| 174 | 151 | ||
| 175 | input_unregister_device(aaedkbd->input); | 152 | input_unregister_polled_device(aaedkbd->poll_dev); |
| 153 | input_free_polled_device(aaedkbd->poll_dev); | ||
| 176 | kfree(aaedkbd); | 154 | kfree(aaedkbd); |
| 177 | 155 | ||
| 178 | return 0; | 156 | return 0; |
diff --git a/drivers/input/misc/Kconfig b/drivers/input/misc/Kconfig index 1d0d3e765db6..6013ace94d98 100644 --- a/drivers/input/misc/Kconfig +++ b/drivers/input/misc/Kconfig | |||
| @@ -40,6 +40,18 @@ config INPUT_M68K_BEEP | |||
| 40 | tristate "M68k Beeper support" | 40 | tristate "M68k Beeper support" |
| 41 | depends on M68K | 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 | config INPUT_COBALT_BTNS | 55 | config INPUT_COBALT_BTNS |
| 44 | tristate "Cobalt button interface" | 56 | tristate "Cobalt button interface" |
| 45 | depends on MIPS_COBALT | 57 | depends on MIPS_COBALT |
| @@ -70,17 +82,79 @@ config INPUT_ATLAS_BTNS | |||
| 70 | To compile this driver as a module, choose M here: the module will | 82 | To compile this driver as a module, choose M here: the module will |
| 71 | be called atlas_btns. | 83 | be called atlas_btns. |
| 72 | 84 | ||
| 73 | config INPUT_IXP4XX_BEEPER | 85 | config INPUT_ATI_REMOTE |
| 74 | tristate "IXP4XX Beeper support" | 86 | tristate "ATI / X10 USB RF remote control" |
| 75 | depends on ARCH_IXP4XX | 87 | select USB |
| 76 | help | 88 | help |
| 77 | If you say yes here, you can connect a beeper to the | 89 | Say Y here if you want to use an ATI or X10 "Lola" USB remote control. |
| 78 | ixp4xx gpio pins. This is used by the LinkSys NSLU2. | 90 | These are RF remotes with USB receivers. |
| 91 | The ATI remote comes with many of ATI's All-In-Wonder video cards. | ||
| 92 | The X10 "Lola" remote is available at: | ||
| 93 | <http://www.x10.com/products/lola_sg1.htm> | ||
| 94 | This driver provides mouse pointer, left and right mouse buttons, | ||
| 95 | and maps all the other remote buttons to keypress events. | ||
| 96 | |||
| 97 | To compile this driver as a module, choose M here: the module will be | ||
| 98 | called ati_remote. | ||
| 99 | |||
| 100 | config INPUT_ATI_REMOTE2 | ||
| 101 | tristate "ATI / Philips USB RF remote control" | ||
| 102 | select USB | ||
| 103 | help | ||
| 104 | Say Y here if you want to use an ATI or Philips USB RF remote control. | ||
| 105 | These are RF remotes with USB receivers. | ||
| 106 | ATI Remote Wonder II comes with some ATI's All-In-Wonder video cards | ||
| 107 | and is also available as a separate product. | ||
| 108 | This driver provides mouse pointer, left and right mouse buttons, | ||
| 109 | and maps all the other remote buttons to keypress events. | ||
| 110 | |||
| 111 | To compile this driver as a module, choose M here: the module will be | ||
| 112 | called ati_remote2. | ||
| 113 | |||
| 114 | config INPUT_KEYSPAN_REMOTE | ||
| 115 | tristate "Keyspan DMR USB remote control (EXPERIMENTAL)" | ||
| 116 | depends on EXPERIMENTAL | ||
| 117 | select USB | ||
| 118 | help | ||
| 119 | Say Y here if you want to use a Keyspan DMR USB remote control. | ||
| 120 | Currently only the UIA-11 type of receiver has been tested. The tag | ||
| 121 | on the receiver that connects to the USB port should have a P/N that | ||
| 122 | will tell you what type of DMR you have. The UIA-10 type is not | ||
| 123 | supported at this time. This driver maps all buttons to keypress | ||
| 124 | events. | ||
| 79 | 125 | ||
| 80 | If unsure, say Y. | 126 | To compile this driver as a module, choose M here: the module will |
| 127 | be called keyspan_remote. | ||
| 128 | |||
| 129 | config INPUT_POWERMATE | ||
| 130 | tristate "Griffin PowerMate and Contour Jog support" | ||
| 131 | select USB | ||
| 132 | help | ||
| 133 | Say Y here if you want to use Griffin PowerMate or Contour Jog devices. | ||
| 134 | These are aluminum dials which can measure clockwise and anticlockwise | ||
| 135 | rotation. The dial also acts as a pushbutton. The base contains an LED | ||
| 136 | which can be instructed to pulse or to switch to a particular intensity. | ||
| 137 | |||
| 138 | You can download userspace tools from | ||
| 139 | <http://sowerbutts.com/powermate/>. | ||
| 81 | 140 | ||
| 82 | To compile this driver as a module, choose M here: the | 141 | To compile this driver as a module, choose M here: the |
| 83 | module will be called ixp4xx-beeper. | 142 | module will be called powermate. |
| 143 | |||
| 144 | config INPUT_YEALINK | ||
| 145 | tristate "Yealink usb-p1k voip phone" | ||
| 146 | depends EXPERIMENTAL | ||
| 147 | select USB | ||
| 148 | help | ||
| 149 | Say Y here if you want to enable keyboard and LCD functions of the | ||
| 150 | Yealink usb-p1k usb phones. The audio part is enabled by the generic | ||
| 151 | usb sound driver, so you might want to enable that as well. | ||
| 152 | |||
| 153 | For information about how to use these additional functions, see | ||
| 154 | <file:Documentation/input/yealink.txt>. | ||
| 155 | |||
| 156 | To compile this driver as a module, choose M here: the module will be | ||
| 157 | called yealink. | ||
| 84 | 158 | ||
| 85 | config INPUT_UINPUT | 159 | config INPUT_UINPUT |
| 86 | tristate "User level driver support" | 160 | tristate "User level driver support" |
diff --git a/drivers/input/misc/Makefile b/drivers/input/misc/Makefile index 21e3cca0d33e..8b2f7799e25c 100644 --- a/drivers/input/misc/Makefile +++ b/drivers/input/misc/Makefile | |||
| @@ -8,9 +8,14 @@ obj-$(CONFIG_INPUT_POLLDEV) += input-polldev.o | |||
| 8 | obj-$(CONFIG_INPUT_SPARCSPKR) += sparcspkr.o | 8 | obj-$(CONFIG_INPUT_SPARCSPKR) += sparcspkr.o |
| 9 | obj-$(CONFIG_INPUT_PCSPKR) += pcspkr.o | 9 | obj-$(CONFIG_INPUT_PCSPKR) += pcspkr.o |
| 10 | obj-$(CONFIG_INPUT_M68K_BEEP) += m68kspkr.o | 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 | obj-$(CONFIG_INPUT_COBALT_BTNS) += cobalt_btns.o | 12 | obj-$(CONFIG_INPUT_COBALT_BTNS) += cobalt_btns.o |
| 13 | obj-$(CONFIG_INPUT_WISTRON_BTNS) += wistron_btns.o | 13 | obj-$(CONFIG_INPUT_WISTRON_BTNS) += wistron_btns.o |
| 14 | obj-$(CONFIG_INPUT_ATLAS_BTNS) += atlas_btns.o | 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 | obj-$(CONFIG_HP_SDC_RTC) += hp_sdc_rtc.o | 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 |
diff --git a/drivers/usb/input/ati_remote.c b/drivers/input/misc/ati_remote.c index 471aab206443..471aab206443 100644 --- a/drivers/usb/input/ati_remote.c +++ b/drivers/input/misc/ati_remote.c | |||
diff --git a/drivers/usb/input/ati_remote2.c b/drivers/input/misc/ati_remote2.c index a9032aa3465f..1031543e5c3f 100644 --- a/drivers/usb/input/ati_remote2.c +++ b/drivers/input/misc/ati_remote2.c | |||
| @@ -405,9 +405,7 @@ static void ati_remote2_urb_cleanup(struct ati_remote2 *ar2) | |||
| 405 | 405 | ||
| 406 | for (i = 0; i < 2; i++) { | 406 | for (i = 0; i < 2; i++) { |
| 407 | usb_free_urb(ar2->urb[i]); | 407 | usb_free_urb(ar2->urb[i]); |
| 408 | 408 | usb_buffer_free(ar2->udev, 4, ar2->buf[i], ar2->buf_dma[i]); | |
| 409 | if (ar2->buf[i]) | ||
| 410 | usb_buffer_free(ar2->udev, 4, ar2->buf[i], ar2->buf_dma[i]); | ||
| 411 | } | 409 | } |
| 412 | } | 410 | } |
| 413 | 411 | ||
diff --git a/drivers/usb/input/keyspan_remote.c b/drivers/input/misc/keyspan_remote.c index 1bffc9fa98c2..1bffc9fa98c2 100644 --- a/drivers/usb/input/keyspan_remote.c +++ b/drivers/input/misc/keyspan_remote.c | |||
diff --git a/drivers/usb/input/map_to_7segment.h b/drivers/input/misc/map_to_7segment.h index a424094d9fe2..a424094d9fe2 100644 --- a/drivers/usb/input/map_to_7segment.h +++ b/drivers/input/misc/map_to_7segment.h | |||
diff --git a/drivers/usb/input/powermate.c b/drivers/input/misc/powermate.c index 4f93a760faee..448a470d28f2 100644 --- a/drivers/usb/input/powermate.c +++ b/drivers/input/misc/powermate.c | |||
| @@ -291,12 +291,10 @@ static int powermate_alloc_buffers(struct usb_device *udev, struct powermate_dev | |||
| 291 | 291 | ||
| 292 | static void powermate_free_buffers(struct usb_device *udev, struct powermate_device *pm) | 292 | static void powermate_free_buffers(struct usb_device *udev, struct powermate_device *pm) |
| 293 | { | 293 | { |
| 294 | if (pm->data) | 294 | usb_buffer_free(udev, POWERMATE_PAYLOAD_SIZE_MAX, |
| 295 | usb_buffer_free(udev, POWERMATE_PAYLOAD_SIZE_MAX, | 295 | pm->data, pm->data_dma); |
| 296 | pm->data, pm->data_dma); | 296 | usb_buffer_free(udev, sizeof(*(pm->configcr)), |
| 297 | if (pm->configcr) | 297 | pm->configcr, pm->configcr_dma); |
| 298 | usb_buffer_free(udev, sizeof(*(pm->configcr)), | ||
| 299 | pm->configcr, pm->configcr_dma); | ||
| 300 | } | 298 | } |
| 301 | 299 | ||
| 302 | /* Called whenever a USB device matching one in our supported devices table is connected */ | 300 | /* Called whenever a USB device matching one in our supported devices table is connected */ |
diff --git a/drivers/input/misc/uinput.c b/drivers/input/misc/uinput.c index 031467eadd31..a56ad4ba8fe2 100644 --- a/drivers/input/misc/uinput.c +++ b/drivers/input/misc/uinput.c | |||
| @@ -33,7 +33,6 @@ | |||
| 33 | #include <linux/slab.h> | 33 | #include <linux/slab.h> |
| 34 | #include <linux/module.h> | 34 | #include <linux/module.h> |
| 35 | #include <linux/init.h> | 35 | #include <linux/init.h> |
| 36 | #include <linux/input.h> | ||
| 37 | #include <linux/smp_lock.h> | 36 | #include <linux/smp_lock.h> |
| 38 | #include <linux/fs.h> | 37 | #include <linux/fs.h> |
| 39 | #include <linux/miscdevice.h> | 38 | #include <linux/miscdevice.h> |
diff --git a/drivers/usb/input/yealink.c b/drivers/input/misc/yealink.c index c54f1a5dcb4a..ab15880fd566 100644 --- a/drivers/usb/input/yealink.c +++ b/drivers/input/misc/yealink.c | |||
| @@ -29,7 +29,7 @@ | |||
| 29 | * This driver is based on: | 29 | * This driver is based on: |
| 30 | * - the usbb2k-api http://savannah.nongnu.org/projects/usbb2k-api/ | 30 | * - the usbb2k-api http://savannah.nongnu.org/projects/usbb2k-api/ |
| 31 | * - information from http://memeteau.free.fr/usbb2k | 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 | * Thanks to: | 34 | * Thanks to: |
| 35 | * - Olivier Vandorpe, for providing the usbb2k-api. | 35 | * - Olivier Vandorpe, for providing the usbb2k-api. |
| @@ -818,18 +818,17 @@ static int usb_cleanup(struct yealink_dev *yld, int err) | |||
| 818 | else | 818 | else |
| 819 | input_unregister_device(yld->idev); | 819 | input_unregister_device(yld->idev); |
| 820 | } | 820 | } |
| 821 | if (yld->ctl_req) | 821 | |
| 822 | usb_buffer_free(yld->udev, sizeof(*(yld->ctl_req)), | 822 | usb_free_urb(yld->urb_irq); |
| 823 | yld->ctl_req, yld->ctl_req_dma); | 823 | usb_free_urb(yld->urb_ctl); |
| 824 | if (yld->ctl_data) | 824 | |
| 825 | usb_buffer_free(yld->udev, USB_PKT_LEN, | 825 | usb_buffer_free(yld->udev, sizeof(*(yld->ctl_req)), |
| 826 | yld->ctl_data, yld->ctl_dma); | 826 | yld->ctl_req, yld->ctl_req_dma); |
| 827 | if (yld->irq_data) | 827 | usb_buffer_free(yld->udev, USB_PKT_LEN, |
| 828 | usb_buffer_free(yld->udev, USB_PKT_LEN, | 828 | yld->ctl_data, yld->ctl_dma); |
| 829 | yld->irq_data, yld->irq_dma); | 829 | usb_buffer_free(yld->udev, USB_PKT_LEN, |
| 830 | 830 | yld->irq_data, yld->irq_dma); | |
| 831 | usb_free_urb(yld->urb_irq); /* parameter validation in core/urb */ | 831 | |
| 832 | usb_free_urb(yld->urb_ctl); /* parameter validation in core/urb */ | ||
| 833 | kfree(yld); | 832 | kfree(yld); |
| 834 | return err; | 833 | return err; |
| 835 | } | 834 | } |
diff --git a/drivers/usb/input/yealink.h b/drivers/input/misc/yealink.h index 48af0be9cbdf..48af0be9cbdf 100644 --- a/drivers/usb/input/yealink.h +++ b/drivers/input/misc/yealink.h | |||
diff --git a/drivers/input/mouse/Kconfig b/drivers/input/mouse/Kconfig index 81dd8c7211a7..2ccc114b3ff6 100644 --- a/drivers/input/mouse/Kconfig +++ b/drivers/input/mouse/Kconfig | |||
| @@ -2,7 +2,7 @@ | |||
| 2 | # Mouse driver configuration | 2 | # Mouse driver configuration |
| 3 | # | 3 | # |
| 4 | menuconfig INPUT_MOUSE | 4 | menuconfig INPUT_MOUSE |
| 5 | bool "Mouse" | 5 | bool "Mice" |
| 6 | default y | 6 | default y |
| 7 | help | 7 | help |
| 8 | Say Y here, and a list of supported mice will be displayed. | 8 | Say Y here, and a list of supported mice will be displayed. |
| @@ -19,7 +19,7 @@ config MOUSE_PS2 | |||
| 19 | select SERIO_LIBPS2 | 19 | select SERIO_LIBPS2 |
| 20 | select SERIO_I8042 if X86_PC | 20 | select SERIO_I8042 if X86_PC |
| 21 | select SERIO_GSCPS2 if GSC | 21 | select SERIO_GSCPS2 if GSC |
| 22 | ---help--- | 22 | help |
| 23 | Say Y here if you have a PS/2 mouse connected to your system. This | 23 | Say Y here if you have a PS/2 mouse connected to your system. This |
| 24 | includes the standard 2 or 3-button PS/2 mouse, as well as PS/2 | 24 | includes the standard 2 or 3-button PS/2 mouse, as well as PS/2 |
| 25 | mice with wheels and extra buttons, Microsoft, Logitech or Genius | 25 | mice with wheels and extra buttons, Microsoft, Logitech or Genius |
| @@ -41,7 +41,7 @@ config MOUSE_PS2_ALPS | |||
| 41 | bool "ALPS PS/2 mouse protocol extension" if EMBEDDED | 41 | bool "ALPS PS/2 mouse protocol extension" if EMBEDDED |
| 42 | default y | 42 | default y |
| 43 | depends on MOUSE_PS2 | 43 | depends on MOUSE_PS2 |
| 44 | ---help--- | 44 | help |
| 45 | Say Y here if you have an ALPS PS/2 touchpad connected to | 45 | Say Y here if you have an ALPS PS/2 touchpad connected to |
| 46 | your system. | 46 | your system. |
| 47 | 47 | ||
| @@ -51,7 +51,7 @@ config MOUSE_PS2_LOGIPS2PP | |||
| 51 | bool "Logictech PS/2++ mouse protocol extension" if EMBEDDED | 51 | bool "Logictech PS/2++ mouse protocol extension" if EMBEDDED |
| 52 | default y | 52 | default y |
| 53 | depends on MOUSE_PS2 | 53 | depends on MOUSE_PS2 |
| 54 | ---help--- | 54 | help |
| 55 | Say Y here if you have a Logictech PS/2++ mouse connected to | 55 | Say Y here if you have a Logictech PS/2++ mouse connected to |
| 56 | your system. | 56 | your system. |
| 57 | 57 | ||
| @@ -61,7 +61,7 @@ config MOUSE_PS2_SYNAPTICS | |||
| 61 | bool "Synaptics PS/2 mouse protocol extension" if EMBEDDED | 61 | bool "Synaptics PS/2 mouse protocol extension" if EMBEDDED |
| 62 | default y | 62 | default y |
| 63 | depends on MOUSE_PS2 | 63 | depends on MOUSE_PS2 |
| 64 | ---help--- | 64 | help |
| 65 | Say Y here if you have a Synaptics PS/2 TouchPad connected to | 65 | Say Y here if you have a Synaptics PS/2 TouchPad connected to |
| 66 | your system. | 66 | your system. |
| 67 | 67 | ||
| @@ -71,7 +71,7 @@ config MOUSE_PS2_LIFEBOOK | |||
| 71 | bool "Fujitsu Lifebook PS/2 mouse protocol extension" if EMBEDDED | 71 | bool "Fujitsu Lifebook PS/2 mouse protocol extension" if EMBEDDED |
| 72 | default y | 72 | default y |
| 73 | depends on MOUSE_PS2 | 73 | depends on MOUSE_PS2 |
| 74 | ---help--- | 74 | help |
| 75 | Say Y here if you have a Fujitsu B-series Lifebook PS/2 | 75 | Say Y here if you have a Fujitsu B-series Lifebook PS/2 |
| 76 | TouchScreen connected to your system. | 76 | TouchScreen connected to your system. |
| 77 | 77 | ||
| @@ -81,7 +81,7 @@ config MOUSE_PS2_TRACKPOINT | |||
| 81 | bool "IBM Trackpoint PS/2 mouse protocol extension" if EMBEDDED | 81 | bool "IBM Trackpoint PS/2 mouse protocol extension" if EMBEDDED |
| 82 | default y | 82 | default y |
| 83 | depends on MOUSE_PS2 | 83 | depends on MOUSE_PS2 |
| 84 | ---help--- | 84 | help |
| 85 | Say Y here if you have an IBM Trackpoint PS/2 mouse connected | 85 | Say Y here if you have an IBM Trackpoint PS/2 mouse connected |
| 86 | to your system. | 86 | to your system. |
| 87 | 87 | ||
| @@ -90,7 +90,7 @@ config MOUSE_PS2_TRACKPOINT | |||
| 90 | config MOUSE_PS2_TOUCHKIT | 90 | config MOUSE_PS2_TOUCHKIT |
| 91 | bool "eGalax TouchKit PS/2 protocol extension" | 91 | bool "eGalax TouchKit PS/2 protocol extension" |
| 92 | depends on MOUSE_PS2 | 92 | depends on MOUSE_PS2 |
| 93 | ---help--- | 93 | help |
| 94 | Say Y here if you have an eGalax TouchKit PS/2 touchscreen | 94 | Say Y here if you have an eGalax TouchKit PS/2 touchscreen |
| 95 | connected to your system. | 95 | connected to your system. |
| 96 | 96 | ||
| @@ -99,7 +99,7 @@ config MOUSE_PS2_TOUCHKIT | |||
| 99 | config MOUSE_SERIAL | 99 | config MOUSE_SERIAL |
| 100 | tristate "Serial mouse" | 100 | tristate "Serial mouse" |
| 101 | select SERIO | 101 | select SERIO |
| 102 | ---help--- | 102 | help |
| 103 | Say Y here if you have a serial (RS-232, COM port) mouse connected | 103 | Say Y here if you have a serial (RS-232, COM port) mouse connected |
| 104 | to your system. This includes Sun, MouseSystems, Microsoft, | 104 | to your system. This includes Sun, MouseSystems, Microsoft, |
| 105 | Logitech and all other compatible serial mice. | 105 | Logitech and all other compatible serial mice. |
| @@ -109,6 +109,26 @@ config MOUSE_SERIAL | |||
| 109 | To compile this driver as a module, choose M here: the | 109 | To compile this driver as a module, choose M here: the |
| 110 | module will be called sermouse. | 110 | module will be called sermouse. |
| 111 | 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. | ||
| 131 | |||
| 112 | config MOUSE_INPORT | 132 | config MOUSE_INPORT |
| 113 | tristate "InPort/MS/ATIXL busmouse" | 133 | tristate "InPort/MS/ATIXL busmouse" |
| 114 | depends on ISA | 134 | depends on ISA |
diff --git a/drivers/input/mouse/Makefile b/drivers/input/mouse/Makefile index 6a8f622927f2..aa4ba878533f 100644 --- a/drivers/input/mouse/Makefile +++ b/drivers/input/mouse/Makefile | |||
| @@ -5,6 +5,7 @@ | |||
| 5 | # Each configuration option enables a list of files. | 5 | # Each configuration option enables a list of files. |
| 6 | 6 | ||
| 7 | obj-$(CONFIG_MOUSE_AMIGA) += amimouse.o | 7 | obj-$(CONFIG_MOUSE_AMIGA) += amimouse.o |
| 8 | obj-$(CONFIG_MOUSE_APPLETOUCH) += appletouch.o | ||
| 8 | obj-$(CONFIG_MOUSE_ATARI) += atarimouse.o | 9 | obj-$(CONFIG_MOUSE_ATARI) += atarimouse.o |
| 9 | obj-$(CONFIG_MOUSE_RISCPC) += rpcmouse.o | 10 | obj-$(CONFIG_MOUSE_RISCPC) += rpcmouse.o |
| 10 | obj-$(CONFIG_MOUSE_INPORT) += inport.o | 11 | obj-$(CONFIG_MOUSE_INPORT) += inport.o |
diff --git a/drivers/usb/input/appletouch.c b/drivers/input/mouse/appletouch.c index e3215267db11..e3215267db11 100644 --- a/drivers/usb/input/appletouch.c +++ b/drivers/input/mouse/appletouch.c | |||
diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c index c77788bf932d..666ad3a53fdb 100644 --- a/drivers/input/mouse/synaptics.c +++ b/drivers/input/mouse/synaptics.c | |||
| @@ -185,7 +185,7 @@ static int synaptics_query_hardware(struct psmouse *psmouse) | |||
| 185 | int retries = 0; | 185 | int retries = 0; |
| 186 | 186 | ||
| 187 | while ((retries++ < 3) && psmouse_reset(psmouse)) | 187 | while ((retries++ < 3) && psmouse_reset(psmouse)) |
| 188 | printk(KERN_ERR "synaptics reset failed\n"); | 188 | /* empty */; |
| 189 | 189 | ||
| 190 | if (synaptics_identify(psmouse)) | 190 | if (synaptics_identify(psmouse)) |
| 191 | return -1; | 191 | return -1; |
diff --git a/drivers/input/serio/i8042.c b/drivers/input/serio/i8042.c index 7c17377a65b9..3888dc307e0c 100644 --- a/drivers/input/serio/i8042.c +++ b/drivers/input/serio/i8042.c | |||
| @@ -526,6 +526,33 @@ static irqreturn_t __devinit i8042_aux_test_irq(int irq, void *dev_id) | |||
| 526 | return IRQ_HANDLED; | 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(¶m, | ||
| 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(¶m, 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 | * i8042_check_aux() applies as much paranoia as it can at detecting | 558 | * i8042_check_aux() applies as much paranoia as it can at detecting |
| @@ -580,16 +607,12 @@ static int __devinit i8042_check_aux(void) | |||
| 580 | * Bit assignment test - filters out PS/2 i8042's in AT mode | 607 | * Bit assignment test - filters out PS/2 i8042's in AT mode |
| 581 | */ | 608 | */ |
| 582 | 609 | ||
| 583 | if (i8042_command(¶m, I8042_CMD_AUX_DISABLE)) | 610 | if (i8042_toggle_aux(0)) { |
| 584 | return -1; | ||
| 585 | if (i8042_command(¶m, I8042_CMD_CTL_RCTR) || (~param & I8042_CTR_AUXDIS)) { | ||
| 586 | printk(KERN_WARNING "Failed to disable AUX port, but continuing anyway... Is this a SiS?\n"); | 611 | printk(KERN_WARNING "Failed to disable AUX port, but continuing anyway... Is this a SiS?\n"); |
| 587 | printk(KERN_WARNING "If AUX port is really absent please use the 'i8042.noaux' option.\n"); | 612 | printk(KERN_WARNING "If AUX port is really absent please use the 'i8042.noaux' option.\n"); |
| 588 | } | 613 | } |
| 589 | 614 | ||
| 590 | if (i8042_command(¶m, I8042_CMD_AUX_ENABLE)) | 615 | if (i8042_toggle_aux(1)) |
| 591 | return -1; | ||
| 592 | if (i8042_command(¶m, I8042_CMD_CTL_RCTR) || (param & I8042_CTR_AUXDIS)) | ||
| 593 | return -1; | 616 | return -1; |
| 594 | 617 | ||
| 595 | /* | 618 | /* |
diff --git a/drivers/input/tablet/Kconfig b/drivers/input/tablet/Kconfig new file mode 100644 index 000000000000..12dfb0eb3262 --- /dev/null +++ b/drivers/input/tablet/Kconfig | |||
| @@ -0,0 +1,74 @@ | |||
| 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 | ||
diff --git a/drivers/input/tablet/Makefile b/drivers/input/tablet/Makefile new file mode 100644 index 000000000000..ce8b9a9cfa40 --- /dev/null +++ b/drivers/input/tablet/Makefile | |||
| @@ -0,0 +1,12 @@ | |||
| 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 | ||
diff --git a/drivers/usb/input/acecad.c b/drivers/input/tablet/acecad.c index be8e9243c062..dd2310458c46 100644 --- a/drivers/usb/input/acecad.c +++ b/drivers/input/tablet/acecad.c | |||
| @@ -54,7 +54,7 @@ struct usb_acecad { | |||
| 54 | struct input_dev *input; | 54 | struct input_dev *input; |
| 55 | struct urb *irq; | 55 | struct urb *irq; |
| 56 | 56 | ||
| 57 | signed char *data; | 57 | unsigned char *data; |
| 58 | dma_addr_t data_dma; | 58 | dma_addr_t data_dma; |
| 59 | }; | 59 | }; |
| 60 | 60 | ||
diff --git a/drivers/usb/input/aiptek.c b/drivers/input/tablet/aiptek.c index cc0a498763d8..cc0a498763d8 100644 --- a/drivers/usb/input/aiptek.c +++ b/drivers/input/tablet/aiptek.c | |||
diff --git a/drivers/usb/input/gtco.c b/drivers/input/tablet/gtco.c index b2ca10f2fe0e..b2ca10f2fe0e 100644 --- a/drivers/usb/input/gtco.c +++ b/drivers/input/tablet/gtco.c | |||
diff --git a/drivers/usb/input/kbtab.c b/drivers/input/tablet/kbtab.c index c4781b9d1297..91e6d00d4a43 100644 --- a/drivers/usb/input/kbtab.c +++ b/drivers/input/tablet/kbtab.c | |||
| @@ -29,7 +29,7 @@ module_param(kb_pressure_click, int, 0); | |||
| 29 | MODULE_PARM_DESC(kb_pressure_click, "pressure threshold for clicks"); | 29 | MODULE_PARM_DESC(kb_pressure_click, "pressure threshold for clicks"); |
| 30 | 30 | ||
| 31 | struct kbtab { | 31 | struct kbtab { |
| 32 | signed char *data; | 32 | unsigned char *data; |
| 33 | dma_addr_t data_dma; | 33 | dma_addr_t data_dma; |
| 34 | struct input_dev *dev; | 34 | struct input_dev *dev; |
| 35 | struct usb_device *usbdev; | 35 | struct usb_device *usbdev; |
diff --git a/drivers/usb/input/wacom.h b/drivers/input/tablet/wacom.h index d85abfc5ab58..ef01a807ec0f 100644 --- a/drivers/usb/input/wacom.h +++ b/drivers/input/tablet/wacom.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * drivers/usb/input/wacom.h | 2 | * drivers/input/tablet/wacom.h |
| 3 | * | 3 | * |
| 4 | * USB Wacom Graphire and Wacom Intuos tablet support | 4 | * USB Wacom Graphire and Wacom Intuos tablet support |
| 5 | * | 5 | * |
diff --git a/drivers/usb/input/wacom_sys.c b/drivers/input/tablet/wacom_sys.c index 1fe48208c2f4..83bddef66067 100644 --- a/drivers/usb/input/wacom_sys.c +++ b/drivers/input/tablet/wacom_sys.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * drivers/usb/input/wacom_sys.c | 2 | * drivers/input/tablet/wacom_sys.c |
| 3 | * | 3 | * |
| 4 | * USB Wacom Graphire and Wacom Intuos tablet support - system specific code | 4 | * USB Wacom Graphire and Wacom Intuos tablet support - system specific code |
| 5 | */ | 5 | */ |
diff --git a/drivers/usb/input/wacom_wac.c b/drivers/input/tablet/wacom_wac.c index 4f3e9bc7177d..7661f03a2db2 100644 --- a/drivers/usb/input/wacom_wac.c +++ b/drivers/input/tablet/wacom_wac.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * drivers/usb/input/wacom_wac.c | 2 | * drivers/input/tablet/wacom_wac.c |
| 3 | * | 3 | * |
| 4 | * USB Wacom Graphire and Wacom Intuos tablet support - Wacom specific code | 4 | * USB Wacom Graphire and Wacom Intuos tablet support - Wacom specific code |
| 5 | * | 5 | * |
diff --git a/drivers/usb/input/wacom_wac.h b/drivers/input/tablet/wacom_wac.h index a23022287248..a5e12e8756de 100644 --- a/drivers/usb/input/wacom_wac.h +++ b/drivers/input/tablet/wacom_wac.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * drivers/usb/input/wacom_wac.h | 2 | * drivers/input/tablet/wacom_wac.h |
| 3 | * | 3 | * |
| 4 | * This program is free software; you can redistribute it and/or modify | 4 | * This program is free software; you can redistribute it and/or modify |
| 5 | * it under the terms of the GNU General Public License as published by | 5 | * it under the terms of the GNU General Public License as published by |
| @@ -39,7 +39,7 @@ struct wacom_features { | |||
| 39 | }; | 39 | }; |
| 40 | 40 | ||
| 41 | struct wacom_wac { | 41 | struct wacom_wac { |
| 42 | signed char *data; | 42 | unsigned char *data; |
| 43 | int tool[2]; | 43 | int tool[2]; |
| 44 | int id[2]; | 44 | int id[2]; |
| 45 | __u32 serial[2]; | 45 | __u32 serial[2]; |
diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig index 971618059a6f..5e640aeb03cd 100644 --- a/drivers/input/touchscreen/Kconfig +++ b/drivers/input/touchscreen/Kconfig | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # | 1 | # |
| 2 | # Mouse driver configuration | 2 | # Touchscreen driver configuration |
| 3 | # | 3 | # |
| 4 | menuconfig INPUT_TOUCHSCREEN | 4 | menuconfig INPUT_TOUCHSCREEN |
| 5 | bool "Touchscreens" | 5 | bool "Touchscreens" |
| @@ -44,9 +44,9 @@ config TOUCHSCREEN_BITSY | |||
| 44 | config TOUCHSCREEN_CORGI | 44 | config TOUCHSCREEN_CORGI |
| 45 | tristate "SharpSL (Corgi and Spitz series) touchscreen driver" | 45 | tristate "SharpSL (Corgi and Spitz series) touchscreen driver" |
| 46 | depends on PXA_SHARPSL | 46 | depends on PXA_SHARPSL |
| 47 | default y | 47 | default y |
| 48 | help | 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 | Sharp SL-C7xx and SL-Cxx00 series of PDAs. | 50 | Sharp SL-C7xx and SL-Cxx00 series of PDAs. |
| 51 | 51 | ||
| 52 | If unsure, say N. | 52 | If unsure, say N. |
| @@ -164,4 +164,58 @@ config TOUCHSCREEN_UCB1400 | |||
| 164 | To compile this driver as a module, choose M here: the | 164 | To compile this driver as a module, choose M here: the |
| 165 | module will be called ucb1400_ts. | 165 | module will be called ucb1400_ts. |
| 166 | 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 | ||
| 220 | |||
| 167 | endif | 221 | endif |
diff --git a/drivers/input/touchscreen/Makefile b/drivers/input/touchscreen/Makefile index 30e6e2217a15..2f86d6ad06d3 100644 --- a/drivers/input/touchscreen/Makefile +++ b/drivers/input/touchscreen/Makefile | |||
| @@ -1,17 +1,18 @@ | |||
| 1 | # | 1 | # |
| 2 | # Makefile for the mouse drivers. | 2 | # Makefile for the touchscreen drivers. |
| 3 | # | 3 | # |
| 4 | 4 | ||
| 5 | # Each configuration option enables a list of files. | 5 | # Each configuration option enables a list of files. |
| 6 | 6 | ||
| 7 | obj-$(CONFIG_TOUCHSCREEN_ADS7846) += ads7846.o | 7 | obj-$(CONFIG_TOUCHSCREEN_ADS7846) += ads7846.o |
| 8 | obj-$(CONFIG_TOUCHSCREEN_BITSY) += h3600_ts_input.o | 8 | obj-$(CONFIG_TOUCHSCREEN_BITSY) += h3600_ts_input.o |
| 9 | obj-$(CONFIG_TOUCHSCREEN_CORGI) += corgi_ts.o | 9 | obj-$(CONFIG_TOUCHSCREEN_CORGI) += corgi_ts.o |
| 10 | obj-$(CONFIG_TOUCHSCREEN_GUNZE) += gunze.o | 10 | obj-$(CONFIG_TOUCHSCREEN_GUNZE) += gunze.o |
| 11 | obj-$(CONFIG_TOUCHSCREEN_ELO) += elo.o | 11 | obj-$(CONFIG_TOUCHSCREEN_ELO) += elo.o |
| 12 | obj-$(CONFIG_TOUCHSCREEN_MTOUCH) += mtouch.o | 12 | obj-$(CONFIG_TOUCHSCREEN_MTOUCH) += mtouch.o |
| 13 | obj-$(CONFIG_TOUCHSCREEN_MK712) += mk712.o | 13 | obj-$(CONFIG_TOUCHSCREEN_MK712) += mk712.o |
| 14 | obj-$(CONFIG_TOUCHSCREEN_HP600) += hp680_ts_input.o | 14 | obj-$(CONFIG_TOUCHSCREEN_HP600) += hp680_ts_input.o |
| 15 | obj-$(CONFIG_TOUCHSCREEN_USB_COMPOSITE) += usbtouchscreen.o | ||
| 15 | obj-$(CONFIG_TOUCHSCREEN_PENMOUNT) += penmount.o | 16 | obj-$(CONFIG_TOUCHSCREEN_PENMOUNT) += penmount.o |
| 16 | obj-$(CONFIG_TOUCHSCREEN_TOUCHRIGHT) += touchright.o | 17 | obj-$(CONFIG_TOUCHSCREEN_TOUCHRIGHT) += touchright.o |
| 17 | obj-$(CONFIG_TOUCHSCREEN_TOUCHWIN) += touchwin.o | 18 | obj-$(CONFIG_TOUCHSCREEN_TOUCHWIN) += touchwin.o |
diff --git a/drivers/usb/input/usbtouchscreen.c b/drivers/input/touchscreen/usbtouchscreen.c index e0829413336b..8e18e6c64777 100644 --- a/drivers/usb/input/usbtouchscreen.c +++ b/drivers/input/touchscreen/usbtouchscreen.c | |||
| @@ -668,9 +668,8 @@ static void usbtouch_close(struct input_dev *input) | |||
| 668 | static void usbtouch_free_buffers(struct usb_device *udev, | 668 | static void usbtouch_free_buffers(struct usb_device *udev, |
| 669 | struct usbtouch_usb *usbtouch) | 669 | struct usbtouch_usb *usbtouch) |
| 670 | { | 670 | { |
| 671 | if (usbtouch->data) | 671 | usb_buffer_free(udev, usbtouch->type->rept_size, |
| 672 | usb_buffer_free(udev, usbtouch->type->rept_size, | 672 | usbtouch->data, usbtouch->data_dma); |
| 673 | usbtouch->data, usbtouch->data_dma); | ||
| 674 | kfree(usbtouch->buffer); | 673 | kfree(usbtouch->buffer); |
| 675 | } | 674 | } |
| 676 | 675 | ||
diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig index 9980a4ddfed9..b847bbc8b0e1 100644 --- a/drivers/usb/Kconfig +++ b/drivers/usb/Kconfig | |||
| @@ -85,8 +85,6 @@ source "drivers/usb/class/Kconfig" | |||
| 85 | 85 | ||
| 86 | source "drivers/usb/storage/Kconfig" | 86 | source "drivers/usb/storage/Kconfig" |
| 87 | 87 | ||
| 88 | source "drivers/usb/input/Kconfig" | ||
| 89 | |||
| 90 | source "drivers/usb/image/Kconfig" | 88 | source "drivers/usb/image/Kconfig" |
| 91 | 89 | ||
| 92 | source "drivers/usb/net/Kconfig" | 90 | source "drivers/usb/net/Kconfig" |
diff --git a/drivers/usb/Makefile b/drivers/usb/Makefile index f5de58a63f2b..0ef090b1b37c 100644 --- a/drivers/usb/Makefile +++ b/drivers/usb/Makefile | |||
| @@ -23,15 +23,6 @@ obj-$(CONFIG_USB_PRINTER) += class/ | |||
| 23 | obj-$(CONFIG_USB_STORAGE) += storage/ | 23 | obj-$(CONFIG_USB_STORAGE) += storage/ |
| 24 | obj-$(CONFIG_USB) += storage/ | 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 | obj-$(CONFIG_USB_CATC) += net/ | 26 | obj-$(CONFIG_USB_CATC) += net/ |
| 36 | obj-$(CONFIG_USB_KAWETH) += net/ | 27 | obj-$(CONFIG_USB_KAWETH) += net/ |
| 37 | obj-$(CONFIG_USB_PEGASUS) += net/ | 28 | obj-$(CONFIG_USB_PEGASUS) += net/ |
diff --git a/drivers/usb/input/Kconfig b/drivers/usb/input/Kconfig deleted file mode 100644 index a792e42f58af..000000000000 --- a/drivers/usb/input/Kconfig +++ /dev/null | |||
| @@ -1,225 +0,0 @@ | |||
| 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. | ||
diff --git a/drivers/usb/input/Makefile b/drivers/usb/input/Makefile deleted file mode 100644 index 284a0734e0cd..000000000000 --- a/drivers/usb/input/Makefile +++ /dev/null | |||
| @@ -1,24 +0,0 @@ | |||
| 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 | ||
diff --git a/include/linux/uinput.h b/include/linux/uinput.h index 1fd61eeed664..a6c1e8eed226 100644 --- a/include/linux/uinput.h +++ b/include/linux/uinput.h | |||
| @@ -32,6 +32,8 @@ | |||
| 32 | * - first public version | 32 | * - first public version |
| 33 | */ | 33 | */ |
| 34 | 34 | ||
| 35 | #include <linux/input.h> | ||
| 36 | |||
| 35 | #define UINPUT_VERSION 3 | 37 | #define UINPUT_VERSION 3 |
| 36 | 38 | ||
| 37 | #ifdef __KERNEL__ | 39 | #ifdef __KERNEL__ |
