summaryrefslogtreecommitdiffstats
path: root/drivers/input/mouse
Commit message (Collapse)AuthorAgeFilesLines
* Input: sentelic - fix left/right horizontal scroll mappingTai-hwa Liang2010-01-131-3/+3
| | | | | Signed-off-by: Tai-hwa Liang <avatar@sentelic.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: pmouse - move Sentelic probe down the listTai-hwa Liang2010-01-131-13/+15
| | | | | | | | | | | | | Sentelic probes confuse IBM trackpoints so they stop responding to TP_READ_ID command. See: http://bugzilla.kernel.org/show_bug.cgi?id=14970 Let's move FSP detection lower so it is probed after trackpoint and others, just before we strat probing for Intellimouse Explorer. Signed-off-by: Tai-hwa Liang <avatar@sentelic.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: psmouse - fix Synaptics detection when protocol is disabledDaniel Drake2010-01-073-1/+19
| | | | | | | | | | | | | | | | | | | | | For configurations where Synaptics hardware is present but the Synaptics extensions support is not compiled in, the mouse is reprobed and a new device is allocated on every suspend/resume. During probe, psmouse_switch_protocol() calls psmouse_extensions() with set_properties=1. This calls the dummy synaptics_init() which returns an error code, instructing us not to use the synaptics extensions. During resume, psmouse_reconnect() calls psmouse_extensions() with set_properties=0, in which case call to synaptics_init() is bypassed and PSMOUSE_SYNAPTICS is returned. Since the result is different from previous attempt psmouse_reconnect() fails and full re-probe happens. Fix this by tweaking the set_properties=0 codepath in psmouse_extensions() to be more careful about offering PSMOUSE_SYNAPTICS extensions. Signed-off-by: Daniel Drake <dsd@laptop.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: bcm5974 - report ABS_MT eventsHenrik Rydberg2010-01-061-1/+43
| | | | | | | | | Make bcm5974 report raw multi-touch (MT) data in the form of ABS_MT events. [dtor@mail.ru: get rid of module option, always report all events] Signed-off-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: serio - fix potential deadlock when unbinding driversEric W. Biederman2010-01-061-29/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | sysfs_remove_group() waits for sysfs attributes to be removed, therefore we do not need to worry about driver-specific attributes being accessed after driver has been detached from the device. In fact, attempts to take serio->drv_mutex in attribute methods may lead to the following deadlock: sysfs_read_file() fill_read_buffer() sysfs_get_active_two() psmouse_attr_show_helper() serio_pin_driver() serio_disconnect_driver() mutex_lock(&serio->drv_mutex); <--------> mutex_lock(&serio_drv_mutex); psmouse_disconnect() sysfs_remove_group(... psmouse_attr_group); .... sysfs_deactivate(); wait_for_completion(); Fix this by removing calls to serio_[un]pin_driver() and functions themselves and using driver-private mutexes to serialize access to attribute's set() methods that may change device state. Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: lifebook - add CONFIG_DMI dependencyDmitry Torokhov2009-12-292-3/+1
| | | | | | | | Lifebook protocol can only be activated if we find known DMI signature. It is useles without DMI. Reported-by: Rakib Mullick <rakib.mullick@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: psmouse - fix compile warning in hgpk moduleRené Bolldorf2009-12-291-1/+0
| | | | | | The variable 'dev' is unused in function 'hgpk_register'. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: speed up suspend/shutdown for PS/2 mice and keyboardsDmitry Torokhov2009-12-241-1/+4
| | | | | | | | | Instead of doing full-blown reset while suspending or shutting down the box use lighter form of reset that should take less time. Tested-by: Alan Stern <stern@rowland.harvard.edu> Tested-by: Rafael J. Wysocki <rjw@sisk.pl> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: ALPS - add interleaved protocol support (Dell E6x00 series)Sebastian Kapfer2009-12-152-27/+228
| | | | | | | | | | | | | | | | | | Properly handle version of the protocol where standard PS/2 packets from trackpoint are stuffed into middle (byte 3-6) of the standard ALPS packets when both the touchpad and trackpoint are used together. The patch is based on work done by Matthew Chapman and additional research done by David Kubicek and Erik Osterholm: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/296610 Many thanks to David Kubicek for his efforts in researching fine points of this new version of the protocol, especially interaction between pad and stick in these models. Signed-off-by: Sebastian Kapfer <sebastian_kapfer@gmx.net> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: ALPS - do not set REL_X/REL_Y capabilities on the touchpadDmitry Torokhov2009-12-111-0/+11
| | | | | | | Relative events are only reported via secondary device therefore device associated with the touchpad should not advertise these capabilities. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: psmouse - remove identification strings from DMI tablesDmitry Torokhov2009-12-042-15/+15
| | | | | | | | The driver does not reference identification strings in DMI tables and since these strings are no longer required by DMI core we can safely remove them and save some memory. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: psmouse - do not carry DMI data aroundDmitry Torokhov2009-12-035-13/+38
| | | | | | | DMI tables use considerable amount of memory. Mark them as __initconst so they will be discarded once module is loaded. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Merge commit 'v2.6.32' into nextDmitry Torokhov2009-12-022-4/+3
|\
| * Input: lifebook - fix settings for CF-72Abner Holsinger2009-11-161-2/+1
| | | | | | | | | | | | | | | | Panasonic CF-72 uses 6-byte protocol and does not need to be tied to a particular port. Signed-off-by: Abner Holsinger <9zabner@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: psmouse - fix breakage introduced by b7802c5c1eaJiri Kosina2009-11-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit b7802c5c1ea ("Input: psmouse - use boolean type") caused the synaptics_hardware variable to be completely useless, as it is constantly set to 'true' throughout the whole psmouse_extensions(). This was caused by the following hunk in the commit in question - int synaptics_hardware = 0; + bool synaptics_hardware = true; which is wrong and causes driver to issue extra reset when falling back to bare PS/2 protocol. Signed-off-by: Jiri Kosina <jkosina@suse.cz> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: psmouse - remove unneeded '\n' from psmouse.proto parameterTakashi Iwai2009-11-121-1/+1
| | | | | | | | | | | | | | | | The get parameter function should return a string without a life-feed. Otherwise you'll see additional empty line in sysfs parameters file. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: ALPS - add support for touchpads with 4-directional buttonMaxim Levitsky2009-11-201-35/+65
| | | | | | | | | | | | | | | | | | | | | | | | The touchpad on Acer Aspire 5720, 5520 and some other Aspire models (signature 0x73, 0x02, 0x50) has a button that can be rocked in 4 different directions. Make the driver to generate BTN_0..BTN_3 events in response. The Synaptics driver by default maps BTN_0 and BTN_1 to up and down, so there should be no visible changes with the old setup that generated BTN_FORWARD and BTN_BACK (also mapped to up and down). Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: psmouse - rework setting of BTN_MIDDLE capabilityDmitry Torokhov2009-11-205-31/+38
| | | | | | | | | | | | | | | | | | | | Do not start protocol detection assuming that middle mouse is present, instead let individual protocols explicitly set this capability. This fixes issue with Synaptics touchpads pretending that they have middle button when hardware clearly reports otherwise. Reported-and-tested-by: Andrey Borzenkov <arvidjaar@mail.ru> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: lifebook - do not advertise unsupported buttonsDmitry Torokhov2009-11-201-6/+7
| | | | | | | | | | | | | | | | The main input device of Lifebook touchscreens does not generate left/right/middle button events and therefore should not be advertising them in its capabilities. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: elantech - do not advertise relative eventsDmitry Torokhov2009-11-201-0/+1
| | | | | | | | | | | | | | Elantech touchpads work in absolute mode and do not generate relative events so they should not be advertising them. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: touchkit_ps2 - do not advertise unsupported buttonsDmitry Torokhov2009-11-201-1/+2
| | | | | | | | | | | | | | Touchkit PS/2 touchscreen does not have left/right/middle buttons and should not be advertising as capable of generating these events. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Merge commit 'v2.6.32-rc6' into nextDmitry Torokhov2009-11-052-1/+11
|\ \ | |/
| * Input: logips2pp - model 73 is actually TrackMan FXDmitry Torokhov2009-10-181-1/+1
| | | | | | | | | | Reported-and-tested-by: Harald Dunkel <harald.dunkel@t-online.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: synaptics - add another Protege M300 to rate blacklistDmitry Torokhov2009-10-121-0/+10
| | | | | | | | | | | | | | | | | | | | | | Apparently some of Toshiba Protege M300 identify themselves as "Portable PC" in DMI so we need to add that to the DMI table as well. We need DMI data so we can automatically lower Synaptics reporting rate from 80 to 40 pps to avoid over-taxing their keyboard controllers. Tested-by: Rod Davison <roddavison@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: synaptic_i2c - make unnecessarily global functions staticDmitry Torokhov2009-11-021-3/+3
| | | | | | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: vsxxxaa - change formatting style to match the rest of the kernelDmitry Torokhov2009-10-131-199/+175
|/ | | | | | | | | - no spaces between function name and opening parenthesis - switch statements were indented too much This makes checkpatch (and me) happy. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: synaptics_i2c - switch to using __cancel_delayed_work()Dmitry Torokhov2009-09-171-19/+32
| | | | | | | | cancel_delayed_work() may spin and therefore should not be used in interrupt contexts. Acked-by: Mike Rapoport <mike@compulab.co.il> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: libps2 - additional locking for i8042 portsDmitry Torokhov2009-09-171-8/+10
| | | | | | | | | | | | | | | | | The serio ports on i8042 are not completely isolated; while we provide enough locking to ensure proper serialization when accessing control and data registers AUX and KBD ports can still have an effect on each other on PS/2 protocol level. The most prominent effect is that issuing a command for the device connected to one port may cause abort of the command currently executing by the device connected to another port. Since i8042 nor serio subsystem are not aware of the details of the PS/2 protocol (length of the commands and their replies and so on) the locking should be done on libps2 level by adding special handling when we see that we are dealing with serio port on i8042. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: bcm5974 - silence uninitialized variables warningsHenrik Rydberg2009-09-131-15/+16
| | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: psmouse - use boolean typeDmitry Torokhov2009-09-1020-125/+133
| | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: add new driver for Sentelic Finger Sensing PadTai-hwa Liang2009-08-196-1/+1000
| | | | | | | | This is the driver for Sentelic Finger Sensing Pad which can be found on MSI WIND Netbook. Signed-off-by: Tai-hwa Liang <avatar@sentelic.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: psmouse - allow defining read-only attributesDmitry Torokhov2009-08-191-5/+16
| | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: combine hil_kbd and hil_ptr driversDmitry Torokhov2009-08-093-456/+0
| | | | | | | | | hil_kbd and hil_ptr look like twins so it makes sense to combine them into a single driver. [deller@gmx.de: add MODULE_ALIAS() entry for mouse] Tested-by: Helge Deller <deller@gmx.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: serio - don't use serio->write() directlyDmitry Torokhov2009-08-052-20/+20
| | | | | | We have a nice wrapper for that. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: hgpk - forced recalibration for the OLPC touchpadPaul Fox2009-08-051-3/+52
| | | | | | | | | | | | | | | | | | | The OLPC XO laptop incorporates a combination touchpad/tablet device which unfortunately requires frequent recalibration. The driver will force this automatically when various suspicious behaviors are observed, and the user can recalibrate manually (with a special keyboard sequence). There's currently no way, however, for an external program to cause recalibration. We can not use the reconnect capability which is already available in /sys because full reset of the touchpad takes 1.1 - 1.2 secons which is too long. This patch creates a new node in /sys which, when written with '1', will force a touchpad recalibration; no other writes (or reads) of this node are supported. Signed-off-by: Paul Fox <pgf@laptop.org> Acked-by: Andres Salomon <dilinger@collabora.co.uk> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: gpio_mouse - use standard driver registration methodSaeed Bishara2009-07-071-6/+5
| | | | | | | | This patch is needed when the gpio's became available only at late stages, for example, when using i2c gpio expander. Signed-off-by: Saeed Bishara <saeed@marvell.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: add driver for Synaptics I2C touchpadMike Rapoport2009-06-193-0/+695
| | | | | | | | | | This driver supports Synaptics I2C touchpad controller on eXeda mobile device. Unfortunaltely it only works in relative mode and thus is not comaptible with Xorg Synaptics driver. Signed-off-by: Igor Grinberg <grinberg@compulab.co.il> Signed-off-by: Mike Rapoport <mike@compulab.co.il> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: synaptics - add support for reporting x/y resolutionTero Saarni2009-06-192-0/+30
| | | | | | | | | | Synaptics uses anisotropic coordinate system. On some wide touchpads vertical resolution can be twice as high as horizontal which causes unequal sensitivity on x/y directions. Add support for reading the resolution with EVIOCGABS ioctl. Signed-off-by: Tero Saarni <tero.saarni@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: ALPS - handle touchpoints buttons correctlyUlrich Dangel2009-06-111-4/+9
| | | | | | | | | | | When pressing any button belonging to the touchpoint, the generated click events don't belong to the touchpoint but to the touchpad. This patch fixes this behaviour, the events will be sent via the correct device, so scrolling with touchpoint is possible. Signed-off-by: Ulrich Dangel <uli@spamt.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: appletouch - improve finger detectionJeremy Huddleston2009-06-031-1/+1
| | | | | | | | | | | | | | | | | The appletouch driver is prone to reporting multiple fingers when only one is pressing. The appletouch driver queries an array of pressure sensors and counts local maxima in pressure to determine the number of fingers. It just does this on the raw values, so a data stream like: 0 100 250 300 299 300 250 100 0 actually registers as 2 fingers. This patch updates the logic to ignore small dips in pressure that are less than the threshold. Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: psmouse - ESD workaround fix for OLPC XO touchpadZephaniah E. Hull2009-05-151-1/+3
| | | | | | | | | | | | | | It appears that when the XO touchpad unit resets from ESD, it sends AA AA instead of AA 00, the psmouse-base code handles the case of AA 00 by triggering a serio reconnect for the port, causing a full reprobe of the device. Testing with OFW shows that this is likely to solve the problem, so the attached patch simply expands the existing test to also catch AA AA. Signed-off-by: Andres Salomon <dilinger@debian.org> Signed-off-by: Deepak Saxena <dsaxena@laptop.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: lifebook - don't send incomplete eventsDmitry Torokhov2009-05-081-12/+13
| | | | | | | | | | | When we get a relative packet from trackpoint (when we deal with touchscreen/trackpoint combo) we should not send events for the device corresponding to touchscreen as it confuses evtouch driver (it looks like it keeps previously reported absolute coordinates and the cursor stays in the same place). Reported-by: Marcin Drewka <laimoriel@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: ALPS - Dell Latitude D630/D800 have DualPointDmitry Torokhov2009-05-081-9/+9
| | | | | | | | Dell Latitude D630/D800 have DualPoint (touchpad plus trackpoint) instead of a simple touchpad and a pass-through port for external PS/2 mouse. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
* Merge branch 'for-linus' of ↵Linus Torvalds2009-05-026-42/+150
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: document the multi-touch (MT) protocol Input: add detailed multi-touch finger data report protocol Input: allow certain EV_ABS events to bypass all filtering Input: bcm5974 - add documentation for the driver Input: bcm5974 - augment debug information Input: bcm5974 - Add support for the Macbook 5 (Unibody) Input: bcm5974 - add quad-finger tapping Input: bcm5974 - prepare for a new trackpad header type Input: appletouch - fix DMA to/from stack buffer Input: wacom - fix TabletPC touch bug Input: lifebook - add DMI entry for Fujitsu B-2130 Input: ALPS - add signature for Toshiba Satellite Pro M10 Input: elantech - make sure touchpad is really in absolute mode Input: elantech - provide a workaround for jumpy cursor on firmware 2.34 Input: ucb1400 - use disable_irq_nosync() in irq handler Input: tsc2007 - use disable_irq_nosync() in irq handler Input: sa1111ps2 - use disable_irq_nosync() in irq handlers Input: omap-keypad - use disable_irq_nosync() in irq handler
| * Input: bcm5974 - augment debug informationHenrik Rydberg2009-04-281-4/+10
| | | | | | | | | | | | | | Add more button and finger data to the debug output. Signed-off-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: bcm5974 - Add support for the Macbook 5 (Unibody)Henrik Rydberg2009-04-281-2/+43
| | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for the new unibody Macbook, with physically integrated button and trackpad. Since the integrated button changes the logic for touch-and-click, a device capability bit mask is now reported in input_id.version, which can be picked up by user space via a EVIOCGID call. Signed-off-by: Henrik Rydberg <rydberg@euromail.se> Tested-by: David M. Lary <dmlary@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: bcm5974 - add quad-finger tappingHenrik Rydberg2009-04-281-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | The integrated button on the new unibody Macbooks presents a need to report explicit four-finger actions. Evidently, the finger pressing the button is also touching the trackpad, so in order to fully support three-finger actions, the driver must be able to report four-finger actions. This patch adds a new button, BTN_TOOL_QUADTAP, which achieves this. Signed-off-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: bcm5974 - prepare for a new trackpad header typeHenrik Rydberg2009-04-281-21/+26
| | | | | | | | | | | | | | | | | | | | | | The new unibody Macbooks are equipped with an integrated button and trackpad. The package header of the trackpad interface has changed to also contain information about the integrated button. This patch performs the necessary preparations to allow for the new package header. Signed-off-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: appletouch - fix DMA to/from stack bufferBob Copeland2009-04-281-6/+18
| | | | | | | | | | | | | | | | | | | | CONFIG_DMA_API_DEBUG spotted an instance of appletouch using an array on the stack as a DMA buffer for certain hardware. Change it to use a kmalloc()ed buffer instead. Signed-off-by: Bob Copeland <me@bobcopeland.com> Reviewed-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: lifebook - add DMI entry for Fujitsu B-2130Dmitry Torokhov2009-04-241-0/+6
| | | | | | | | | | | | | | | | Although we already have entry for ZEPHYR the match is done on product name whereas B-2130 BIOS has it in board name. Reported-by: Yuriy Zhuravlev <stalkerg@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
OpenPOWER on IntegriCloud