History log of /drivers/input/mouse/appletouch.c
Revision Date Author Comments
08642e7c52cf43616821520828e504bc717e54a6 18-Nov-2011 Greg Kroah-Hartman <gregkh@suse.de> USB: convert drivers/input/* to use module_usb_driver()

This converts the drivers in drivers/input/* to use the
module_usb_driver() macro which makes the code smaller and a bit
simpler.

Added bonus is that it removes some unneeded kernel log messages about
drivers loading and/or unloading.

Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Ville Syrjala <syrjala@sci.fi>
Cc: Henk Vergonet <Henk.Vergonet@gmail.com>
Cc: Alessandro Rubini <rubini@ipvvis.unipv.it>
Cc: Henrik Rydberg <rydberg@euromail.se>
Cc: "Magnus Hörlin" <magnus@alefors.se>
Cc: Chris Moeller <kode54@gmail.c>
Cc: Christoph Fritz <chf.fritz@googlemail.com>
Cc: Lucas De Marchi <lucas.demarchi@profusion.mobi>
Cc: Jesper Juhl <jj@chaosbits.net>
Cc: Edwin van Vliet <edwin@cheatah.nl>
Cc: Ping Cheng <pingc@wacom.com>
Cc: Eduard Hasenleithner <eduard@hasenleithner.at>
Cc: Alexander Strakh <strakh@ispras.ru>
Cc: Glenn Sommer <gsommer@datanordisk.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
d745b5326dd1960bf1d9ce2cb8408561a81a7271 31-Oct-2010 Joe Perches <joe@perches.com> Input: appletouch - remove extra KERN_DEBUG use from dprintk

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
6e49c1a407c8af8d779a24fd2428857991514a7b 09-Aug-2010 Benjamin Herrenschmidt <benh@kernel.crashing.org> Revert "Input: appletouch - fix integer overflow issue"

This reverts commit 04b4b88cca0ebe3813b4b6f014fb6a0db380b137.

While the original problem only caused a slight disturbance on the
edge of the touchpad, the commit above to "fix" it completely breaks
operation on some other models such as mine.

We'll sort this out separately, revert the patch for now.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
997ea58eb92f9970b8af7aae48800d0ef43b9423 12-Apr-2010 Daniel Mack <daniel@caiaq.de> USB: rename usb_buffer_alloc() and usb_buffer_free() users

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>
04b4b88cca0ebe3813b4b6f014fb6a0db380b137 11-Mar-2010 Vadim Zaliva <lord@crocodile.org> Input: appletouch - fix integer overflow issue

When reading data from Geyser 2 touchpads used on post Oct 2005 Apple
PowerBooks the driver was casting X and Y coordinates values to
'signed char'. Testing on one of such PowerBooks I have noticed that
touchpad always generates positive values, but some of them are greater
that 127, and thus, when cast to 'signed char' being interpreted as
a negative.

Such bigger values have been observed infrequently, closer to the
edges of a touchpad, so the problem was not very visible.
Nevertheless, the patch would potentially improve touchpad
driver accuracy.

Signed-off-by: Vadim Zaliva <lord@crocodile.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
05e882f890038c702a4f15d385135d03cf74ad48 03-Jun-2009 Jeremy Huddleston <jeremyhu@freedesktop.org> Input: appletouch - improve finger detection

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>
0385c5ee3ca96bfe244610bf459abf66682ff202 28-Apr-2009 Bob Copeland <me@bobcopeland.com> Input: appletouch - fix DMA to/from stack buffer

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>
09779678d12482024e06380cacc4c3ff2f129f23 29-Oct-2008 Stelian Pop <stelian@popies.net> Input: appletouch - driver refactoring

The appletouch driver has grown up from supporting only a couple of
touchpads into supporting many touchpads, which can have different
number of sensors, different aspect ratios etc.

This patch cleans up the current driver code and makes it easy to
support the features of each different touchpad.

As a side effect, this patch also modifies the 'Y' multiplication factor
of the 'geyser3' and 'geyser4' touchpads (found on Core Duo and Core2
Duo MacBook and MacBook Pro laptops) in order to make the touchpad
output match the aspect ratio of the touchpad (Y factor changed from 43
to 64).

[dtor@mail.ru: make atp_info constant]
Signed-off-by: Stelian Pop <stelian@popies.net>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
82a196f481661170b4982dc7e68a12e9253309d0 08-Aug-2008 Sven Anders <anders@anduras.de> Input: appletouch - handle geyser 3/4 status bits

Implement support for status bits on Geyser 3/4.

Signed-off-by: Sven Anders <anders@anduras.de>
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
d83d213d9fda671dfd84ea81182742f9e329a6b4 08-Aug-2008 Sven Anders <anders@anduras.de> Input: appletouch - prepare for geyser 3/4 handling

Split complete function into separate functions for GEYSER1/2 and GEYSER 3/4.

Signed-off-by: Sven Anders <anders@anduras.de>
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
90d95ef617a535a8832bdcb8dee07bf591e5dd82 17-Jun-2008 Oliver Neukum <oliver@neukum.org> Input: appletouch - implement reset-resume logic

On some boxes the touchpad needs to be reinitialized after resume to make
it function again. This fixes bugzilla #10825.

Signed-off-by: Oliver Neukum <oneukum@suse.de>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
e9542dff390668f85dc8dca0ca019b27e4396f97 06-May-2008 Sven Anders <anders@anduras.de> Input: appletouch - simplify touchpad type detection

This patch simplifies type detection and removes unnecessary code.

Signed-off-by: Sven Anders <anders@anduras.de>
[jberg: don't typedef, checkpatch clean, remove useless comments, ...]
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
7dce869f120cd7500e83850a6036dfeffcf77c57 06-May-2008 Johannes Berg <johannes@sipsolutions.net> Input: appletouch - miscellaneous code cleanups

This patch does some code cleanups in appletouch:
* useless comment removal
* make almost checkpatch clean
* make sparse clean

Signed-off-by: Sven Anders <anders@anduras.de>
[jberg: most of the changes including removing much of the original patch]
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
ea3e6c59266b783b103c0f42a8de5dbe565a43d4 05-May-2008 Harvey Harrison <harvey.harrison@gmail.com> Input: replace remaining __FUNCTION__ occurrences

__FUNCTION__ is gcc-specific, use __func__

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
0035a1dc8f56f2c92f4246b0c8b5f6d1ee10c76b 02-Apr-2008 Tobias Mueller <Tobias_Mueller@twam.info> Input: appletouch - add product IDs for the 4th generation MacBooks

Signed-off-by: Tobias Mueller <Tobias_Mueller@twam.info>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
f23c1d7579211c801494c7a8d6fca12905f7949f 02-Apr-2008 Tobias Mueller <Tobias_Mueller@twam.info> Input: appletouch - add product IDs for the 4th generation MacBooks

Signed-off-by: Tobias Mueller <Tobias_Mueller@twam.info>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2a3e480d4b3392ce8907089094bd074575f9bb2a 02-Nov-2007 Dmitry Torokhov <dmitry.torokhov@gmail.com> Input: appletouch - idle reset logic broke older Fountains

Fountains do not support change mode request and therefore
should be excluded from idle reset attempts.

Also:
- do not re-submit URB when we decide that touchpad needs to be
reinicialized
- do not repeat size detection when reinitializing the touchpad
- Add missing KERN_* prefixes to messages

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
46249ea60fbb61a72ee6929b831b1f3e6865f024 22-Oct-2007 Anton Ekblad <valderman@gmail.com> Input: appletouch - apply idle reset logic to all touchpads

Not only Geyser 3 but also Geyser 1 need to be reset after they become
idle to stop them from needlessly waking up the kernel. Do idle reset
on all touchpads, regardless of their version - if we see 10 empty
packets the touchpad needs to be reset; good touchpads should not send
empty packets anyway.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
937ad5c1e35191d29d305280525394fe87f4ac4f 13-Oct-2007 Soeren Sonnenburg <kernel@nn7.de> Input: appletouch - another fix for idle reset logic

Make sure we reset idlecount when we get a good (non-empty) packet.

Signed-off-by: Soeren Sonnenburg <kernel@nn7.de>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
cb560737676260ac15b68d426305ad5e755417ea 25-Sep-2007 Thomas Rohwer <tr@tng.de> Input: appletouch - fix idle reset logic

Idle count should only be incremented when touchpad button
is not pressed, otherwise reset may happen at a wrong time
and touchpad will never report button release event.

Signed-off-by: Thomas Rohwer <trohwer@tng.de>
Acked-by: Matthew Garrett <mjg59@srcf.ucam.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
5a6eb676d3bc4d7a6feab200a92437b62ad298da 20-Jul-2007 Soeren Sonnenburg <kernel@nn7.de> Input: appletouch - improve powersaving for Geyser3 devices

The appletouch geyser3 devices found in the Intel Macs (and possibly
some later PPC ones?) send a constant stream of packets after the first
touch. This results in the kernel waking up around once every couple of
milliseconds to process them, making it almost impossible to spend any
significant amount of time in C3 state on a dynamic HZ kernel. Sending
the mode initialization code makes the device shut up until it's touched
again. This patch does so after receiving 10 packets with no interesting
content.

Signed-off-by: Soeren Sonnenburg <kernel@nn7.de>
Signed-off-by: Matthew Garrett <mjg59@srcf.ucam.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
b5da20f8f7652e7a9648401a1942b7aac3b9ab9d 07-May-2007 Dmitry Torokhov <dtor@insightbb.com> 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 <dtor@mail.ru>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>