aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/input/tablet
Commit message (Collapse)AuthorAge
* Input: wacom - specify Cinitq supported toolsPing Cheng2010-10-25
| | | | | | | | | Cintiq, being a display tablet, doesn't have mouse and associated BTN_s. Make sure we do not specify them when registering Cintiq's input device so that userland can retrieve the exact tool set the device supports. Signed-off-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: wacom - properly enable runtime PMDmitry Torokhov2010-10-18
| | | | | | | | | | | We need to always call usb_autopm_put_interface() in wacom_open(), not only when initialization fails, otherwise the device will be marked as PM-busy and will never be put in suspended state. Based on patch by Oliver Neukum. Acked-by: Oliver Neukum <oneukum@suse.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Merge branch 'for-linus' into nextDmitry Torokhov2010-10-18
|\
| * Input: wacom - fix pressure in Cintiq 21UX2Aristeu Rozanski2010-10-10
| | | | | | | | | | | | | | | | | | | | Currently the pressure range in Cintiq 21UX2 is limited to half of the supported. This patch fixes the problem. Signed-off-by: Aristeu Rozanski <aris@redhat.com> Acked-by: Ping Cheng <pingc@wacom.com> CC: stable@kernel.org Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: wacom - fix runtime PM related deadlockDmitry Torokhov2010-10-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When runtime PM is enabled by default for input devices, X hangs in wacom open: [<ffffffff814a00ea>] mutex_lock+0x1a/0x40 [<ffffffffa02bc94b>] wacom_resume+0x3b/0x90 [wacom] [<ffffffff81327a32>] usb_resume_interface+0xd2/0x190 [<ffffffff81327b5d>] usb_resume_both+0x6d/0x110 [<ffffffff81327c24>] usb_runtime_resume+0x24/0x40 [<ffffffff8130a2cf>] __pm_runtime_resume+0x26f/0x450 [<ffffffff8130a23a>] __pm_runtime_resume+0x1da/0x450 [<ffffffff8130a53a>] pm_runtime_resume+0x2a/0x50 [<ffffffff81328176>] usb_autopm_get_interface+0x26/0x60 [<ffffffffa02bc626>] wacom_open+0x36/0x90 [wacom] wacom_open() takes wacom->lock and calls usb_autopm_get_interface(), which in turn calls wacom_resume() which tries to acquire the lock again. The fix is to call usb_autopm_get_interface() first, before we take the lock. Since we do not do usb_autopm_put_interface() until wacom_close() is called runtime PM is effectively disabled for the driver, however changing it now would risk regressions so the complete fix will have to wait till the next merge window. Reported-by: Jiri Slaby <jslaby@suse.cz> Acked-by: Oliver Neukum <oneukum@suse.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: hanwang - add support for Art Master HD 5012 tabletXing Wei2010-09-29
| | | | | | | | | | | | | | This adds support for hanwang Art Master HD 5012 electromagnetic tablet. Signed-off-by: Xing Wei <weixing@hanwang.com.cn> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: hanwang - make compatible with xf86-input-wacom driverXing Wei2010-09-12
| | | | | | | | | | | | | | | | Add necessary events so that Hanwang Art Master III tablet can be handled by the stock xf86-input-wacom driver. Signed-off-by: Xing Wei <weixing@hanwang.com.cn> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: wacom - disable Bamboo touchpad when pen is being usedChris Bagwell2010-09-12
| | | | | | | | | | | | Signed-off-by: Chris Bagwell <chris@cnpbagwell.com> Acked-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: wacom - add support for Bamboo PenChris Bagwell2010-09-12
| | | | | | | | | | | | | | | | | | This adds support for Pen on Bamboo Pen and Bamboo Pen&Touch devices. Touchpad is handled by previous Bamboo Touch logic. Signed-off-by: Chris Bagwell <chris@cnpbagwell.com> Acked-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: wacom - move Bamboo Touch irq to its own functionChris Bagwell2010-09-12
| | | | | | | | | | | | | | | | This is in preparation of pen support in same irq handler. Signed-off-by: Chris Bagwell <chris@cnpbagwell.com> Acked-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: wacom - request tablet data for Bamboo PensChris Bagwell2010-09-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bamboo P&T need to use second form of usb_set_report() to ask to report tablet data. With previous addition of Bamboo Touch, BTN_TOOL_TRIPLETAP is now used for both TABLETPC2FG and BAMBOO_PT types. So reduced check to match type=TABLETPC2FG. This change shows redundant check for !TABLETPC2FG in else statement. Signed-off-by: Chris Bagwell <chris@cnpbagwell.com> Acked-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: wacom - add a quirk for low resolution Bamboo devicesHenrik Rydberg2010-09-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The Bamboo Touch reports a sub-screen resolution of 480x320. The signal-to-noise ratio is only about 100, so filtering is needed in order to reduce the jitter to a usable level. However, the low resolution leads to round-off errors in the EWMA filter, resulting in extremely jerky pointer motion. This patch explicitly sets a higher resolution for those devices, and tells this to the completion handler via a low-resolution quirk. Signed-off-by: Henrik Rydberg <rydberg@euromail.se> Acked-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: wacom - add support for the Bamboo Touch trackpadHenrik Rydberg2010-09-05
| | | | | | | | | | | | | | | | | | | | Add support for the Bamboo Touch trackpad, and make it work with both the Synaptics X Driver and the Multitouch X Driver. The device uses MT slots internally, so the choice of protocol is a given. Signed-off-by: Henrik Rydberg <rydberg@euromail.se> Acked-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: wacom - collect device quirks into single functionHenrik Rydberg2010-09-05
| | | | | | | | | | | | | | | | | | Collect device-specific code into a single function, and use quirks to flag specific behavior instead. Signed-off-by: Henrik Rydberg <rydberg@euromail.se> Acked-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: wacom - parse the Bamboo device familyPing Cheng2010-09-05
| | | | | | | | | | | | | | | | | | The Bamboo devices have multiple interfaces which need to be setup separately. Use the HID parsing mechanism to achieve that. Signed-off-by: Ping Cheng <pinglinux@gmail.com> Signed-off-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: wacom - add fuzz parameters to featuresHenrik Rydberg2010-09-05
| | | | | | | | | | | | | | | | | | | | The signal-to-noise ratio varies between devices, but currently all devices are treated the same way. Add fuzz parameters to the feature struct, allowing for tailored treatment of devices. Signed-off-by: Henrik Rydberg <rydberg@euromail.se> Acked-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: add support for Hanwang tabletsXing Wei2010-09-02
|/ | | | | | | | Add support for Art Master III tablet of BeiJing HanwangTechnology Co, Ltd. Signed-off-by: Xing Wei <weixing@hanwang.com.cn> Acked-by: Jiri Kosina <jkosina@suse.cz> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: wacom - fix mousewheel handling for old wacom tabletsMike Auty2010-08-29
| | | | | | | | | | | | | | | | | | This fixes a regression introduced in 3b57ca0f80c5c8994b5b1e3d3f904cfe727951f2. The data[6] byte contains either 1 or -1 depending on the whether the mouse wheel on older wacom tablets is moved down (1) or up (-1). The patch introduced in the above commit changed the cast from (signed char) to (signed). When cast as a signed integer and negated, the value of -1 (stored in the byte as 0xff) became -255 rather than 1. This patch reverts the cast to a (signed char) and also removes an unnecessary (signed) cast, as all the values operated on are bitmasked. Signed-off-by: Mike Auty <ikelos@gentoo.org> Reviewed-by: Ping Cheng <pingc@wacom.com> Cc; stable@kernel.org Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Merge branch 'next' into for-linusDmitry Torokhov2010-08-10
|\
| * Input: switch to input_abs_*() access functionsDaniel Mack2010-08-02
| | | | | | | | | | | | | | | | | | | | | | | | Change all call sites in drivers/input to not access the ABS axis information directly anymore. Make them use the access helpers instead. Also use input_set_abs_params() when possible. Did some code refactoring as I was on it. Signed-off-by: Daniel Mack <daniel@caiaq.de> Cc: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Merge branch 'next' into for-linusDmitry Torokhov2010-08-02
|\|
| * Input: wacom - add support for DTU2231 and DTU1631Ping Cheng2010-06-28
| | | | | | | | | | | | | | Add support for the two new devices: DTU2231 and DTU1631. Signed-off-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: wacom - fix serial number handling on Cintiq 21UX2Ping Cheng2010-06-22
|/ | | | | | | | | Cintiq 21UX2 added 8 more bits for the tool serial number and more buttons for the expresskey. We did not enable them properly in the last patch. Signed-off-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: wacom - add Cintiq 21UX2 and Intuos4 WLPing Cheng2010-06-04
| | | | | Signed-off-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6Linus Torvalds2010-05-21
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (229 commits) USB: remove unused usb_buffer_alloc and usb_buffer_free macros usb: musb: update gfp/slab.h includes USB: ftdi_sio: fix legacy SIO-device header USB: kl5usb105: reimplement using generic framework USB: kl5usb105: minor clean ups USB: kl5usb105: fix memory leak USB: io_ti: use kfifo to implement write buffering USB: io_ti: remove unsused private counter USB: ti_usb: use kfifo to implement write buffering USB: ir-usb: fix incorrect write-buffer length USB: aircable: fix incorrect write-buffer length USB: safe_serial: straighten out read processing USB: safe_serial: reimplement read using generic framework USB: safe_serial: reimplement write using generic framework usb-storage: always print quirks USB: usb-storage: trivial debug improvements USB: oti6858: use port write fifo USB: oti6858: use kfifo to implement write buffering USB: cypress_m8: use kfifo to implement write buffering USB: cypress_m8: remove unused drain define ... Fix up conflicts (due to usb_buffer_alloc/free renaming) in drivers/input/tablet/acecad.c drivers/input/tablet/kbtab.c drivers/input/tablet/wacom_sys.c drivers/media/video/gspca/gspca.c sound/usb/usbaudio.c
| * USB: rename usb_buffer_alloc() and usb_buffer_free() usersDaniel Mack2010-05-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For more clearance what the functions actually do, usb_buffer_alloc() is renamed to usb_alloc_coherent() usb_buffer_free() is renamed to usb_free_coherent() They should only be used in code which really needs DMA coherency. All call sites have been changed accordingly, except for staging drivers. Signed-off-by: Daniel Mack <daniel@caiaq.de> Cc: Alan Stern <stern@rowland.harvard.edu> Cc: Pedro Ribeiro <pedrib@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * Merge branch 'for-linus' of ↵Linus Torvalds2010-04-15
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: wacom - switch mode upon system resume Revert "Input: wacom - merge out and in prox events" Input: matrix_keypad - allow platform to disable key autorepeat Input: ALPS - add signature for HP Pavilion dm3 laptops Input: i8042 - spelling fix Input: sparse-keymap - implement safer freeing of the keymap Input: update the status of the Multitouch X driver project Input: clarify the no-finger event in multitouch protocol Input: bcm5974 - retract efi-broken suspend_resume Input: sparse-keymap - free the right keymap on error
| | * Input: wacom - switch mode upon system resumePing Cheng2010-04-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When Wacom devices wake up from a sleep, the switch mode command (wacom_query_tablet_data) is needed before wacom_open is called. wacom_query_tablet_data should not be executed inside wacom_open since wacom_open is called more than once during probe. wacom_retrieve_hid_descriptor is removed from wacom_resume due to the fact that the required descriptors are stored properly upon system resume. Reported-and-tested-by: Anton Anikin <Anton@Anikin.name> Signed-off-by: Ping Cheng <pingc@wacom.com> Cc: stable@kernel.org Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | Input: kbtab - do not advertise unsupported eventsDmitry Torokhov2010-04-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | The device does not emit EV_MSC/MSC_SERIAL nor EV_KEY/BTN_MIDDLE events so it should not mark them as supported in capabilities bitmaps. This still leaves BTN_TOOL_PEN and BTN_TOUCH events being processed in a funky manner. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | Input: kbtab - simplify kbtab_disconnect()Dmitry Torokhov2010-04-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | There is no need to check whether kbtab structure is attached to the interface; if it isn't and we are called we have much bigger problems. Also no need to call usb_kill_urb() in kbtab_disconnect() since it is being called in kbtab_close(). Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | Input: kbtab - fix incorrect size parameter in usb_buffer_freeAxel Lin2010-04-21
| | | | | | | | | | | | | | | | | | | | | | | | The size allocated by usb_buffer_alloc() is 8, however the size passed to usb_buffer_free() is 10. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | Input: acecad - don't advertise mouse eventsDmitry Torokhov2010-04-21
| | | | | | | | | | | | | | | | | | | | | The device does not emit events for left/right/middle mouse buttons so it should not mark them as supported in capabilities bitmaps. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | Input: acecad - fix some formatting issuesDmitry Torokhov2010-04-21
| | | | | | | | | | | | | | | | | | Also switch to using input_set_abd_params() helper. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | Input: acecad - simplify usb_acecad_disconnect()Dmitry Torokhov2010-04-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | There is no need to check whether acecad structure is attached to the interface; if it isn't and we are called we have much bigger problems. Also no need to call usb_kill_urb() in usb_acecad_disconnect() since it is being called in usb_acecad_close(). Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | Input: acecad - fix incorrect size parameter in usb_buffer_freeAxel Lin2010-04-21
| | | | | | | | | | | | | | | | | | | | | | | | The size allocated by usb_buffer_alloc() is 8, however the size passed to usb_buffer_free() in usb_acecad_disconnect() is 10. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | Input: wacom - streamline 2-finger touch supportPing Cheng2010-04-14
| | | | | | | | | | | | | | | | | | | | | | | | Clean up 2-finger touch support. This still needs to be converted to proper multi-touch protocol. Signed-off-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | Input: wacom - use get_unaligned to access unaligned dataDmitry Torokhov2010-04-14
| | | | | | | | | | | | | | | | | | | | | Also get rid of wacom_le16_to_cpu() and wacom_be16_to_cpu() helpers and ise le16_to_cpup() and be16_to_cpup() directly. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | Input: wacom - get rid of wacom_combo structureDmitry Torokhov2010-04-14
| | | | | | | | | | | | | | | | | | | | | | | | Now that we moved input device from struct wacom to struct wacom_wac, presence of wacom_combo just complicats things for no good reason. Let's get rid of it and simply pass URB length to wacom_wac_irq(). Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | Input: wacom - get rid of input event wrappersDmitry Torokhov2010-04-14
| | | | | | | | | | | | | | | | | | | | | | | | Input event interface is pretty stable so let's get rig of wrappers for input_event() and fiends and call them directly. This will simplify and speed up code a bit. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | Input: wacom - fix some formatting issuesDmitry Torokhov2010-04-14
| | | | | | | | | | | | | | | | | | | | | Fix identation of switch/case statements so they follow style used by the rest of the kernel. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | Input: wacom - do not allocate wacom_wac separatelyDmitry Torokhov2010-04-14
| | | | | | | | | | | | | | | | | | | | | | | | There is no reason for allocating struct wacom_wac separately from struct wacom since both have the same lifetime rules and are not shared. Also make 'open' field a boolean. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | Input: wacom - share pen info with touch of the same IDPing Cheng2010-04-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Touch enbaled devices share the same product ID with pen. However, we do not want to post touch events while pen is in prox. To do so, we used to keep a local static variable to keep track of if pen is in prox or not. This works fine for Tablet PC devices since there is only one device attached. With the newer touch enabled regular tablets, we can not make this assumption any more, i.e, one system may have more than one identical tablet plugged in. This patch adds an new entry, shared, into the struct wacom_wac so touch data can access pen data to locally. This solution assumes the two tools (touch and pen) of the same ID will be probed one after the other without interruption in between by another Wacom device of the same ID.
* | | Input: wacom - merge out and in prox eventsPing Cheng2010-04-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Process out and in prox events for Graphire and Tablet PC devices in the same loop to simplify the data parsing logic. [re-applying after revert since other patches are based on this one] Signed-off-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | Merge branch 'for-linus' into nextDmitry Torokhov2010-04-14
|\ \ \ | |/ / |/| |
| * | Input: wacom - switch mode upon system resumePing Cheng2010-04-14
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | When Wacom devices wake up from a sleep, the switch mode command (wacom_query_tablet_data) is needed before wacom_open is called. wacom_query_tablet_data should not be executed inside wacom_open since wacom_open is called more than once during probe. wacom_retrieve_hid_descriptor is removed from wacom_resume due to the fact that the required descriptors are stored properly upon system resume. Signed-off-by: Ping Cheng <pingc@wacom.com> Reported-and-tested-by: Anton Anikin <Anton@Anikin.name> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Revert "Input: wacom - merge out and in prox events"Dmitry Torokhov2010-04-14
| | | | | | | | | | | | | | | | | | This reverts commit 776943fd6f104a6e8457dc95a17282e69e963666 as it causes issues with ISDv4 E3 touchscreens: https://bugzilla.kernel.org/show_bug.cgi?id=15670 Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Merge branch 'for-linus' of ↵Linus Torvalds2010-03-14
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: i8042 - add ALDI/MEDION netbook E1222 to qurik reset table Input: ALPS - fix stuck buttons on some touchpads Input: wm831x-on - convert to use genirq Input: ads7846 - add wakeup support Input: appletouch - fix integer overflow issue Input: ad7877 - increase pen up imeout Input: ads7846 - add support for AD7843 parts Input: bf54x-keys - fix system hang when pressing a key Input: alps - add support for the touchpad on Toshiba Tecra A11-11L Input: remove BKL, fix input_open_file() locking Input: serio_raw - remove BKL Input: mousedev - remove BKL Input: add driver for TWL4030 vibrator device Input: enable remote wakeup for PNP i8042 keyboard ports Input: scancode in get/set_keycodes should be unsigned Input: i8042 - use platfrom_create_bundle() helper Input: wacom - merge out and in prox events Input: gamecon - fix off by one range check Input: wacom - replace WACOM_PKGLEN_PENABLED
| * Input: wacom - merge out and in prox eventsPing Cheng2010-03-05
| | | | | | | | | | | | | | | | Process out and in prox events for Graphire and Tablet PC devices in the same loop to simplify the data parsing logic. Signed-off-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: wacom - replace WACOM_PKGLEN_PENABLEDPing Cheng2010-03-02
| | | | | | | | | | | | | | | | | | Replacing WACOM_PKGLEN_PENABLED with WACOM_PKGLEN_GRAPHIRE since they both represent the same value, 8. This value will be used for both Tablet PC and Bamboo with touch devices. Signed-off-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Merge branch 'for-next' into for-linusJiri Kosina2010-03-08
|\ \ | |/ |/| | | | | | | | | | | | | Conflicts: Documentation/filesystems/proc.txt arch/arm/mach-u300/include/mach/debug-macro.S drivers/net/qlge/qlge_ethtool.c drivers/net/qlge/qlge_main.c drivers/net/typhoon.c