Commit graph

1,985 commits

Author SHA1 Message Date
makarand.karvekar
17ab6bba46 input: touchscreep :qtouch: report the finger tracking id
USE ABS_MT_TRACKING_ID to report the finger tracking id

Change-Id: I8198eea12c5a90607a6dab48d96c6872a1c5e783
Signed-off-by: makarand.karvekar <makarand.karvekar@motorola.com>
2010-10-06 16:51:06 -07:00
Greg Meiste
3fee717f42 input: qtouch: Change suspend level
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>
2010-10-06 16:50:58 -07:00
makarand.karvekar
0efe0dcfe7 touch: temporary fix for IC wake issue.
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>
2010-10-06 16:33:33 -07:00
Colin Cross
1516ba0048 input: qtouch: Fix warning
Signed-off-by: Colin Cross <ccross@google.com>
2010-10-06 16:33:28 -07:00
makarand.karvekar
0f0edcf524 touch: remove duplicate register input device call
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>
2010-10-06 16:33:27 -07:00
makarand.karvekar
53bf9eb154 touch: firmware 09 support
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>
2010-10-06 16:33:24 -07:00
Colin Cross
e3a43b2bed qtouch: Remove the powerconfig hack
Signed-off-by: Colin Cross <ccross@android.com>
2010-10-06 16:33:18 -07:00
Colin Cross
0464dd14b6 qtouch: Revert removal of the powerconfig hack
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>
2010-10-06 16:33:18 -07:00
makarand.karvekar
6f36785b89 touch: Fix info block checksum calculation and eeprom field.
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>
2010-10-06 16:33:18 -07:00
makarand.karvekar
23b71fa971 touch: Correct message read size for CRC feature.
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>
2010-10-06 16:33:15 -07:00
makarand.karvekar
64ff66260b touch: request_firmware from userspace.
Removed header file with firmware structures.
Added request_firmware call.

Change-Id: If01b64a7d7489ec8f553d87b6a4a8afea92f737d
Signed-off-by: makarand.karvekar <makarand.karvekar@motorola.com>
2010-10-06 16:33:14 -07:00
makarand.karvekar
547ba01648 touch: qtouch_obp: Add 12bit resolution for x,y co-ordinates.
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>
2010-10-06 16:33:04 -07:00
Makarand Karvekar
56e7a19d56 touch: qtouch obp mxt1386 support
Driver has firmware flashing capability.
updated to firmware 07_E0.

Change-Id: Id3d4861fcc05fd171feffb43d013bef6fe19f906
Signed-off-by: Makarand Karvekar <makarand.karvekar@motorola.com>
2010-10-06 16:32:58 -07:00
Colin Cross
d71179e7d6 qtouch: Fix slab.h includes for 2.6.34-rc4
Change-Id: I2da10ee5a45f5e29a39b23a9f0352ffa3d260b5e
Signed-off-by: Colin Cross <ccross@android.com>
2010-10-06 16:32:52 -07:00
Colin Cross
93011209c4 qtouch_obp_ts: Add support for X and Y flip
Change-Id: I463ad7bfc906eedb8f80fededdbd12a24b77ab1a
Signed-off-by: Colin Cross <ccross@android.com>
2010-10-06 16:32:51 -07:00
Dima Zavin
e5d0414337 input: Add Quantum OBP touchscreen support
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>
2010-10-06 16:32:51 -07:00
Colin Cross
98959c8563 Merge branch 'android-2.6.36' into android-tegra-2.6.36
Conflicts:
	drivers/input/touchscreen/Kconfig

