USE ABS_MT_TRACKING_ID to report the finger tracking id
Change-Id: I8198eea12c5a90607a6dab48d96c6872a1c5e783
Signed-off-by: makarand.karvekar <makarand.karvekar@motorola.com>
Touch should be disabled after the display is suspended and enabled
before the display is resumed. Resuming after the display can cause
touch to stop functioning.
Change-Id: Ib9861b325994ebfbf3e93554aaa86747f7bde469
Signed-off-by: Greg Meiste <w30289@motorola.com>
reset commented out in resume.
reset address pointer to message object.
adjusted wait time after reset upon recommendation from Atmel.
Change-Id: I0dd983ce0545c6ca2e48d4ed06b90d8c1ac1a390
Signed-off-by: makarand.karvekar <makarand.karvekar@motorola.com>
duplicate register input called, when boot work function is triggered
via firmware update process.
This broke reboot command.
Change-Id: I78547127bfbde39f1f971806156d332883b8bf43
Signed-off-by: makarand.karvekar <makarand.karvekar@motorola.com>
Added new objects grip, palm and Digitizer HID.
Ignoring info block checksum for now, issues seen
on some HW having incorrect info data.
Change-Id: I812d3099dd273e99a87ca3fe8dfce3bcdfbede7e
Signed-off-by: makarand.karvekar <makarand.karvekar@motorola.com>
Taking out the powerconfig hack seems to break the current version
of the firmware. Put it back in for now.
Signed-off-by: Colin Cross <ccross@android.com>
Updated info block checksum calculation to use 24-bit crc
as per Atmel data sheet.
Updated eeprom field(nv_checksum) to accommodate 24-bits.
Removed HACK(powerconfig) code for low-power mode.
Change-Id: Ic38a695010fd519af5c87ac731e8582898058bbb
Signed-off-by: makarand.karvekar <makarand.karvekar@motorola.com>
Previously, Message Processor always generated
CRC byte at end of message.
Now(version 8), this CRC byte is generated only upon request.
To request that a checksum is generated, the MSBit
of the address of the Message Processor object is set to 1.
By default the CRC byte is not generated, reading the CRC byte
will remove new messages from IC causing lost touches.
Added control flag and message size correction for this feature.
Change-Id: I7d1a75528a59afcc95688ae1b7d6704d29ffe443
Signed-off-by: makarand.karvekar <makarand.karvekar@motorola.com>
Added 12-bit support for x,y co-ordinates.
x,y > 1023, x,y is reported as 12-bit.
x,y < 1024, x,y is reported as 10-bit.
Add firmware for second touch panel type.
Change-Id: Icfd687a37f5b3fcbb784665bac7d270317421a9a
Signed-off-by: makarand.karvekar <makarand.karvekar@motorola.com>
This adds a driver for the Quantum capacitive touch controllers
that use the Object Based Protocol (OBP) for communication
between the driver and the on-chip firmware.
Change-Id: Ib469d626d5f0d11562547f2cbeb71a48e11f6072
Cc: Dan Murphy <D.Murphy@motorola.com>
Cc: Mike Chan <mike@android.com>
Cc: Paul Eastham <eastham@google.com>
Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
the panjit touchscreen needs to be reset when returning from
deep sleep mode; add a platform data structure to specify
the reset GPIO.
perform the reset during _probe, since the code already needs
to exist for _resume
delete a bunch of unused preprocessor defines
Change-Id: I71ae65dec45710b0eab4625036edf75064d4cc2b
Signed-off-by: Gary King <gking@nvidia.com>
driver supports the MGG1010AI06 and EGG1010AI06 capacitive touch panels
Change-Id: I038030bf4c9acbd0d3d504427a32f4e46632c115
Signed-off-by: Gary King <gking@nvidia.com>
Send both fingers using the new multitouch protocol in addition to
the old single finger event and second finger ABS_HAT* hack.
The new protocol does not specify how to report up events. To make
sure the user-space frameworks can generate up events, we send at
least one event where ABS_MT_TOUCH_MAJOR is zero before we stop
sending events for a finger.
Signed-off-by: Arve Hjønnevåg <arve@android.com>
This driver allows userspace to receive notification when client
specified key combinations are pressed.
The client opens /dev/keychord and writes a list of keychords
for the driver to monitor.
The client then reads or polls /dev/keychord for notifications.
A client specified ID for the keychord is returned from read()
when a keychord press is detected.
Signed-off-by: Mike Lockwood <lockwood@android.com>
keychord: fix to build without CONFIG_PREEMPT
Change-Id: I911f13aeda4224b6fa57863bc7e8972fec8837fb
Add a platform device in the board file to specify a reset key-combo.
The first time the key-combo is detected a work function that syncs
the filesystems is scheduled. If all the keys are released and then
pressed again, it calls panic. Reboot on panic should be set for
this to work.
Change-Id: I9d54283ca1fba45e4b1ae1a407524cdda8171143
Signed-off-by: Arve Hjønnevåg <arve@android.com>
This is needed to support devices that put non-keyboard buttons in
the keyboard matrix. For instance several devices put the trackball
button in the keyboard matrix. In this case BTN_MOUSE should be
reported from the same input device as REL_X/Y.
It is also useful for devices that have multiple logical keyboard in
the same matrix. The HTC dream has a menu key on the external keyboard
and another menu key on the slide-out keyboard. With a single input
device only one of these menu keys can be mapped to KEY_MENU.
Signed-off-by: Arve Hjønnevåg <arve@android.com>
Supports keyboard matrixces, direct inputs, direct outputs and axes connected to gpios.
Change-Id: I5e921e6e3a1cc169316ee3b665f4cc21b5735114
Signed-off-by: Arve Hjønnevåg <arve@android.com>
Signed-off-by: Nick Pelly <npelly@google.com>
Since wall time can jump backwards, it cannot be used to determine if one
event occured before another or for how long a key was pressed.
Signed-off-by: Arve Hjønnevåg <arve@android.com>
We need to call platform_device_unregister(i8042_platform_device)
before calling platform_driver_unregister() because i8042_remove()
resets i8042_platform_device to NULL. This leaves the platform device
instance behind and prevents driver reload.
Fixes https://bugzilla.kernel.org/show_bug.cgi?id=16613
Reported-by: Seryodkin Victor <vvscore@gmail.com>
Cc: stable@kernel.org
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
By visual inspection, the reported touch_major and touch_minor axes
are a factor of two too small. Presumably the device actually reports
the semi-major and semi-minor axes. Corrected with this patch.
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
For MT slots, the ABS_MT_TRACKING_ID determines whether a slot is in use,
but currently leaves initialization up to the drivers. This patch sets the
slot state to unused upon creation.
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
This fixes a regression introduced in
3b57ca0f80.
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>
No need to call input_free_device() after input_unregister_device().
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Introduced by 987a6c0298 a swap in max/min
calculation gets fixed by this patch.
Reported-by: Bruno Prémont <bonbons@linux-vserver.org>
Signed-off-by: Christoph Fritz <chf.fritz@googlemail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Recent modprobe and udev versions allow to create device nodes
for modules which are not loaded. Only the first access will cause
the in-kernel module loader to pull-in the module. Systems which
never access the device node will not needlessly load the module,
and no longer need init scripts or other facilities to unconditionally
load it.
Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
They've been introduced by 987a6c02 ("Input: switch to input_abs_*()
access functions") and they appear to be some kind of debug left-over.
[Dmitry Torokhov: these are my fault - I added XX prefixes in places where
I wanted to do additional review of the code but failed to actually do
that in these particular instances.]
Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* 'params' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: (22 commits)
param: don't deref arg in __same_type() checks
param: update drivers/acpi/debug.c to new scheme
param: use module_param in drivers/message/fusion/mptbase.c
ide: use module_param_named rather than module_param_call
param: update drivers/char/ipmi/ipmi_watchdog.c to new scheme
param: lock if_sdio's lbs_helper_name and lbs_fw_name against sysfs changes.
param: lock myri10ge_fw_name against sysfs changes.
param: simple locking for sysfs-writable charp parameters
param: remove unnecessary writable charp
param: add kerneldoc to moduleparam.h
param: locking for kernel parameters
param: make param sections const.
param: use free hook for charp (fix leak of charp parameters)
param: add a free hook to kernel_param_ops.
param: silence .init.text references from param ops
Add param ops struct for hvc_iucv driver.
nfs: update for module_param_named API change
AppArmor: update for module_param_named API change
param: use ops in struct kernel_param, rather than get and set fns directly
param: move the EXPORT_SYMBOL to after the definitions.
...