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__ |