13 Jan, 2012
2 commits
-
module_param(bool) used to counter-intuitively take an int. In
fddd5201 (mid-2009) we allowed bool or int/unsigned int using a messy
trick.It's time to remove the int/unsigned int option. For this version
it'll simply give a warning, but it'll break next kernel version.Acked-by: Mauro Carvalho Chehab
Signed-off-by: Rusty Russell -
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
Input: bcm5974 - set BUTTONPAD property
Input: serio_raw - return proper result when serio_raw_write fails
Input: serio_raw - really signal HUP upon disconnect
Input: serio_raw - remove stray semicolon
Input: revert some over-zealous conversions to module_platform_driver()
11 Jan, 2012
3 commits
-
Some bcm5974 trackpads have a physical button beneath the physical surface.
This patch sets the property bit so user space applications can detect the
trackpad type and act accordingly.Signed-off-by: Jussi Pakkanen
Reviewed-by: Henrik Rydberg
Signed-off-by: Dmitry Torokhov -
Recent conversion to module_platform_driver() went a bit too far and
converted not only drivers that used platform_driver_register() but
also ones using platform_driver_probe(), breaking them in process.Reported-by: Geert Uytterhoeven
Signed-off-by: Dmitry Torokhov -
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (64 commits)
Input: tc3589x-keypad - add missing kerneldoc
Input: ucb1400-ts - switch to using dev_xxx() for diagnostic messages
Input: ucb1400_ts - convert to threaded IRQ
Input: ucb1400_ts - drop inline annotations
Input: usb1400_ts - add __devinit/__devexit section annotations
Input: ucb1400_ts - set driver owner
Input: ucb1400_ts - convert to use dev_pm_ops
Input: psmouse - make sure we do not use stale methods
Input: evdev - do not block waiting for an event if fd is nonblock
Input: evdev - if no events and non-block, return EAGAIN not 0
Input: evdev - only allow reading events if a full packet is present
Input: add driver for pixcir i2c touchscreens
Input: samsung-keypad - implement runtime power management support
Input: tegra-kbc - report wakeup key for some platforms
Input: tegra-kbc - add device tree bindings
Input: add driver for AUO In-Cell touchscreens using pixcir ICs
Input: mpu3050 - configure the sampling method
Input: mpu3050 - ensure we enable interrupts
Input: mpu3050 - add of_match table for device-tree probing
Input: sentelic - document the latest hardware
...Fix up fairly trivial conflicts (device tree matching conflicting with
some independent cleanups) in drivers/input/keyboard/samsung-keypad.c
09 Jan, 2012
1 commit
07 Jan, 2012
1 commit
-
This resolves the conflict in the arch/arm/mach-s3c64xx/s3c6400.c file,
and it fixes the build error in the arch/x86/kernel/microcode_core.c
file, that the merge did not catch.The microcode_core.c patch was provided by Stephen Rothwell
who was invaluable in the merge issues involved
with the large sysdev removal process in the driver-core tree.Signed-off-by: Greg Kroah-Hartman
31 Dec, 2011
1 commit
-
Several protocol initialization routines can fail after they set up
psmouse methods, such as reconnect and disconnect. This may lead to
these stale methods used with different protocol that they were
intended to be used for and may cause unpredictavle behavior and/or
crashes.Make sure we start with a clean slate before executing each and every
protocol detection and/or initialization routine.Reported-by: Paul Fox
Acked-by: Tai-hwa Liang
Acked-by: Paul Fox
Signed-off-by: Dmitry Torokhov
30 Dec, 2011
1 commit
-
Fixing wrong register offset which is used to retrieve the number of buttons
attached to the hardware.Signed-off-by: Tai-hwa Liang
Signed-off-by: Dmitry Torokhov
23 Dec, 2011
1 commit
-
Make sure that mutex is released upon register writing failure.
This fixes boot freezing observed on ARM based OLPC
(http://dev.laptop.org/ticket/11357).Signed-off-by: Paul Fox
Signed-off-by: Tai-hwa Liang
Signed-off-by: Dmitry Torokhov
12 Dec, 2011
1 commit
-
Synaptics touchpads on several Dell laptops, particularly Vostro V13
systems, may not respond properly to PS/2 commands and queries immediately
after resuming from suspend to RAM. This leads to unresponsive touchpad
after suspend/resume cycle.Adding a 1-second delay after resetting the device allows touchpad to
finish initializing (calibrating?) and start reacting properly.Reported-by: Daniel Manrique
Tested-by: Daniel Manrique
Cc: stable@kernel.org
Signed-off-by: Dmitry Torokhov
01 Dec, 2011
1 commit
-
Commit 940ab88962bc1aff3273a8356d64577a6e386736 introduced a new macro to
save some platform_driver boilerplate code. Use it.Signed-off-by: JJ Ding
Signed-off-by: Dmitry Torokhov
29 Nov, 2011
1 commit
21 Nov, 2011
2 commits
-
It turns out that v4's firmware provides a command so we can query
the resolution. Let's use it.Signed-off-by: JJ Ding
Reviewed-by: Daniel Kurtz
Signed-off-by: Dmitry Torokhov -
Starting with v3 hardware, the firmware supports this shorter
elantech_send_cmd. Teach the driver to use it.Signed-off-by: JJ Ding
Reviewed-by: Daniel Kurtz
Signed-off-by: Dmitry Torokhov
19 Nov, 2011
1 commit
-
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
Cc: Ville Syrjala
Cc: Henk Vergonet
Cc: Alessandro Rubini
Cc: Henrik Rydberg
Cc: "Magnus Hörlin"
Cc: Chris Moeller
Cc: Christoph Fritz
Cc: Lucas De Marchi
Cc: Jesper Juhl
Cc: Edwin van Vliet
Cc: Ping Cheng
Cc: Eduard Hasenleithner
Cc: Alexander Strakh
Cc: Glenn Sommer
Signed-off-by: Greg Kroah-Hartman
16 Nov, 2011
1 commit
-
We have determined that the jumpiness previously seen when using
the synaptics kernel mouse driver on OLPC XO was due to not using
the synaptics X11 userspace driver - the xf86-input-evdev driver was
interpreting 'finger near pad' signals as movements. Newer versions
of xf86-input-evdev fix this issue.Additionally, the synaptics kernel driver is now usable on this
platform, but only when run in relative mode.Update the comment and refine the check to allow the synaptics driver
to run on OLPC XO in relative mode.We will continue investigating the EC issue as time becomes available.
Signed-off-by: Daniel Drake
Signed-off-by: Dmitry Torokhov
10 Nov, 2011
3 commits
-
Currently, the synaptics driver puts the device into Absolute mode.
As explained in the synaptics documentation section 3.2, in this mode,
the device sends a continuous stream of packets at the maximum rate
to the host when the user's fingers are near or on the pad or
pressing buttons, and continues streaming for 1 second afterwards.
These packets are even sent when there is no new information to report,
even when they are duplicates of the previous packet.For embedded systems this is a bit much - it results in a huge
and uninterrupted stream of interrupts at high rate.This patch adds support for Relative mode, which can be selected as
a new psmouse protocol. In this mode, the device does not send duplicate
packets and acts like a standard PS/2 mouse. However, synaptics-specific
functionality is still available, such as the ability to set the packet
rate, and rather than disabling gestures and taps at the hardware level
unconditionally, a 'synaptics_disable_gesture' sysfs attribute has
been added to allow control of this functionality.This solves a long standing OLPC issue: synaptics hardware enables
tap to click by default (even in the default relative mode), but we
have found this to be inappropriate for young children and first
time computer users. Enabling the synaptics driver disables tap-to-click,
but we have previously been unable to use this because it also enables
Absolute mode, which is too "spammy" for our desires and actually
overloads our EC with its continuous stream of packets. Now we can enable
the synaptics driver, disabling tap to click while retaining the less
noisy Relative mode.Signed-off-by: Daniel Drake
Signed-off-by: Dmitry Torokhov -
With commit 67d0a0754455f89ef3946946159d8ec9e45ce33a we mark strict_strtox
as obsolete. Convert all remaining such uses in drivers/input/.Also change long to appropriate types, and return error conditions
from kstrtox separately, as Dmitry sugguests.Signed-off-by: JJ Ding
Signed-off-by: Dmitry Torokhov -
This patch fixes some v3 hardware (fw_version: 0x150500) wrongly detected
as v2 hardware.Reported-by: Marc Dietrich
Signed-off-by: JJ Ding
Tested-By: Marc Dietrich
Acked-by: Éric Piel
Signed-off-by: Dmitry Torokhov
08 Nov, 2011
5 commits
-
Signed-off-by: Seth Forshee
Acked-by: Chase Douglas
Signed-off-by: Dmitry Torokhov -
This patch adds support for two ALPS touchpad protocols not
supported currently by the driver, which I am arbitrarily naming
version 3 and version 4. Support is single-touch only at this time,
although both protocols are capable of limited multitouch support.Thanks to Andrew Skalski, who did the initial reverse-engineering
of the v3 protocol.Signed-off-by: Seth Forshee
Acked-by: Chase Douglas
Signed-off-by: Dmitry Torokhov -
In preparation for version 4 protocol support, which has 8-byte
data packets, remove all hard-coded assumptions about packet size
and use psmouse->pktsize instead.Signed-off-by: Seth Forshee
Acked-by: Chase Douglas
Signed-off-by: Dmitry Torokhov -
In preparation for adding support for more ALPS protocol versions,
add a field for the protocol version to the model info instead of
using a field in the flags. OLDPROTO and !OLDPROTO are now called
version 1 and version 2, repsectively.Signed-off-by: Seth Forshee
Acked-by: Chase Douglas
Signed-off-by: Dmitry Torokhov -
In preparation for new protocol support, move the protocol
information currently documented in alps.c to
Documentation/input/alps.txt, where it can be expanded without
cluttering up the driver.Signed-off-by: Seth Forshee
Acked-by: Chase Douglas
Signed-off-by: Dmitry Torokhov
27 Oct, 2011
1 commit
11 Oct, 2011
1 commit
-
This will ensure our reporting is consistent with the rest of the system
and we do not refer to obsolete source file names.Reviewed-by: Wanlong Gao
Reviewed-by: JJ Ding
Reviewed-by: Daniel Kurtz
Signed-off-by: Dmitry Torokhov
07 Oct, 2011
1 commit
-
CONFIG_PM is defined when CONFIG_PM_SLEEP or CONFIG_PM_RUNTIME is defined,
however suspend and resume methods are only valid in context of
CONFIG_PM_SLEEP. If only CONFIG_PM_RUNTIME is defined we get the following
warning (courtesy of Geerts randconfig builds):synaptics_i2c.c: warning: 'synaptics_i2c_resume' defined but not used
Signed-off-by: Dmitry Torokhov
21 Sep, 2011
2 commits
-
This essentially reverts commit f81bc788ff91d4efd4baf88b2c29713838caa8e5.
With recent work on elantech driver, I believe we now have complete support
for all elantech touchpads. So remove this hack.Signed-off-by: JJ Ding
Reviewed-by: Éric Piel
Signed-off-by: Dmitry Torokhov -
V2 hardware has many variants. This patch adddresses two issues:
- some model also has debounce packets, but with a different signature
than v3. Now we just check debounce for all v2 hardware.- due to different scanning methods the hardware uses, x and y ranges have
to be calculated differently. And for some specific versions, we can just
see them as custom-made, so set {x, y} the same values as Windows driver
does.Signed-off-by: JJ Ding
Tested-by: Richard Schütz
Reviewed-by: Éric Piel
Signed-off-by: Dmitry Torokhov
10 Sep, 2011
9 commits
-
This patch adds trackpad support for the MacBookAir4,1, released in July 2011.
It is very similar to the MacBookAir4,2 patch submitted by Joshua Dillon and
Chase Douglas.Signed-off-by: Pieter-Augustijn Van Malleghem
Signed-off-by: Dmitry Torokhov -
v4 hardware is a true multitouch capable touchpad (up to 5 fingers).
The packet format is quite complex, please see protocol document for
reference.Signed-off-by: JJ Ding
Signed-off-by: Dmitry Torokhov -
v3 hardware's packet format is almost identical to v2 (one/three finger touch),
except when sensing two finger touch, the hardware sends 12 bytes of data.Signed-off-by: JJ Ding
Acked-by: Daniel Kurtz
Acked-by: Éric Piel
Signed-off-by: Dmitry Torokhov -
Group property setting code into elantech_set_properties.
Signed-off-by: JJ Ding
Acked-by: Daniel Kurtz
Acked-by: Éric Piel
Signed-off-by: Dmitry Torokhov -
For v2 hardware, there is no real parity check, but we can still check
some constant bits for data integrity.Also rename elantech_check_parity_v1 to elantech_packet_check_v1 to make
these packet checking function names consistent.Signed-off-by: JJ Ding
Acked-by: Daniel Kurtz
Acked-by: Éric Piel
Signed-off-by: Dmitry Torokhov -
Don't try to be too clever and remove ETP_EDGE_FUZZ_V2. X, Y ranges
should be just the raw resolution of the device. Otherwise, they can
cause underflow on the Y axis.Suggested-by: Éric Piel
Signed-off-by: JJ Ding
Acked-by: Daniel Kurtz
Acked-by: Éric Piel
Signed-off-by: Dmitry Torokhov -
With newer hardware, the touchpad provides range info.
Let's use it.Signed-off-by: JJ Ding
Acked-by: Daniel Kurtz
Acked-by: Éric Piel
Signed-off-by: Dmitry Torokhov -
For two finger touches the coordinate of each finger gets reported
separately but with reduced resolution.With this change, we now have the same range for ST and MT data and
scale MT data because it has lower resolution to match ST.Suggested-by: Dmitry Torokhov
Signed-off-by: JJ Ding
Acked-by: Daniel Kurtz
Acked-by: Éric Piel
Signed-off-by: Dmitry Torokhov -
x, y values are actually 12-bit long. Also update protocol document to
reflect the change.Signed-off-by: JJ Ding
Acked-by: Daniel Kurtz
Acked-by: Éric Piel
Signed-off-by: Dmitry Torokhov
08 Sep, 2011
1 commit
-
This flag is a NOOP and can be removed now.
Signed-off-by: Yong Zhang
Signed-off-by: Dmitry Torokhov