Change-Id: Ifc75266e258f9513d78c47c12e2f1de1d2344f02
2010-10-06 16:32:09 -07:00
Gary King
e91ad7bcf4 touchscreen: panjit: use multi-touch reporting interface
Change-Id: I2bcad8cd07725e36598545168f33b87b9f217c11
Signed-off-by: Gary King <gking@nvidia.com>
2010-10-06 16:29:02 -07:00
Gary King
e4f8b6f6c1 input: touchscreen: panjit_i2c: fix suspend
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>
2010-10-06 16:28:30 -07:00
Gary King
dcc9fcc567 panjit_touch: fix warning "control reaches end of non-void function"
Change-Id: I3a43dc58edff3687e294c2d2a09d1f6e06e27fce
Signed-off-by: Gary King <gking@nvidia.com>
2010-10-06 16:28:12 -07:00
Gary King
fbf56d14a0 input: touchscreen driver for panjit capacitive i2c touch panels
driver supports the MGG1010AI06 and EGG1010AI06 capacitive touch panels

Change-Id: I038030bf4c9acbd0d3d504427a32f4e46632c115
Signed-off-by: Gary King <gking@nvidia.com>
2010-10-06 16:28:11 -07:00
Dima Zavin
b5a327cd78 input: gpio_event: make driver be more robust against incorrectly configured lvl trigger irqs
Change-Id: Ie378600668500dcffeaaddeaba3628e5c2141aa4
Signed-off-by: Dima Zavin <dima@android.com>
2010-09-29 17:49:42 -07:00
Arve Hjønnevåg
77598e8316 Input: gpio_event: Don't call gpio_cansleep before gpio_request.
If the gpio did not exist it would crash in gpiolib.

Signed-off-by: Arve Hjønnevåg <arve@android.com>
2010-09-29 17:49:41 -07:00
Dmitry Shmidt
c51e3dc98e drivers: input: misc: Fix section mismatch warning
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2010-09-29 17:49:40 -07:00
Rebecca Schultz Zavin
6aeda3ba66 Input: synaptics_i2c_rmi: Add irqflags to platform data struct to pass them to driver
Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
Signed-off-by: Arve Hjønnevåg <arve@android.com>
2010-09-29 17:49:13 -07:00
Arve Hjønnevåg
13ff58d150 Input: synaptics_i2c_rmi: Send new multi touch events
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>
2010-09-29 17:49:13 -07:00
Arve Hjønnevåg
4a5096fcd4 Input: synaptics_i2c_rmi: Add sensitivity adjust option.
Signed-off-by: Arve Hjønnevåg <arve@android.com>
2010-09-29 17:49:12 -07:00
Arve Hjønnevåg
07f13eb3c9 Input: synaptics_i2c_rmi: Add support for panels with has-no-relative-data property.
Signed-off-by: Arve Hjønnevåg <arve@android.com>
2010-09-29 17:49:12 -07:00
Arve Hjønnevåg
a281518ac5 Input: synaptics_i2c_rmi: Driver for Synaptics Touchscreens using RMI over I2C.
Signed-off-by: Arve Hjønnevåg <arve@android.com>

Input: synaptics_i2c_rmi: disable_irq -> disable_irq_nosync

Also remove duplicate swap macro

Change-Id: I77266431ba5c267a5d92c4bdc2f127a5297065a8
Signed-off-by: Arve Hjønnevåg <arve@android.com>
2010-09-29 17:49:12 -07:00
Mike Lockwood
dd73d5b2d9 input: keychord: Add keychord driver
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
2010-09-29 17:49:12 -07:00
Arve Hjønnevåg
507859c6df input: Add keyreset driver.
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>
2010-09-29 17:49:12 -07:00
Arve Hjønnevåg
eefa53c09f Input: gpio_input: disable_irq -> disable_irq_nosync
Signed-off-by: Arve Hjønnevåg <arve@android.com>
2010-09-29 17:49:11 -07:00
Arve Hjønnevåg
e9a7fa061a Input: gpio_event: Allow multiple input devices per gpio_event device
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>
2010-09-29 17:49:11 -07:00
Arve Hjønnevåg
e7f3240267 Input: gpio_input: Fix keys with keycode 0x100-0x1ff
KEY_MAX is no longer a power of 2.

