From dec3eb01c2409ca8276c1152c167add66a37d1ba Mon Sep 17 00:00:00 2001 From: Dmitry Torokhov Date: Thu, 3 May 2007 00:51:10 -0400 Subject: [PATCH 01/14] Input: force feedback - make sure effect is present before playing Make sure that requested effect id is not out of range for the device and that effect is present before requesting device to play it. Reported-by: Jan Kratochvil Signed-off-by: Dmitry Torokhov --- drivers/input/ff-core.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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, break; default: - ff->playback(dev, code, value); + if (check_effect_access(ff, code, NULL) == 0) + ff->playback(dev, code, value); break; } From 78167236e23bb3c80d2b35b693e578a6e56b1171 Mon Sep 17 00:00:00 2001 From: Dmitry Torokhov Date: Thu, 3 May 2007 00:52:51 -0400 Subject: [PATCH 02/14] Input: drivers/joystick - fix various sparse warnings Fix various issues pointed by sparse: - module_param_array_named() takes unsigned int as number of parameters argument - shadowing of global variables is not healthy. I think there was once a bug in db9 caused by it. Signed-off-by: Dmitry Torokhov --- drivers/input/joystick/analog.c | 2 +- drivers/input/joystick/db9.c | 18 +++++++++--------- drivers/input/joystick/gamecon.c | 17 +++++++++-------- drivers/input/joystick/iforce/iforce.h | 2 +- drivers/input/joystick/turbografx.c | 18 ++++++++++-------- 5 files changed, 30 insertions(+), 27 deletions(-) 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"); #define ANALOG_PORTS 16 static char *js[ANALOG_PORTS]; -static int js_nargs; +static unsigned int js_nargs; static int analog_options[ANALOG_PORTS]; module_param_array_named(map, js, charp, &js_nargs, 0); 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"); struct db9_config { int args[2]; - int nargs; + unsigned int nargs; }; #define DB9_MAX_PORTS 3 -static struct db9_config db9[DB9_MAX_PORTS] __initdata; +static struct db9_config db9_cfg[DB9_MAX_PORTS] __initdata; -module_param_array_named(dev, db9[0].args, int, &db9[0].nargs, 0); +module_param_array_named(dev, db9_cfg[0].args, int, &db9_cfg[0].nargs, 0); MODULE_PARM_DESC(dev, "Describes first attached device (,)"); -module_param_array_named(dev2, db9[1].args, int, &db9[0].nargs, 0); +module_param_array_named(dev2, db9_cfg[1].args, int, &db9_cfg[0].nargs, 0); MODULE_PARM_DESC(dev2, "Describes second attached device (,)"); -module_param_array_named(dev3, db9[2].args, int, &db9[2].nargs, 0); +module_param_array_named(dev3, db9_cfg[2].args, int, &db9_cfg[2].nargs, 0); MODULE_PARM_DESC(dev3, "Describes third attached device (,)"); #define DB9_ARG_PARPORT 0 @@ -680,17 +680,17 @@ static int __init db9_init(void) int err = 0; for (i = 0; i < DB9_MAX_PORTS; i++) { - if (db9[i].nargs == 0 || db9[i].args[DB9_ARG_PARPORT] < 0) + if (db9_cfg[i].nargs == 0 || db9_cfg[i].args[DB9_ARG_PARPORT] < 0) continue; - if (db9[i].nargs < 2) { + if (db9_cfg[i].nargs < 2) { printk(KERN_ERR "db9.c: Device type must be specified.\n"); err = -EINVAL; break; } - db9_base[i] = db9_probe(db9[i].args[DB9_ARG_PARPORT], - db9[i].args[DB9_ARG_MODE]); + db9_base[i] = db9_probe(db9_cfg[i].args[DB9_ARG_PARPORT], + db9_cfg[i].args[DB9_ARG_MODE]); if (IS_ERR(db9_base[i])) { err = PTR_ERR(db9_base[i]); 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"); struct gc_config { int args[GC_MAX_DEVICES + 1]; - int nargs; + unsigned int nargs; }; -static struct gc_config gc[GC_MAX_PORTS] __initdata; +static struct gc_config gc_cfg[GC_MAX_PORTS] __initdata; -module_param_array_named(map, gc[0].args, int, &gc[0].nargs, 0); +module_param_array_named(map, gc_cfg[0].args, int, &gc_cfg[0].nargs, 0); MODULE_PARM_DESC(map, "Describes first set of devices (,,,..)"); -module_param_array_named(map2, gc[1].args, int, &gc[1].nargs, 0); +module_param_array_named(map2, gc_cfg[1].args, int, &gc_cfg[1].nargs, 0); MODULE_PARM_DESC(map2, "Describes second set of devices"); -module_param_array_named(map3, gc[2].args, int, &gc[2].nargs, 0); +module_param_array_named(map3, gc_cfg[2].args, int, &gc_cfg[2].nargs, 0); MODULE_PARM_DESC(map3, "Describes third set of devices"); /* see also gs_psx_delay parameter in PSX support section */ @@ -810,16 +810,17 @@ static int __init gc_init(void) int err = 0; for (i = 0; i < GC_MAX_PORTS; i++) { - if (gc[i].nargs == 0 || gc[i].args[0] < 0) + if (gc_cfg[i].nargs == 0 || gc_cfg[i].args[0] < 0) continue; - if (gc[i].nargs < 2) { + if (gc_cfg[i].nargs < 2) { printk(KERN_ERR "gamecon.c: at least one device must be specified\n"); err = -EINVAL; break; } - gc_base[i] = gc_probe(gc[i].args[0], gc[i].args + 1, gc[i].nargs - 1); + gc_base[i] = gc_probe(gc_cfg[i].args[0], + gc_cfg[i].args + 1, gc_cfg[i].nargs - 1); if (IS_ERR(gc_base[i])) { err = PTR_ERR(gc_base[i]); 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 { /* Buffer used for asynchronous sending of bytes to the device */ struct circ_buf xmit; unsigned char xmit_data[XMIT_SIZE]; - long xmit_flags[1]; + unsigned long xmit_flags[1]; /* Force Feedback */ 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"); struct tgfx_config { int args[TGFX_MAX_DEVICES + 1]; - int nargs; + unsigned int nargs; }; -static struct tgfx_config tgfx[TGFX_MAX_PORTS] __initdata; +static struct tgfx_config tgfx_cfg[TGFX_MAX_PORTS] __initdata; -module_param_array_named(map, tgfx[0].args, int, &tgfx[0].nargs, 0); +module_param_array_named(map, tgfx_cfg[0].args, int, &tgfx_cfg[0].nargs, 0); MODULE_PARM_DESC(map, "Describes first set of devices (,,,.."); -module_param_array_named(map2, tgfx[1].args, int, &tgfx[1].nargs, 0); +module_param_array_named(map2, tgfx_cfg[1].args, int, &tgfx_cfg[1].nargs, 0); MODULE_PARM_DESC(map2, "Describes second set of devices"); -module_param_array_named(map3, tgfx[2].args, int, &tgfx[2].nargs, 0); +module_param_array_named(map3, tgfx_cfg[2].args, int, &tgfx_cfg[2].nargs, 0); MODULE_PARM_DESC(map3, "Describes third set of devices"); #define TGFX_REFRESH_TIME HZ/100 /* 10 ms */ @@ -283,16 +283,18 @@ static int __init tgfx_init(void) int err = 0; for (i = 0; i < TGFX_MAX_PORTS; i++) { - if (tgfx[i].nargs == 0 || tgfx[i].args[0] < 0) + if (tgfx_cfg[i].nargs == 0 || tgfx_cfg[i].args[0] < 0) continue; - if (tgfx[i].nargs < 2) { + if (tgfx_cfg[i].nargs < 2) { printk(KERN_ERR "turbografx.c: at least one joystick must be specified\n"); err = -EINVAL; break; } - tgfx_base[i] = tgfx_probe(tgfx[i].args[0], tgfx[i].args + 1, tgfx[i].nargs - 1); + tgfx_base[i] = tgfx_probe(tgfx_cfg[i].args[0], + tgfx_cfg[i].args + 1, + tgfx_cfg[i].nargs - 1); if (IS_ERR(tgfx_base[i])) { err = PTR_ERR(tgfx_base[i]); break; From ce305b6a0815cae4288e77723f80fbc97f651f9a Mon Sep 17 00:00:00 2001 From: Dmitry Torokhov Date: Thu, 3 May 2007 00:53:18 -0400 Subject: [PATCH 03/14] Input: evdev - fix some sparse warnings (signedness, shadowing) Signed-off-by: Dmitry Torokhov --- drivers/input/evdev.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/input/evdev.c b/drivers/input/evdev.c index 6cff8096d56a..0b45d475a1c6 100644 --- a/drivers/input/evdev.c +++ b/drivers/input/evdev.c @@ -512,7 +512,7 @@ static long evdev_ioctl_handler(struct file *file, unsigned int cmd, if ((_IOC_NR(cmd) & ~EV_MAX) == _IOC_NR(EVIOCGBIT(0,0))) { - long *bits; + unsigned long *bits; int len; switch (_IOC_NR(cmd) & EV_MAX) { @@ -557,7 +557,7 @@ static long evdev_ioctl_handler(struct file *file, unsigned int cmd, if ((_IOC_NR(cmd) & ~ABS_MAX) == _IOC_NR(EVIOCGABS(0))) { - int t = _IOC_NR(cmd) & ABS_MAX; + t = _IOC_NR(cmd) & ABS_MAX; abs.value = dev->abs[t]; abs.minimum = dev->absmin[t]; @@ -577,7 +577,7 @@ static long evdev_ioctl_handler(struct file *file, unsigned int cmd, if ((_IOC_NR(cmd) & ~ABS_MAX) == _IOC_NR(EVIOCSABS(0))) { - int t = _IOC_NR(cmd) & ABS_MAX; + t = _IOC_NR(cmd) & ABS_MAX; if (copy_from_user(&abs, p, sizeof(struct input_absinfo))) return -EFAULT; From 4ee1fc8e554593061a71d6af7c94f31764b87606 Mon Sep 17 00:00:00 2001 From: Dmitry Torokhov Date: Thu, 3 May 2007 00:54:54 -0400 Subject: [PATCH 04/14] Input: drivers/usb/input - fix sparse warnings (signedness) Signed-off-by: Dmitry Torokhov --- drivers/usb/input/acecad.c | 2 +- drivers/usb/input/kbtab.c | 2 +- drivers/usb/input/wacom_wac.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/usb/input/acecad.c b/drivers/usb/input/acecad.c index be8e9243c062..dd2310458c46 100644 --- a/drivers/usb/input/acecad.c +++ b/drivers/usb/input/acecad.c @@ -54,7 +54,7 @@ struct usb_acecad { struct input_dev *input; struct urb *irq; - signed char *data; + unsigned char *data; dma_addr_t data_dma; }; diff --git a/drivers/usb/input/kbtab.c b/drivers/usb/input/kbtab.c index c4781b9d1297..91e6d00d4a43 100644 --- a/drivers/usb/input/kbtab.c +++ b/drivers/usb/input/kbtab.c @@ -29,7 +29,7 @@ module_param(kb_pressure_click, int, 0); MODULE_PARM_DESC(kb_pressure_click, "pressure threshold for clicks"); struct kbtab { - signed char *data; + unsigned char *data; dma_addr_t data_dma; struct input_dev *dev; struct usb_device *usbdev; diff --git a/drivers/usb/input/wacom_wac.h b/drivers/usb/input/wacom_wac.h index a23022287248..89793666ee8a 100644 --- a/drivers/usb/input/wacom_wac.h +++ b/drivers/usb/input/wacom_wac.h @@ -39,7 +39,7 @@ struct wacom_features { }; struct wacom_wac { - signed char *data; + unsigned char *data; int tool[2]; int id[2]; __u32 serial[2]; From a830df367cc8cd802b45baed2449bea267727721 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Thu, 3 May 2007 00:55:34 -0400 Subject: [PATCH 05/14] Input: pull input.h into uinpit.h uinput.h relies on structures found in input.h, so pull in the header Signed-off-by: Mike Frysinger Signed-off-by: Dmitry Torokhov --- drivers/input/misc/uinput.c | 1 - include/linux/uinput.h | 2 ++ 2 files changed, 2 insertions(+), 1 deletion(-) 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 @@ #include #include #include -#include #include #include #include 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 @@ * - first public version */ +#include + #define UINPUT_VERSION 3 #ifdef __KERNEL__ From 4bdd488f4bf7dc91b371fe160a4718b0a91bb2a4 Mon Sep 17 00:00:00 2001 From: Dmitry Torokhov Date: Thu, 3 May 2007 00:56:18 -0400 Subject: [PATCH 06/14] Input: synaptics - don't complain about failed resets On many laptops (Compaq, HP) the touchpad is so slow responding to reset that keyboard controller times out. The device is reset nonetheless and works fine. Kill the "synaptics reset failed" error; if device is not working then other parts of synaptics_query_hardware() will fail anyway. Signed-off-by: Dmitry Torokhov --- drivers/input/mouse/synaptics.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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) int retries = 0; while ((retries++ < 3) && psmouse_reset(psmouse)) - printk(KERN_ERR "synaptics reset failed\n"); + /* empty */; if (synaptics_identify(psmouse)) return -1; From e37a97d44038700ff8c2f1080f71fdfc3a4c0c1e Mon Sep 17 00:00:00 2001 From: Dmitry Torokhov Date: Thu, 3 May 2007 00:57:29 -0400 Subject: [PATCH 07/14] Input: drivers/usb/input - usb_buffer_free() cleanup usb_buffer_free() now handles NULLs so remove unneeded checks form callers. Signed-off-by: Dmitry Torokhov --- drivers/usb/input/ati_remote2.c | 4 +--- drivers/usb/input/powermate.c | 10 ++++------ drivers/usb/input/usbtouchscreen.c | 5 ++--- drivers/usb/input/yealink.c | 21 ++++++++++----------- 4 files changed, 17 insertions(+), 23 deletions(-) diff --git a/drivers/usb/input/ati_remote2.c b/drivers/usb/input/ati_remote2.c index a9032aa3465f..1031543e5c3f 100644 --- a/drivers/usb/input/ati_remote2.c +++ b/drivers/usb/input/ati_remote2.c @@ -405,9 +405,7 @@ static void ati_remote2_urb_cleanup(struct ati_remote2 *ar2) for (i = 0; i < 2; i++) { usb_free_urb(ar2->urb[i]); - - if (ar2->buf[i]) - usb_buffer_free(ar2->udev, 4, ar2->buf[i], ar2->buf_dma[i]); + usb_buffer_free(ar2->udev, 4, ar2->buf[i], ar2->buf_dma[i]); } } diff --git a/drivers/usb/input/powermate.c b/drivers/usb/input/powermate.c index 4f93a760faee..448a470d28f2 100644 --- a/drivers/usb/input/powermate.c +++ b/drivers/usb/input/powermate.c @@ -291,12 +291,10 @@ static int powermate_alloc_buffers(struct usb_device *udev, struct powermate_dev static void powermate_free_buffers(struct usb_device *udev, struct powermate_device *pm) { - if (pm->data) - usb_buffer_free(udev, POWERMATE_PAYLOAD_SIZE_MAX, - pm->data, pm->data_dma); - if (pm->configcr) - usb_buffer_free(udev, sizeof(*(pm->configcr)), - pm->configcr, pm->configcr_dma); + usb_buffer_free(udev, POWERMATE_PAYLOAD_SIZE_MAX, + pm->data, pm->data_dma); + usb_buffer_free(udev, sizeof(*(pm->configcr)), + pm->configcr, pm->configcr_dma); } /* Called whenever a USB device matching one in our supported devices table is connected */ diff --git a/drivers/usb/input/usbtouchscreen.c b/drivers/usb/input/usbtouchscreen.c index e0829413336b..8e18e6c64777 100644 --- a/drivers/usb/input/usbtouchscreen.c +++ b/drivers/usb/input/usbtouchscreen.c @@ -668,9 +668,8 @@ static void usbtouch_close(struct input_dev *input) static void usbtouch_free_buffers(struct usb_device *udev, struct usbtouch_usb *usbtouch) { - if (usbtouch->data) - usb_buffer_free(udev, usbtouch->type->rept_size, - usbtouch->data, usbtouch->data_dma); + usb_buffer_free(udev, usbtouch->type->rept_size, + usbtouch->data, usbtouch->data_dma); kfree(usbtouch->buffer); } diff --git a/drivers/usb/input/yealink.c b/drivers/usb/input/yealink.c index c54f1a5dcb4a..fc645b299189 100644 --- a/drivers/usb/input/yealink.c +++ b/drivers/usb/input/yealink.c @@ -818,18 +818,17 @@ static int usb_cleanup(struct yealink_dev *yld, int err) else input_unregister_device(yld->idev); } - if (yld->ctl_req) - usb_buffer_free(yld->udev, sizeof(*(yld->ctl_req)), - yld->ctl_req, yld->ctl_req_dma); - if (yld->ctl_data) - usb_buffer_free(yld->udev, USB_PKT_LEN, - yld->ctl_data, yld->ctl_dma); - if (yld->irq_data) - usb_buffer_free(yld->udev, USB_PKT_LEN, - yld->irq_data, yld->irq_dma); - usb_free_urb(yld->urb_irq); /* parameter validation in core/urb */ - usb_free_urb(yld->urb_ctl); /* parameter validation in core/urb */ + usb_free_urb(yld->urb_irq); + usb_free_urb(yld->urb_ctl); + + usb_buffer_free(yld->udev, sizeof(*(yld->ctl_req)), + yld->ctl_req, yld->ctl_req_dma); + usb_buffer_free(yld->udev, USB_PKT_LEN, + yld->ctl_data, yld->ctl_dma); + usb_buffer_free(yld->udev, USB_PKT_LEN, + yld->irq_data, yld->irq_dma); + kfree(yld); return err; } From 3f07d8796262f6aee135c8dd9a91210da9f888e4 Mon Sep 17 00:00:00 2001 From: Dmitry Torokhov Date: Thu, 3 May 2007 01:02:07 -0400 Subject: [PATCH 08/14] Input: aaed2000_kbd - convert to use polldev library Signed-off-by: Dmitry Torokhov --- drivers/input/keyboard/Kconfig | 1 + drivers/input/keyboard/aaed2000_kbd.c | 62 +++++++++------------------ 2 files changed, 21 insertions(+), 42 deletions(-) diff --git a/drivers/input/keyboard/Kconfig b/drivers/input/keyboard/Kconfig index e2851725646a..cbf2abb061ad 100644 --- a/drivers/input/keyboard/Kconfig +++ b/drivers/input/keyboard/Kconfig @@ -215,6 +215,7 @@ config KEYBOARD_PXA27x config KEYBOARD_AAED2000 tristate "AAED-2000 keyboard" depends on MACH_AAED2000 + select INPUT_POLLDEV default y help 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 @@ #include #include #include -#include +#include #include #include #include #include -#include #include #include @@ -46,8 +45,7 @@ static unsigned char aaedkbd_keycode[NR_SCANCODES] = { struct aaedkbd { unsigned char keycode[ARRAY_SIZE(aaedkbd_keycode)]; - struct input_dev *input; - struct work_struct workq; + struct input_polled_dev *poll_dev; int kbdscan_state[KB_COLS]; int kbdscan_count[KB_COLS]; }; @@ -64,14 +62,15 @@ static void aaedkbd_report_col(struct aaedkbd *aaedkbd, scancode = SCANCODE(row, col); pressed = rowd & KB_ROWMASK(row); - input_report_key(aaedkbd->input, aaedkbd->keycode[scancode], pressed); + input_report_key(aaedkbd->poll_dev->input, + aaedkbd->keycode[scancode], pressed); } } /* Scan the hardware keyboard and push any changes up through the input layer */ -static void aaedkbd_work(void *data) +static void aaedkbd_poll(struct input_polled_dev *dev) { - struct aaedkbd *aaedkbd = data; + struct aaedkbd *aaedkbd = dev->private; unsigned int col, rowd; col = 0; @@ -90,51 +89,34 @@ static void aaedkbd_work(void *data) } while (col < KB_COLS); AAEC_GPIO_KSCAN = 0x07; - input_sync(aaedkbd->input); - - schedule_delayed_work(&aaedkbd->workq, msecs_to_jiffies(SCAN_INTERVAL)); -} - -static int aaedkbd_open(struct input_dev *indev) -{ - struct aaedkbd *aaedkbd = input_get_drvdata(indev); - - schedule_delayed_work(&aaedkbd->workq, msecs_to_jiffies(SCAN_INTERVAL)); - - return 0; -} - -static void aaedkbd_close(struct input_dev *indev) -{ - struct aaedkbd *aaedkbd = input_get_drvdata(indev); - - cancel_delayed_work(&aaedkbd->workq); - flush_scheduled_work(); + input_sync(dev->input); } static int __devinit aaedkbd_probe(struct platform_device *pdev) { struct aaedkbd *aaedkbd; + struct input_polled_dev *poll_dev; struct input_dev *input_dev; int i; int error; aaedkbd = kzalloc(sizeof(struct aaedkbd), GFP_KERNEL); - input_dev = input_allocate_device(); - if (!aaedkbd || !input_dev) { + poll_dev = input_allocate_polled_device(); + if (!aaedkbd || !poll_dev) { error = -ENOMEM; goto fail; } platform_set_drvdata(pdev, aaedkbd); - aaedkbd->input = input_dev; - - /* Init keyboard rescan workqueue */ - INIT_WORK(&aaedkbd->workq, aaedkbd_work, aaedkbd); - + aaedkbd->poll_dev = poll_dev; memcpy(aaedkbd->keycode, aaedkbd_keycode, sizeof(aaedkbd->keycode)); + poll_dev->private = aaedkbd; + poll_dev->poll = aaedkbd_poll; + poll_dev->poll_interval = SCAN_INTERVAL; + + input_dev = poll_dev->input; input_dev->name = "AAED-2000 Keyboard"; input_dev->phys = "aaedkbd/input0"; input_dev->id.bustype = BUS_HOST; @@ -143,8 +125,6 @@ static int __devinit aaedkbd_probe(struct platform_device *pdev) input_dev->id.version = 0x0100; input_dev->dev.parent = &pdev->dev; - input_set_drvdata(input_dev, aaedkbd); - input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_REP); input_dev->keycode = aaedkbd->keycode; input_dev->keycodesize = sizeof(unsigned char); @@ -154,17 +134,14 @@ static int __devinit aaedkbd_probe(struct platform_device *pdev) set_bit(aaedkbd->keycode[i], input_dev->keybit); clear_bit(0, input_dev->keybit); - input_dev->open = aaedkbd_open; - input_dev->close = aaedkbd_close; - - error = input_register_device(aaedkbd->input); + error = input_register_polled_device(aaedkbd->poll_dev); if (error) goto fail; return 0; fail: kfree(aaedkbd); - input_free_device(input_dev); + input_free_polled_device(poll_dev); return error; } @@ -172,7 +149,8 @@ static int __devexit aaedkbd_remove(struct platform_device *pdev) { struct aaedkbd *aaedkbd = platform_get_drvdata(pdev); - input_unregister_device(aaedkbd->input); + input_unregister_polled_device(aaedkbd->poll_dev); + input_free_polled_device(aaedkbd->poll_dev); kfree(aaedkbd); return 0; From d2ada5597d33a9108acb2caf912f85cbc9caab1e Mon Sep 17 00:00:00 2001 From: Roland Scheidegger Date: Tue, 8 May 2007 01:31:40 -0400 Subject: [PATCH 09/14] Input: i8042 - fix AUX port detection with some chips The i8042 driver fails detection of the AUX port with some chips, because they apparently do not change the I8042_CTR_AUXDIS bit immediately. This is known to affect at least HP500/HP510 notebooks, consequently the built-in touchpad will not work. The patch will simply reread the value until it gets the expected value or a retry limit is hit, without touching other workaround code in the same area. Signed-off-by: Roland Scheidegger Signed-off-by: Dmitry Torokhov --- drivers/input/serio/i8042.c | 35 +++++++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 6 deletions(-) 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) return IRQ_HANDLED; } +/* + * i8042_toggle_aux - enables or disables AUX port on i8042 via command and + * verifies success by readinng CTR. Used when testing for presence of AUX + * port. + */ +static int __devinit i8042_toggle_aux(int on) +{ + unsigned char param; + int i; + + if (i8042_command(¶m, + on ? I8042_CMD_AUX_ENABLE : I8042_CMD_AUX_DISABLE)) + return -1; + + /* some chips need some time to set the I8042_CTR_AUXDIS bit */ + for (i = 0; i < 100; i++) { + udelay(50); + + if (i8042_command(¶m, I8042_CMD_CTL_RCTR)) + return -1; + + if (!(param & I8042_CTR_AUXDIS) == on) + return 0; + } + + return -1; +} /* * i8042_check_aux() applies as much paranoia as it can at detecting @@ -580,16 +607,12 @@ static int __devinit i8042_check_aux(void) * Bit assignment test - filters out PS/2 i8042's in AT mode */ - if (i8042_command(¶m, I8042_CMD_AUX_DISABLE)) - return -1; - if (i8042_command(¶m, I8042_CMD_CTL_RCTR) || (~param & I8042_CTR_AUXDIS)) { + if (i8042_toggle_aux(0)) { printk(KERN_WARNING "Failed to disable AUX port, but continuing anyway... Is this a SiS?\n"); printk(KERN_WARNING "If AUX port is really absent please use the 'i8042.noaux' option.\n"); } - if (i8042_command(¶m, I8042_CMD_AUX_ENABLE)) - return -1; - if (i8042_command(¶m, I8042_CMD_CTL_RCTR) || (param & I8042_CTR_AUXDIS)) + if (i8042_toggle_aux(1)) return -1; /* From 4104d13fe0194736393d97c88ee045fb689c783b Mon Sep 17 00:00:00 2001 From: Dmitry Torokhov Date: Mon, 7 May 2007 16:16:29 -0400 Subject: [PATCH 10/14] Input: move USB tablets under drivers/input/tablet This will allow concentrating all input devices in one place in {menu|x|q}config. Signed-off-by: Dmitry Torokhov Acked-by: Greg Kroah-Hartman --- drivers/input/Kconfig | 2 + drivers/input/Makefile | 1 + drivers/input/tablet/Kconfig | 74 +++++++++++++++++++ drivers/input/tablet/Makefile | 12 +++ drivers/{usb/input => input/tablet}/acecad.c | 0 drivers/{usb/input => input/tablet}/aiptek.c | 0 drivers/{usb/input => input/tablet}/gtco.c | 0 drivers/{usb/input => input/tablet}/kbtab.c | 0 drivers/{usb/input => input/tablet}/wacom.h | 2 +- .../{usb/input => input/tablet}/wacom_sys.c | 2 +- .../{usb/input => input/tablet}/wacom_wac.c | 2 +- .../{usb/input => input/tablet}/wacom_wac.h | 2 +- drivers/usb/Makefile | 4 - drivers/usb/input/Kconfig | 60 --------------- drivers/usb/input/Makefile | 8 -- 15 files changed, 93 insertions(+), 76 deletions(-) create mode 100644 drivers/input/tablet/Kconfig create mode 100644 drivers/input/tablet/Makefile rename drivers/{usb/input => input/tablet}/acecad.c (100%) rename drivers/{usb/input => input/tablet}/aiptek.c (100%) rename drivers/{usb/input => input/tablet}/gtco.c (100%) rename drivers/{usb/input => input/tablet}/kbtab.c (100%) rename drivers/{usb/input => input/tablet}/wacom.h (99%) rename drivers/{usb/input => input/tablet}/wacom_sys.c (99%) rename drivers/{usb/input => input/tablet}/wacom_wac.c (99%) rename drivers/{usb/input => input/tablet}/wacom_wac.h (95%) 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" source "drivers/input/joystick/Kconfig" +source "drivers/input/tablet/Kconfig" + source "drivers/input/touchscreen/Kconfig" 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 obj-$(CONFIG_INPUT_KEYBOARD) += keyboard/ obj-$(CONFIG_INPUT_MOUSE) += mouse/ obj-$(CONFIG_INPUT_JOYSTICK) += joystick/ +obj-$(CONFIG_INPUT_TABLET) += tablet/ obj-$(CONFIG_INPUT_TOUCHSCREEN) += touchscreen/ obj-$(CONFIG_INPUT_MISC) += misc/ 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 @@ +# +# Tablet driver configuration +# +menuconfig INPUT_TABLET + bool "Tablets" + help + Say Y here, and a list of supported tablets will be displayed. + This option doesn't affect the kernel. + + If unsure, say Y. + +if INPUT_TABLET + +config TABLET_USB_ACECAD + tristate "Acecad Flair tablet support (USB)" + select USB + help + Say Y here if you want to use the USB version of the Acecad Flair + tablet. Make sure to say Y to "Mouse support" + (CONFIG_INPUT_MOUSEDEV) and/or "Event interface support" + (CONFIG_INPUT_EVDEV) as well. + + To compile this driver as a module, choose M here: the + module will be called acecad. + +config TABLET_USB_AIPTEK + tristate "Aiptek 6000U/8000U tablet support (USB)" + select USB + help + Say Y here if you want to use the USB version of the Aiptek 6000U + or Aiptek 8000U tablet. Make sure to say Y to "Mouse support" + (CONFIG_INPUT_MOUSEDEV) and/or "Event interface support" + (CONFIG_INPUT_EVDEV) as well. + + To compile this driver as a module, choose M here: the + module will be called aiptek. + +config TABLET_USB_GTCO + tristate "GTCO CalComp/InterWrite USB Support" + depends on USB && INPUT + help + Say Y here if you want to use the USB version of the GTCO + CalComp/InterWrite Tablet. Make sure to say Y to "Mouse support" + (CONFIG_INPUT_MOUSEDEV) and/or "Event interface support" + (CONFIG_INPUT_EVDEV) as well. + + To compile this driver as a module, choose M here: the + module will be called gtco. + +config TABLET_USB_KBTAB + tristate "KB Gear JamStudio tablet support (USB)" + select USB + help + Say Y here if you want to use the USB version of the KB Gear + JamStudio tablet. Make sure to say Y to "Mouse support" + (CONFIG_INPUT_MOUSEDEV) and/or "Event interface support" + (CONFIG_INPUT_EVDEV) as well. + + To compile this driver as a module, choose M here: the + module will be called kbtab. + +config TABLET_USB_WACOM + tristate "Wacom Intuos/Graphire tablet support (USB)" + select USB + help + Say Y here if you want to use the USB version of the Wacom Intuos + or Graphire tablet. Make sure to say Y to "Mouse support" + (CONFIG_INPUT_MOUSEDEV) and/or "Event interface support" + (CONFIG_INPUT_EVDEV) as well. + + To compile this driver as a module, choose M here: the + module will be called wacom. + +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 @@ +# +# Makefile for the tablet drivers +# + +# Multipart objects. +wacom-objs := wacom_wac.o wacom_sys.o + +obj-$(CONFIG_TABLET_USB_ACECAD) += acecad.o +obj-$(CONFIG_TABLET_USB_AIPTEK) += aiptek.o +obj-$(CONFIG_TABLET_USB_GTCO) += gtco.o +obj-$(CONFIG_TABLET_USB_KBTAB) += kbtab.o +obj-$(CONFIG_TABLET_USB_WACOM) += wacom.o diff --git a/drivers/usb/input/acecad.c b/drivers/input/tablet/acecad.c similarity index 100% rename from drivers/usb/input/acecad.c rename to drivers/input/tablet/acecad.c diff --git a/drivers/usb/input/aiptek.c b/drivers/input/tablet/aiptek.c similarity index 100% rename from drivers/usb/input/aiptek.c rename to drivers/input/tablet/aiptek.c diff --git a/drivers/usb/input/gtco.c b/drivers/input/tablet/gtco.c similarity index 100% rename from drivers/usb/input/gtco.c rename to drivers/input/tablet/gtco.c diff --git a/drivers/usb/input/kbtab.c b/drivers/input/tablet/kbtab.c similarity index 100% rename from drivers/usb/input/kbtab.c rename to drivers/input/tablet/kbtab.c diff --git a/drivers/usb/input/wacom.h b/drivers/input/tablet/wacom.h similarity index 99% rename from drivers/usb/input/wacom.h rename to 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 @@ /* - * drivers/usb/input/wacom.h + * drivers/input/tablet/wacom.h * * USB Wacom Graphire and Wacom Intuos tablet support * diff --git a/drivers/usb/input/wacom_sys.c b/drivers/input/tablet/wacom_sys.c similarity index 99% rename from drivers/usb/input/wacom_sys.c rename to 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 @@ /* - * drivers/usb/input/wacom_sys.c + * drivers/input/tablet/wacom_sys.c * * USB Wacom Graphire and Wacom Intuos tablet support - system specific code */ diff --git a/drivers/usb/input/wacom_wac.c b/drivers/input/tablet/wacom_wac.c similarity index 99% rename from drivers/usb/input/wacom_wac.c rename to 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 @@ /* - * drivers/usb/input/wacom_wac.c + * drivers/input/tablet/wacom_wac.c * * USB Wacom Graphire and Wacom Intuos tablet support - Wacom specific code * diff --git a/drivers/usb/input/wacom_wac.h b/drivers/input/tablet/wacom_wac.h similarity index 95% rename from drivers/usb/input/wacom_wac.h rename to drivers/input/tablet/wacom_wac.h index 89793666ee8a..a5e12e8756de 100644 --- a/drivers/usb/input/wacom_wac.h +++ b/drivers/input/tablet/wacom_wac.h @@ -1,5 +1,5 @@ /* - * drivers/usb/input/wacom_wac.h + * drivers/input/tablet/wacom_wac.h * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/drivers/usb/Makefile b/drivers/usb/Makefile index f5de58a63f2b..f7865669de35 100644 --- a/drivers/usb/Makefile +++ b/drivers/usb/Makefile @@ -23,13 +23,9 @@ obj-$(CONFIG_USB_PRINTER) += class/ obj-$(CONFIG_USB_STORAGE) += storage/ obj-$(CONFIG_USB) += storage/ -obj-$(CONFIG_USB_ACECAD) += input/ -obj-$(CONFIG_USB_AIPTEK) += input/ obj-$(CONFIG_USB_ATI_REMOTE) += input/ -obj-$(CONFIG_USB_KBTAB) += input/ obj-$(CONFIG_USB_MTOUCH) += input/ obj-$(CONFIG_USB_POWERMATE) += input/ -obj-$(CONFIG_USB_WACOM) += input/ obj-$(CONFIG_USB_XPAD) += input/ obj-$(CONFIG_USB_CATC) += net/ diff --git a/drivers/usb/input/Kconfig b/drivers/usb/input/Kconfig index a792e42f58af..86cad900c659 100644 --- a/drivers/usb/input/Kconfig +++ b/drivers/usb/input/Kconfig @@ -4,54 +4,6 @@ comment "USB Input Devices" depends on USB -config USB_AIPTEK - tristate "Aiptek 6000U/8000U tablet support" - depends on USB && INPUT - help - Say Y here if you want to use the USB version of the Aiptek 6000U - or Aiptek 8000U tablet. Make sure to say Y to "Mouse support" - (CONFIG_INPUT_MOUSEDEV) and/or "Event interface support" - (CONFIG_INPUT_EVDEV) as well. - - To compile this driver as a module, choose M here: the - module will be called aiptek. - -config USB_WACOM - tristate "Wacom Intuos/Graphire tablet support" - depends on USB && INPUT - help - Say Y here if you want to use the USB version of the Wacom Intuos - or Graphire tablet. Make sure to say Y to "Mouse support" - (CONFIG_INPUT_MOUSEDEV) and/or "Event interface support" - (CONFIG_INPUT_EVDEV) as well. - - To compile this driver as a module, choose M here: the - module will be called wacom. - -config USB_ACECAD - tristate "Acecad Flair tablet support" - depends on USB && INPUT - help - Say Y here if you want to use the USB version of the Acecad Flair - tablet. Make sure to say Y to "Mouse support" - (CONFIG_INPUT_MOUSEDEV) and/or "Event interface support" - (CONFIG_INPUT_EVDEV) as well. - - To compile this driver as a module, choose M here: the - module will be called acecad. - -config USB_KBTAB - tristate "KB Gear JamStudio tablet support" - depends on USB && INPUT - help - Say Y here if you want to use the USB version of the KB Gear - JamStudio tablet. Make sure to say Y to "Mouse support" - (CONFIG_INPUT_MOUSEDEV) and/or "Event interface support" - (CONFIG_INPUT_EVDEV) as well. - - To compile this driver as a module, choose M here: the - module will be called kbtab. - config USB_POWERMATE tristate "Griffin PowerMate and Contour Jog support" depends on USB && INPUT @@ -211,15 +163,3 @@ config USB_APPLETOUCH To compile this driver as a module, choose M here: the module will be called appletouch. - -config USB_GTCO - tristate "GTCO CalComp/InterWrite USB Support" - depends on USB && INPUT - ---help--- - Say Y here if you want to use the USB version of the GTCO - CalComp/InterWrite Tablet. Make sure to say Y to "Mouse support" - (CONFIG_INPUT_MOUSEDEV) and/or "Event interface support" - (CONFIG_INPUT_EVDEV) as well. - - To compile this driver as a module, choose M here: the - module will be called gtco. diff --git a/drivers/usb/input/Makefile b/drivers/usb/input/Makefile index 284a0734e0cd..a9e9b2fc5e72 100644 --- a/drivers/usb/input/Makefile +++ b/drivers/usb/input/Makefile @@ -2,22 +2,14 @@ # Makefile for the USB input drivers # -# Multipart objects. -wacom-objs := wacom_wac.o wacom_sys.o - -obj-$(CONFIG_USB_AIPTEK) += aiptek.o obj-$(CONFIG_USB_ATI_REMOTE) += ati_remote.o obj-$(CONFIG_USB_ATI_REMOTE2) += ati_remote2.o -obj-$(CONFIG_USB_KBTAB) += kbtab.o obj-$(CONFIG_USB_KEYSPAN_REMOTE) += keyspan_remote.o obj-$(CONFIG_USB_TOUCHSCREEN) += usbtouchscreen.o obj-$(CONFIG_USB_POWERMATE) += powermate.o -obj-$(CONFIG_USB_WACOM) += wacom.o -obj-$(CONFIG_USB_ACECAD) += acecad.o obj-$(CONFIG_USB_YEALINK) += yealink.o obj-$(CONFIG_USB_XPAD) += xpad.o obj-$(CONFIG_USB_APPLETOUCH) += appletouch.o -obj-$(CONFIG_USB_GTCO) += gtco.o ifeq ($(CONFIG_USB_DEBUG),y) EXTRA_CFLAGS += -DDEBUG From d05e84e6cb21cca16987813fd3c271ebaed4233d Mon Sep 17 00:00:00 2001 From: Dmitry Torokhov Date: Mon, 7 May 2007 16:38:49 -0400 Subject: [PATCH 11/14] Input: move USB touchscreens under drivers/input/touchscreen This will allow concentrating all input devices in one place in {menu|x|q}config. Signed-off-by: Dmitry Torokhov Acked-by: Greg Kroah-Hartman --- drivers/input/touchscreen/Kconfig | 60 ++++++++++++++++++- drivers/input/touchscreen/Makefile | 17 +++--- .../touchscreen}/usbtouchscreen.c | 0 drivers/usb/Makefile | 1 - drivers/usb/input/Kconfig | 54 ----------------- drivers/usb/input/Makefile | 1 - 6 files changed, 66 insertions(+), 67 deletions(-) rename drivers/{usb/input => input/touchscreen}/usbtouchscreen.c (100%) 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 @@ # -# Mouse driver configuration +# Touchscreen driver configuration # menuconfig INPUT_TOUCHSCREEN bool "Touchscreens" @@ -44,9 +44,9 @@ config TOUCHSCREEN_BITSY config TOUCHSCREEN_CORGI tristate "SharpSL (Corgi and Spitz series) touchscreen driver" depends on PXA_SHARPSL - default y + default y help - Say Y here to enable the driver for the touchscreen on the + Say Y here to enable the driver for the touchscreen on the Sharp SL-C7xx and SL-Cxx00 series of PDAs. If unsure, say N. @@ -164,4 +164,58 @@ config TOUCHSCREEN_UCB1400 To compile this driver as a module, choose M here: the module will be called ucb1400_ts. +config TOUCHSCREEN_USB_COMPOSITE + tristate "USB Touchscreen Driver" + select USB + help + USB Touchscreen driver for: + - eGalax Touchkit USB (also includes eTurboTouch CT-410/510/700) + - PanJit TouchSet USB + - 3M MicroTouch USB (EX II series) + - ITM + - some other eTurboTouch + - Gunze AHL61 + - DMC TSC-10/25 + + Have a look at for + a usage description and the required user-space stuff. + + To compile this driver as a module, choose M here: the + module will be called usbtouchscreen. + +config TOUCHSCREEN_USB_EGALAX + default y + bool "eGalax, eTurboTouch CT-410/510/700 device support" if EMBEDDED + depends on TOUCHSCREEN_USB_COMPOSITE + +config TOUCHSCREEN_USB_PANJIT + default y + bool "PanJit device support" if EMBEDDED + depends on TOUCHSCREEN_USB_COMPOSITE + +config TOUCHSCREEN_USB_3M + default y + bool "3M/Microtouch EX II series device support" if EMBEDDED + depends on TOUCHSCREEN_USB_COMPOSITE + +config TOUCHSCREEN_USB_ITM + default y + bool "ITM device support" if EMBEDDED + depends on TOUCHSCREEN_USB_COMPOSITE + +config TOUCHSCREEN_USB_ETURBO + default y + bool "eTurboTouch (non-eGalax compatible) device support" if EMBEDDED + depends on TOUCHSCREEN_USB_COMPOSITE + +config TOUCHSCREEN_USB_GUNZE + default y + bool "Gunze AHL61 device support" if EMBEDDED + depends on TOUCHSCREEN_USB_COMPOSITE + +config TOUCHSCREEN_USB_DMC_TSC10 + default y + bool "DMC TSC-10/25 device support" if EMBEDDED + depends on TOUCHSCREEN_USB_COMPOSITE + 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 @@ # -# Makefile for the mouse drivers. +# Makefile for the touchscreen drivers. # # Each configuration option enables a list of files. obj-$(CONFIG_TOUCHSCREEN_ADS7846) += ads7846.o -obj-$(CONFIG_TOUCHSCREEN_BITSY) += h3600_ts_input.o -obj-$(CONFIG_TOUCHSCREEN_CORGI) += corgi_ts.o -obj-$(CONFIG_TOUCHSCREEN_GUNZE) += gunze.o -obj-$(CONFIG_TOUCHSCREEN_ELO) += elo.o -obj-$(CONFIG_TOUCHSCREEN_MTOUCH) += mtouch.o -obj-$(CONFIG_TOUCHSCREEN_MK712) += mk712.o -obj-$(CONFIG_TOUCHSCREEN_HP600) += hp680_ts_input.o +obj-$(CONFIG_TOUCHSCREEN_BITSY) += h3600_ts_input.o +obj-$(CONFIG_TOUCHSCREEN_CORGI) += corgi_ts.o +obj-$(CONFIG_TOUCHSCREEN_GUNZE) += gunze.o +obj-$(CONFIG_TOUCHSCREEN_ELO) += elo.o +obj-$(CONFIG_TOUCHSCREEN_MTOUCH) += mtouch.o +obj-$(CONFIG_TOUCHSCREEN_MK712) += mk712.o +obj-$(CONFIG_TOUCHSCREEN_HP600) += hp680_ts_input.o +obj-$(CONFIG_TOUCHSCREEN_USB_COMPOSITE) += usbtouchscreen.o obj-$(CONFIG_TOUCHSCREEN_PENMOUNT) += penmount.o obj-$(CONFIG_TOUCHSCREEN_TOUCHRIGHT) += touchright.o obj-$(CONFIG_TOUCHSCREEN_TOUCHWIN) += touchwin.o diff --git a/drivers/usb/input/usbtouchscreen.c b/drivers/input/touchscreen/usbtouchscreen.c similarity index 100% rename from drivers/usb/input/usbtouchscreen.c rename to drivers/input/touchscreen/usbtouchscreen.c diff --git a/drivers/usb/Makefile b/drivers/usb/Makefile index f7865669de35..2b6caf674e4a 100644 --- a/drivers/usb/Makefile +++ b/drivers/usb/Makefile @@ -24,7 +24,6 @@ obj-$(CONFIG_USB_STORAGE) += storage/ obj-$(CONFIG_USB) += storage/ obj-$(CONFIG_USB_ATI_REMOTE) += input/ -obj-$(CONFIG_USB_MTOUCH) += input/ obj-$(CONFIG_USB_POWERMATE) += input/ obj-$(CONFIG_USB_XPAD) += input/ diff --git a/drivers/usb/input/Kconfig b/drivers/usb/input/Kconfig index 86cad900c659..68109a02b6cd 100644 --- a/drivers/usb/input/Kconfig +++ b/drivers/usb/input/Kconfig @@ -19,60 +19,6 @@ config USB_POWERMATE To compile this driver as a module, choose M here: the module will be called powermate. -config USB_TOUCHSCREEN - tristate "USB Touchscreen Driver" - depends on USB && INPUT - ---help--- - USB Touchscreen driver for: - - eGalax Touchkit USB (also includes eTurboTouch CT-410/510/700) - - PanJit TouchSet USB - - 3M MicroTouch USB (EX II series) - - ITM - - some other eTurboTouch - - Gunze AHL61 - - DMC TSC-10/25 - - Have a look at for - a usage description and the required user-space stuff. - - To compile this driver as a module, choose M here: the - module will be called usbtouchscreen. - -config USB_TOUCHSCREEN_EGALAX - default y - bool "eGalax, eTurboTouch CT-410/510/700 device support" if EMBEDDED - depends on USB_TOUCHSCREEN - -config USB_TOUCHSCREEN_PANJIT - default y - bool "PanJit device support" if EMBEDDED - depends on USB_TOUCHSCREEN - -config USB_TOUCHSCREEN_3M - default y - bool "3M/Microtouch EX II series device support" if EMBEDDED - depends on USB_TOUCHSCREEN - -config USB_TOUCHSCREEN_ITM - default y - bool "ITM device support" if EMBEDDED - depends on USB_TOUCHSCREEN - -config USB_TOUCHSCREEN_ETURBO - default y - bool "eTurboTouch (non-eGalax compatible) device support" if EMBEDDED - depends on USB_TOUCHSCREEN - -config USB_TOUCHSCREEN_GUNZE - default y - bool "Gunze AHL61 device support" if EMBEDDED - depends on USB_TOUCHSCREEN - -config USB_TOUCHSCREEN_DMC_TSC10 - default y - bool "DMC TSC-10/25 device support" if EMBEDDED - depends on USB_TOUCHSCREEN - config USB_YEALINK tristate "Yealink usb-p1k voip phone" depends on USB && INPUT && EXPERIMENTAL diff --git a/drivers/usb/input/Makefile b/drivers/usb/input/Makefile index a9e9b2fc5e72..c8b843ce167c 100644 --- a/drivers/usb/input/Makefile +++ b/drivers/usb/input/Makefile @@ -5,7 +5,6 @@ obj-$(CONFIG_USB_ATI_REMOTE) += ati_remote.o obj-$(CONFIG_USB_ATI_REMOTE2) += ati_remote2.o obj-$(CONFIG_USB_KEYSPAN_REMOTE) += keyspan_remote.o -obj-$(CONFIG_USB_TOUCHSCREEN) += usbtouchscreen.o obj-$(CONFIG_USB_POWERMATE) += powermate.o obj-$(CONFIG_USB_YEALINK) += yealink.o obj-$(CONFIG_USB_XPAD) += xpad.o From 1c362d46825259a48c1d543cab3805a6c770c0c8 Mon Sep 17 00:00:00 2001 From: Dmitry Torokhov Date: Mon, 7 May 2007 16:48:50 -0400 Subject: [PATCH 12/14] Input: move USB gamepads under drivers/input/joystick This will allow concentrating all input devices in one place in {menu|x|q}config. Signed-off-by: Dmitry Torokhov Acked-by: Greg Kroah-Hartman --- drivers/input/joystick/Kconfig | 18 ++++++++++++++++-- drivers/input/joystick/Makefile | 1 + drivers/{usb/input => input/joystick}/xpad.c | 0 drivers/usb/Makefile | 1 - drivers/usb/input/Kconfig | 14 -------------- drivers/usb/input/Makefile | 1 - 6 files changed, 17 insertions(+), 18 deletions(-) rename drivers/{usb/input => input/joystick}/xpad.c (100%) 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 @@ # Joystick driver configuration # menuconfig INPUT_JOYSTICK - bool "Joysticks" + bool "Joysticks/Gamepads" help If you have a joystick, 6dof controller, gamepad, steering wheel, weapon control system or something like that you can say Y here @@ -196,7 +196,7 @@ config JOYSTICK_TWIDJOY config JOYSTICK_DB9 tristate "Multisystem, Sega Genesis, Saturn joysticks and gamepads" depends on PARPORT - ---help--- + help Say Y here if you have a Sega Master System gamepad, Sega Genesis gamepad, Sega Saturn gamepad, or a Multisystem -- Atari, Amiga, Commodore, Amstrad CPC joystick connected to your parallel port. @@ -253,4 +253,18 @@ config JOYSTICK_JOYDUMP To compile this driver as a module, choose M here: the module will be called joydump. +config JOYSTICK_XPAD + tristate "X-Box gamepad support" + select USB + help + Say Y here if you want to use the X-Box pad with your computer. + Make sure to say Y to "Joystick support" (CONFIG_INPUT_JOYDEV) + and/or "Event interface support" (CONFIG_INPUT_EVDEV) as well. + + For information about how to connect the X-Box pad to USB, see + . + + To compile this driver as a module, choose M here: the + module will be called xpad. + 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 obj-$(CONFIG_JOYSTICK_TURBOGRAFX) += turbografx.o obj-$(CONFIG_JOYSTICK_TWIDJOY) += twidjoy.o obj-$(CONFIG_JOYSTICK_WARRIOR) += warrior.o +obj-$(CONFIG_JOYSTICK_XPAD) += xpad.o obj-$(CONFIG_JOYSTICK_IFORCE) += iforce/ diff --git a/drivers/usb/input/xpad.c b/drivers/input/joystick/xpad.c similarity index 100% rename from drivers/usb/input/xpad.c rename to drivers/input/joystick/xpad.c diff --git a/drivers/usb/Makefile b/drivers/usb/Makefile index 2b6caf674e4a..7059a64637a8 100644 --- a/drivers/usb/Makefile +++ b/drivers/usb/Makefile @@ -25,7 +25,6 @@ obj-$(CONFIG_USB) += storage/ obj-$(CONFIG_USB_ATI_REMOTE) += input/ obj-$(CONFIG_USB_POWERMATE) += input/ -obj-$(CONFIG_USB_XPAD) += input/ obj-$(CONFIG_USB_CATC) += net/ obj-$(CONFIG_USB_KAWETH) += net/ diff --git a/drivers/usb/input/Kconfig b/drivers/usb/input/Kconfig index 68109a02b6cd..19228780ed84 100644 --- a/drivers/usb/input/Kconfig +++ b/drivers/usb/input/Kconfig @@ -33,20 +33,6 @@ config USB_YEALINK To compile this driver as a module, choose M here: the module will be called yealink. -config USB_XPAD - tristate "X-Box gamepad support" - depends on USB && INPUT - ---help--- - Say Y here if you want to use the X-Box pad with your computer. - Make sure to say Y to "Joystick support" (CONFIG_INPUT_JOYDEV) - and/or "Event interface support" (CONFIG_INPUT_EVDEV) as well. - - For information about how to connect the X-Box pad to USB, see - . - - To compile this driver as a module, choose M here: the - module will be called xpad. - config USB_ATI_REMOTE tristate "ATI / X10 USB RF remote control" depends on USB && INPUT diff --git a/drivers/usb/input/Makefile b/drivers/usb/input/Makefile index c8b843ce167c..d2cbb0ec7963 100644 --- a/drivers/usb/input/Makefile +++ b/drivers/usb/input/Makefile @@ -7,7 +7,6 @@ obj-$(CONFIG_USB_ATI_REMOTE2) += ati_remote2.o obj-$(CONFIG_USB_KEYSPAN_REMOTE) += keyspan_remote.o obj-$(CONFIG_USB_POWERMATE) += powermate.o obj-$(CONFIG_USB_YEALINK) += yealink.o -obj-$(CONFIG_USB_XPAD) += xpad.o obj-$(CONFIG_USB_APPLETOUCH) += appletouch.o ifeq ($(CONFIG_USB_DEBUG),y) From b5da20f8f7652e7a9648401a1942b7aac3b9ab9d Mon Sep 17 00:00:00 2001 From: Dmitry Torokhov Date: Mon, 7 May 2007 17:12:07 -0400 Subject: [PATCH 13/14] Input: move USB mice under drivers/input/mouse This will allow concentrating all input devices in one place in {menu|x|q}config. Signed-off-by: Dmitry Torokhov Acked-by: Greg Kroah-Hartman --- drivers/input/mouse/Kconfig | 38 ++++++++++++++----- drivers/input/mouse/Makefile | 1 + .../{usb/input => input/mouse}/appletouch.c | 0 drivers/usb/input/Kconfig | 20 ---------- drivers/usb/input/Makefile | 1 - 5 files changed, 30 insertions(+), 30 deletions(-) rename drivers/{usb/input => input/mouse}/appletouch.c (100%) 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 @@ # Mouse driver configuration # menuconfig INPUT_MOUSE - bool "Mouse" + bool "Mice" default y help Say Y here, and a list of supported mice will be displayed. @@ -19,7 +19,7 @@ config MOUSE_PS2 select SERIO_LIBPS2 select SERIO_I8042 if X86_PC select SERIO_GSCPS2 if GSC - ---help--- + help Say Y here if you have a PS/2 mouse connected to your system. This includes the standard 2 or 3-button PS/2 mouse, as well as PS/2 mice with wheels and extra buttons, Microsoft, Logitech or Genius @@ -41,7 +41,7 @@ config MOUSE_PS2_ALPS bool "ALPS PS/2 mouse protocol extension" if EMBEDDED default y depends on MOUSE_PS2 - ---help--- + help Say Y here if you have an ALPS PS/2 touchpad connected to your system. @@ -51,7 +51,7 @@ config MOUSE_PS2_LOGIPS2PP bool "Logictech PS/2++ mouse protocol extension" if EMBEDDED default y depends on MOUSE_PS2 - ---help--- + help Say Y here if you have a Logictech PS/2++ mouse connected to your system. @@ -61,7 +61,7 @@ config MOUSE_PS2_SYNAPTICS bool "Synaptics PS/2 mouse protocol extension" if EMBEDDED default y depends on MOUSE_PS2 - ---help--- + help Say Y here if you have a Synaptics PS/2 TouchPad connected to your system. @@ -71,7 +71,7 @@ config MOUSE_PS2_LIFEBOOK bool "Fujitsu Lifebook PS/2 mouse protocol extension" if EMBEDDED default y depends on MOUSE_PS2 - ---help--- + help Say Y here if you have a Fujitsu B-series Lifebook PS/2 TouchScreen connected to your system. @@ -81,7 +81,7 @@ config MOUSE_PS2_TRACKPOINT bool "IBM Trackpoint PS/2 mouse protocol extension" if EMBEDDED default y depends on MOUSE_PS2 - ---help--- + help Say Y here if you have an IBM Trackpoint PS/2 mouse connected to your system. @@ -90,7 +90,7 @@ config MOUSE_PS2_TRACKPOINT config MOUSE_PS2_TOUCHKIT bool "eGalax TouchKit PS/2 protocol extension" depends on MOUSE_PS2 - ---help--- + help Say Y here if you have an eGalax TouchKit PS/2 touchscreen connected to your system. @@ -99,7 +99,7 @@ config MOUSE_PS2_TOUCHKIT config MOUSE_SERIAL tristate "Serial mouse" select SERIO - ---help--- + help Say Y here if you have a serial (RS-232, COM port) mouse connected to your system. This includes Sun, MouseSystems, Microsoft, Logitech and all other compatible serial mice. @@ -109,6 +109,26 @@ config MOUSE_SERIAL To compile this driver as a module, choose M here: the module will be called sermouse. +config MOUSE_APPLETOUCH + tristate "Apple USB Touchpad support" + select USB + help + Say Y here if you want to use an Apple USB Touchpad. + + These are the touchpads that can be found on post-February 2005 + Apple Powerbooks (prior models have a Synaptics touchpad connected + to the ADB bus). + + This driver provides a basic mouse driver but can be interfaced + with the synaptics X11 driver to provide acceleration and + scrolling in X11. + + For further information, see + . + + To compile this driver as a module, choose M here: the + module will be called appletouch. + config MOUSE_INPORT tristate "InPort/MS/ATIXL busmouse" 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 @@ # Each configuration option enables a list of files. obj-$(CONFIG_MOUSE_AMIGA) += amimouse.o +obj-$(CONFIG_MOUSE_APPLETOUCH) += appletouch.o obj-$(CONFIG_MOUSE_ATARI) += atarimouse.o obj-$(CONFIG_MOUSE_RISCPC) += rpcmouse.o obj-$(CONFIG_MOUSE_INPORT) += inport.o diff --git a/drivers/usb/input/appletouch.c b/drivers/input/mouse/appletouch.c similarity index 100% rename from drivers/usb/input/appletouch.c rename to drivers/input/mouse/appletouch.c diff --git a/drivers/usb/input/Kconfig b/drivers/usb/input/Kconfig index 19228780ed84..4959dcf3cb4d 100644 --- a/drivers/usb/input/Kconfig +++ b/drivers/usb/input/Kconfig @@ -75,23 +75,3 @@ config USB_KEYSPAN_REMOTE To compile this driver as a module, choose M here: the module will be called keyspan_remote. - -config USB_APPLETOUCH - tristate "Apple USB Touchpad support" - depends on USB && INPUT - ---help--- - Say Y here if you want to use an Apple USB Touchpad. - - These are the touchpads that can be found on post-February 2005 - Apple Powerbooks (prior models have a Synaptics touchpad connected - to the ADB bus). - - This driver provides a basic mouse driver but can be interfaced - with the synaptics X11 driver to provide acceleration and - scrolling in X11. - - For further information, see - . - - To compile this driver as a module, choose M here: the - module will be called appletouch. diff --git a/drivers/usb/input/Makefile b/drivers/usb/input/Makefile index d2cbb0ec7963..91df130909e6 100644 --- a/drivers/usb/input/Makefile +++ b/drivers/usb/input/Makefile @@ -7,7 +7,6 @@ obj-$(CONFIG_USB_ATI_REMOTE2) += ati_remote2.o obj-$(CONFIG_USB_KEYSPAN_REMOTE) += keyspan_remote.o obj-$(CONFIG_USB_POWERMATE) += powermate.o obj-$(CONFIG_USB_YEALINK) += yealink.o -obj-$(CONFIG_USB_APPLETOUCH) += appletouch.o ifeq ($(CONFIG_USB_DEBUG),y) EXTRA_CFLAGS += -DDEBUG From ba0acb5ee318901646f82c134cca2e4de0c43934 Mon Sep 17 00:00:00 2001 From: Dmitry Torokhov Date: Mon, 7 May 2007 17:31:32 -0400 Subject: [PATCH 14/14] Input: move USB miscellaneous devices under drivers/input/misc This will allow concentrating all input devices in one place in {menu|x|q}config. Signed-off-by: Dmitry Torokhov Acked-by: Greg Kroah-Hartman --- drivers/input/misc/Kconfig | 88 +++++++++++++++++-- drivers/input/misc/Makefile | 9 +- .../{usb/input => input/misc}/ati_remote.c | 0 .../{usb/input => input/misc}/ati_remote2.c | 0 .../input => input/misc}/keyspan_remote.c | 0 .../input => input/misc}/map_to_7segment.h | 0 drivers/{usb/input => input/misc}/powermate.c | 0 drivers/{usb/input => input/misc}/yealink.c | 2 +- drivers/{usb/input => input/misc}/yealink.h | 0 drivers/usb/Kconfig | 2 - drivers/usb/Makefile | 3 - drivers/usb/input/Kconfig | 77 ---------------- drivers/usb/input/Makefile | 13 --- 13 files changed, 89 insertions(+), 105 deletions(-) rename drivers/{usb/input => input/misc}/ati_remote.c (100%) rename drivers/{usb/input => input/misc}/ati_remote2.c (100%) rename drivers/{usb/input => input/misc}/keyspan_remote.c (100%) rename drivers/{usb/input => input/misc}/map_to_7segment.h (100%) rename drivers/{usb/input => input/misc}/powermate.c (100%) rename drivers/{usb/input => input/misc}/yealink.c (99%) rename drivers/{usb/input => input/misc}/yealink.h (100%) delete mode 100644 drivers/usb/input/Kconfig delete mode 100644 drivers/usb/input/Makefile 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 tristate "M68k Beeper support" depends on M68K +config INPUT_IXP4XX_BEEPER + tristate "IXP4XX Beeper support" + depends on ARCH_IXP4XX + help + If you say yes here, you can connect a beeper to the + ixp4xx gpio pins. This is used by the LinkSys NSLU2. + + If unsure, say Y. + + To compile this driver as a module, choose M here: the + module will be called ixp4xx-beeper. + config INPUT_COBALT_BTNS tristate "Cobalt button interface" depends on MIPS_COBALT @@ -70,17 +82,79 @@ config INPUT_ATLAS_BTNS To compile this driver as a module, choose M here: the module will be called atlas_btns. -config INPUT_IXP4XX_BEEPER - tristate "IXP4XX Beeper support" - depends on ARCH_IXP4XX +config INPUT_ATI_REMOTE + tristate "ATI / X10 USB RF remote control" + select USB help - If you say yes here, you can connect a beeper to the - ixp4xx gpio pins. This is used by the LinkSys NSLU2. + Say Y here if you want to use an ATI or X10 "Lola" USB remote control. + These are RF remotes with USB receivers. + The ATI remote comes with many of ATI's All-In-Wonder video cards. + The X10 "Lola" remote is available at: + + This driver provides mouse pointer, left and right mouse buttons, + and maps all the other remote buttons to keypress events. - If unsure, say Y. + To compile this driver as a module, choose M here: the module will be + called ati_remote. + +config INPUT_ATI_REMOTE2 + tristate "ATI / Philips USB RF remote control" + select USB + help + Say Y here if you want to use an ATI or Philips USB RF remote control. + These are RF remotes with USB receivers. + ATI Remote Wonder II comes with some ATI's All-In-Wonder video cards + and is also available as a separate product. + This driver provides mouse pointer, left and right mouse buttons, + and maps all the other remote buttons to keypress events. + + To compile this driver as a module, choose M here: the module will be + called ati_remote2. + +config INPUT_KEYSPAN_REMOTE + tristate "Keyspan DMR USB remote control (EXPERIMENTAL)" + depends on EXPERIMENTAL + select USB + help + Say Y here if you want to use a Keyspan DMR USB remote control. + Currently only the UIA-11 type of receiver has been tested. The tag + on the receiver that connects to the USB port should have a P/N that + will tell you what type of DMR you have. The UIA-10 type is not + supported at this time. This driver maps all buttons to keypress + events. + + To compile this driver as a module, choose M here: the module will + be called keyspan_remote. + +config INPUT_POWERMATE + tristate "Griffin PowerMate and Contour Jog support" + select USB + help + Say Y here if you want to use Griffin PowerMate or Contour Jog devices. + These are aluminum dials which can measure clockwise and anticlockwise + rotation. The dial also acts as a pushbutton. The base contains an LED + which can be instructed to pulse or to switch to a particular intensity. + + You can download userspace tools from + . To compile this driver as a module, choose M here: the - module will be called ixp4xx-beeper. + module will be called powermate. + +config INPUT_YEALINK + tristate "Yealink usb-p1k voip phone" + depends EXPERIMENTAL + select USB + help + Say Y here if you want to enable keyboard and LCD functions of the + Yealink usb-p1k usb phones. The audio part is enabled by the generic + usb sound driver, so you might want to enable that as well. + + For information about how to use these additional functions, see + . + + To compile this driver as a module, choose M here: the module will be + called yealink. config INPUT_UINPUT 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 obj-$(CONFIG_INPUT_SPARCSPKR) += sparcspkr.o obj-$(CONFIG_INPUT_PCSPKR) += pcspkr.o obj-$(CONFIG_INPUT_M68K_BEEP) += m68kspkr.o -obj-$(CONFIG_INPUT_UINPUT) += uinput.o +obj-$(CONFIG_INPUT_IXP4XX_BEEPER) += ixp4xx-beeper.o obj-$(CONFIG_INPUT_COBALT_BTNS) += cobalt_btns.o obj-$(CONFIG_INPUT_WISTRON_BTNS) += wistron_btns.o obj-$(CONFIG_INPUT_ATLAS_BTNS) += atlas_btns.o +obj-$(CONFIG_INPUT_ATI_REMOTE) += ati_remote.o +obj-$(CONFIG_INPUT_ATI_REMOTE2) += ati_remote2.o +obj-$(CONFIG_INPUT_KEYSPAN_REMOTE) += keyspan_remote.o +obj-$(CONFIG_INPUT_POWERMATE) += powermate.o +obj-$(CONFIG_INPUT_YEALINK) += yealink.o obj-$(CONFIG_HP_SDC_RTC) += hp_sdc_rtc.o -obj-$(CONFIG_INPUT_IXP4XX_BEEPER) += ixp4xx-beeper.o +obj-$(CONFIG_INPUT_UINPUT) += uinput.o diff --git a/drivers/usb/input/ati_remote.c b/drivers/input/misc/ati_remote.c similarity index 100% rename from drivers/usb/input/ati_remote.c rename to drivers/input/misc/ati_remote.c diff --git a/drivers/usb/input/ati_remote2.c b/drivers/input/misc/ati_remote2.c similarity index 100% rename from drivers/usb/input/ati_remote2.c rename to drivers/input/misc/ati_remote2.c diff --git a/drivers/usb/input/keyspan_remote.c b/drivers/input/misc/keyspan_remote.c similarity index 100% rename from drivers/usb/input/keyspan_remote.c rename to drivers/input/misc/keyspan_remote.c diff --git a/drivers/usb/input/map_to_7segment.h b/drivers/input/misc/map_to_7segment.h similarity index 100% rename from drivers/usb/input/map_to_7segment.h rename to drivers/input/misc/map_to_7segment.h diff --git a/drivers/usb/input/powermate.c b/drivers/input/misc/powermate.c similarity index 100% rename from drivers/usb/input/powermate.c rename to drivers/input/misc/powermate.c diff --git a/drivers/usb/input/yealink.c b/drivers/input/misc/yealink.c similarity index 99% rename from drivers/usb/input/yealink.c rename to drivers/input/misc/yealink.c index fc645b299189..ab15880fd566 100644 --- a/drivers/usb/input/yealink.c +++ b/drivers/input/misc/yealink.c @@ -29,7 +29,7 @@ * This driver is based on: * - the usbb2k-api http://savannah.nongnu.org/projects/usbb2k-api/ * - information from http://memeteau.free.fr/usbb2k - * - the xpad-driver drivers/usb/input/xpad.c + * - the xpad-driver drivers/input/joystick/xpad.c * * Thanks to: * - Olivier Vandorpe, for providing the usbb2k-api. diff --git a/drivers/usb/input/yealink.h b/drivers/input/misc/yealink.h similarity index 100% rename from drivers/usb/input/yealink.h rename to drivers/input/misc/yealink.h 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" source "drivers/usb/storage/Kconfig" -source "drivers/usb/input/Kconfig" - source "drivers/usb/image/Kconfig" source "drivers/usb/net/Kconfig" diff --git a/drivers/usb/Makefile b/drivers/usb/Makefile index 7059a64637a8..0ef090b1b37c 100644 --- a/drivers/usb/Makefile +++ b/drivers/usb/Makefile @@ -23,9 +23,6 @@ obj-$(CONFIG_USB_PRINTER) += class/ obj-$(CONFIG_USB_STORAGE) += storage/ obj-$(CONFIG_USB) += storage/ -obj-$(CONFIG_USB_ATI_REMOTE) += input/ -obj-$(CONFIG_USB_POWERMATE) += input/ - obj-$(CONFIG_USB_CATC) += net/ obj-$(CONFIG_USB_KAWETH) += net/ obj-$(CONFIG_USB_PEGASUS) += net/ diff --git a/drivers/usb/input/Kconfig b/drivers/usb/input/Kconfig deleted file mode 100644 index 4959dcf3cb4d..000000000000 --- a/drivers/usb/input/Kconfig +++ /dev/null @@ -1,77 +0,0 @@ -# -# USB Input driver configuration -# -comment "USB Input Devices" - depends on USB - -config USB_POWERMATE - tristate "Griffin PowerMate and Contour Jog support" - depends on USB && INPUT - ---help--- - Say Y here if you want to use Griffin PowerMate or Contour Jog devices. - These are aluminum dials which can measure clockwise and anticlockwise - rotation. The dial also acts as a pushbutton. The base contains an LED - which can be instructed to pulse or to switch to a particular intensity. - - You can download userspace tools from - . - - To compile this driver as a module, choose M here: the - module will be called powermate. - -config USB_YEALINK - tristate "Yealink usb-p1k voip phone" - depends on USB && INPUT && EXPERIMENTAL - ---help--- - Say Y here if you want to enable keyboard and LCD functions of the - Yealink usb-p1k usb phones. The audio part is enabled by the generic - usb sound driver, so you might want to enable that as well. - - For information about how to use these additional functions, see - . - - To compile this driver as a module, choose M here: the module will be - called yealink. - -config USB_ATI_REMOTE - tristate "ATI / X10 USB RF remote control" - depends on USB && INPUT - ---help--- - Say Y here if you want to use an ATI or X10 "Lola" USB remote control. - These are RF remotes with USB receivers. - The ATI remote comes with many of ATI's All-In-Wonder video cards. - The X10 "Lola" remote is available at: - - This driver provides mouse pointer, left and right mouse buttons, - and maps all the other remote buttons to keypress events. - - To compile this driver as a module, choose M here: the module will be - called ati_remote. - -config USB_ATI_REMOTE2 - tristate "ATI / Philips USB RF remote control" - depends on USB && INPUT - ---help--- - Say Y here if you want to use an ATI or Philips USB RF remote control. - These are RF remotes with USB receivers. - ATI Remote Wonder II comes with some ATI's All-In-Wonder video cards - and is also available as a separate product. - This driver provides mouse pointer, left and right mouse buttons, - and maps all the other remote buttons to keypress events. - - To compile this driver as a module, choose M here: the module will be - called ati_remote2. - -config USB_KEYSPAN_REMOTE - tristate "Keyspan DMR USB remote control (EXPERIMENTAL)" - depends on USB && INPUT && EXPERIMENTAL - ---help--- - Say Y here if you want to use a Keyspan DMR USB remote control. - Currently only the UIA-11 type of receiver has been tested. The tag - on the receiver that connects to the USB port should have a P/N that - will tell you what type of DMR you have. The UIA-10 type is not - supported at this time. This driver maps all buttons to keypress - events. - - To compile this driver as a module, choose M here: the module will - be called keyspan_remote. diff --git a/drivers/usb/input/Makefile b/drivers/usb/input/Makefile deleted file mode 100644 index 91df130909e6..000000000000 --- a/drivers/usb/input/Makefile +++ /dev/null @@ -1,13 +0,0 @@ -# -# Makefile for the USB input drivers -# - -obj-$(CONFIG_USB_ATI_REMOTE) += ati_remote.o -obj-$(CONFIG_USB_ATI_REMOTE2) += ati_remote2.o -obj-$(CONFIG_USB_KEYSPAN_REMOTE) += keyspan_remote.o -obj-$(CONFIG_USB_POWERMATE) += powermate.o -obj-$(CONFIG_USB_YEALINK) += yealink.o - -ifeq ($(CONFIG_USB_DEBUG),y) -EXTRA_CFLAGS += -DDEBUG -endif