Signed-off-by: Arve Hjønnevåg <arve@android.com>
2010-09-29 17:49:11 -07:00
Arve Hjønnevåg
4e68fb6026 Input: Generic GPIO Input device.
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>
2010-09-29 17:49:11 -07:00
Mike Chan
ebdbe7c03e input: evdev: Use unique wakelock names
wakelock names are now contain evdev->name and pid

Signed-off-by: Mike Chan <mike@android.com>
2010-09-29 17:49:09 -07:00
Arve Hjønnevåg
36c83de718 Input: Use monotonic time for event time stamps.
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>
2010-09-29 17:49:09 -07:00
Arve Hjønnevåg
7a1d4b001f Input: Hold wake lock while event queue is not empty.
Allows userspace code to process input events while
the device appears to be asleep.

Signed-off-by: Arve Hjønnevåg <arve@android.com>
2010-09-29 17:49:09 -07:00
Dmitry Torokhov
af045b8666 Input: i8042 - fix device removal on unload
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>
2010-08-31 18:28:15 -07:00
Henrik Rydberg
57157becdd Input: bcm5974 - adjust major/minor to scale
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>
2010-08-31 18:00:02 -07:00
Henrik Rydberg
ba4d695a90 Input: MT - initialize slots to unused
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>
2010-08-28 21:39:43 -07:00
Mike Auty
d9f66c1a46 Input: wacom - fix mousewheel handling for old wacom tablets
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>
2010-08-28 21:39:04 -07:00
Axel Lin
288933c02b Input: pxa27x_keypad - remove input_free_device() in pxa27x_keypad_remove()
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>
2010-08-25 07:51:40 -07:00
Christoph Fritz
268ba5c05b Input: mousedev - fix regression of inverting axes
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>
2010-08-25 07:50:44 -07:00
Kay Sievers
8905aaafb4 Input: uinput - add devname alias to allow module on-demand load
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>
2010-08-21 00:37:40 -07:00
Dmitry Torokhov
77edf0c751 Input: hil_kbd - fix compile error
Fix another compile breakage stemming from 987a6c02 ("Input: switch to
input_abs_*() access functions")

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2010-08-21 00:37:39 -07:00
Daniel Mack
b84ae4a140 Input: fix faulty XXinput_* calls
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>
2010-08-13 12:03:24 -07:00
Linus Torvalds
26df0766a7 Merge branch 'params' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus
* '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.
  ...
2010-08-12 10:01:59 -07:00
Linus Torvalds
e83ddb3354 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6
* 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: (40 commits)
  mfd: Fix incorrect kfree(i2c) in wm8994-core i2c_driver probe
  mfd: Fix incorrect kfree(i2c) in wm831x-core i2c_driver probe
  mfd: Fix incorrect kfree(i2c) in tps6507x i2c_driver probe
  mfd: Add TPS6586x driver
  mfd: Use macros instead of some constant magic numbers for menelaus
  mfd: Fix menelaus mmc slot 2 misconfiguration
  mfd: Missing slab.h includes
  mfd: Fix wrong wm8350-core kfree in error path
  mfd: Fix wm8994_device_init() return value
  mfd: Avoid calling platform_device_put() twice in ucb1400 probe error path
  mfd: Annotate tc6387xb probe/remove routines with __devinit/__devexit
  mfd: Fix tc6387xb resource reclaim
  mfd: Fix wrong goto labels for tc6393xb error handling
  mfd: Get rid of now unused mc13783 private header
  hwmon: Don't access struct mc13783 directly from mc13783-adc
  mfd: New mc13783 function exposing flags
  mfd: Check jz4740-adc kmalloc() result
  mfd: Fix jz4740-adc resource reclaim in probe error path
  mfd: Add WM8321 support
  mfd: Add stmpe auto sleep feature
  ...
2010-08-12 10:01:06 -07:00
Linus Torvalds
58d4ea65b9 Merge branch 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6
* 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6:
  mmc_spi: Fix unterminated of_match_table
  of/sparc: fix build regression from of_device changes
  of/device: Replace struct of_device with struct platform_device
2010-08-12 09:11:31 -07:00