Age | Commit message (Collapse) | Author |
|
The current reset-gpio support triggers an interrupt storm on platforms
using the maxtouch with level based interrupt. The Motorola Droid 4,
which I used for some of the tests is not affected, since it uses a edge
based interrupt.
This change avoids the interrupt storm by enabling the device while its
interrupt is disabled. Afterwards we wait 100ms. This is important for
two reasons: The device is unresponsive for some time (~22ms for
mxt224E) and the CHG (interrupt) line is not working properly for 100ms.
We don't need to wait for any following interrupts, since the following
mxt_initialize() checks for bootloader mode anyways.
This fixes a boot issue on GE PPD (watchdog kills device due to
interrupt storm) and does not cause regression on Motorola Droid 4.
Fixes: f657b00df22e ("Input: atmel_mxt_ts - add support for reset line")
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Reviewed-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
(cherry picked from commit ca1cd36cef00260db6b35b32d863e0c580c0488d)
Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com>
(cherry picked from commit 40af4dba5fe9c14bd254fde06b1f64f8c0348974)
|
|
Provide support for controlling reset pin. If this is not driven
correctly the device will be held in reset and will not respond.
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
(cherry picked from commit f657b00df22e231da217ca0162a75db452475e8f)
Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com>
(cherry picked from commit 51a32466a0ca40843039b6d1f1e719bc93db8a21)
|
|
Switch mxt_data and interrupt to resource managed allocation methods,
which cleans up the driver slightly and prepares for adding
reset GPIO support.
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
(cherry picked from commit 8cc8446b9b62ef954b630ed30e53bd1553e916a6)
|
|
When using the 'object' sysfs attribute, T100 is not displayed in
the output.
Signed-off-by: Maxime Roussin-Bélanger <maxime.roussinbelanger@gmail.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
(cherry picked from commit 089b50d95948f691589cca4d81f1f8761747dbaa)
|
|
If a function declares a variable to access a structure element,
use it consistently.
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
(cherry picked from commit d7ddf15414dd598b9b875664e6b7aebe6c988f5d)
|
|
This reverts commit 28531a1ff5ca27c0ab7e2f99bbb0058858b72aa5.
|
|
Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
(cherry picked from commit 22a2065b9a3fa6ad458e3100b66c4acaa05f2466)
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
Update mxt driver to upstream version.
Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
gcc-5 defaults to gnu11 which used c99 inline semantics in c99 'inline' is
not externally visible unlike gnu89, therefore we use 'static inline' which
has same semantics between gnu89 and c99
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
(cherry picked from commit bde304575f3ecaa9570a9329196dffaadf3adafa)
|
|
For functions defined in header files we should use static inline rather
than inline, which breaks under the latest upstream gcc (which is really
gcc issue, but static inline is better suited regardless).
The related error (with allmodconfig under tile):
MODPOST 4002 modules
ERROR: "lifebook_detect" [drivers/input/mouse/psmouse.ko] undefined!
Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
(cherry picked from commit bd447b61c49fc26f0299587db3e6d66da49dc529)
|
|
According to multi-touch-protocol.txt the kernel knows two type of
devices:
- Type A: devices which provide anonymous contacts
- Type B: devices which are capable of tracking individual contacts
The Fusion touch screen is a Type B device: The Touch ID field allows
to differentiate between 2 different fingers. This updates the driver
to properly allocate a slot for each identified contact and use the
helper functions available from the input core system.
(cherry picked from commit 698d0a9bb80d94adef58122717c61f55dd61e22d)
|
|
Use level triggered interrupt which makes sure that even we miss a
rising edge (due to latencies in the kernel), the interrupt still
will be handled later, and doesn't freeze the input device.
(cherry picked from commit ef25b8a9f9c0ca7cc0f0f955d89d112c3e19f75b)
|
|
Use platform independent description for requested GPIOs.
|
|
Fix chip reset by sleeping long enought after reset. Do proper error
handling (free GPIO on failure). Use dev_* for message logging to get
similar messages for all fusion driver related errors and warnings.
|
|
To avoid warnings use the new I2C power management function for
suspend and resume.
|
|
Added platform data struct to define interrupt and reset GPIO. This
allows to initialize the touchscreen controller inside the driver
rather then in each platform and use the driver as a module.
|
|
When the next interrupt request apeares between the confirmation of
the previous (a write via I2C, fusion_F0710A_write_complete) and
the reenable of the GPIO interrupt, the driver hangs and no more
touch inputs are reported.
This patch moves the confirmation after the reenabling of the GPIO
interrupt.
|
|
Recent evdev X-Server input driver implementation complain when
only multitouch axes have been reported ("found only multitouch-axes.
That shouldn't happen."). Therefor also report the primary touch
detection with default axis.
|
|
In order to use the auxiliar ADC inputs of STMPE811 devices we need
to add resources for the ADC block. Also move the ADC macros from
the touchscreen driver to the general header file. We will need them
for the ADC driver in future.
|
|
The port used for KEY_BACK does not support wakeup (no wake PIN). Remove
the wake flag, this prevents unbalanced irq warning messages.
|
|
For Android use ICS variant of Fusion 7 and 10 multi-touch driver (See
Fusion 7 and 10 drivers for Linux.pdf and Linux Drivers Fusion 10.zip).
Tested to be working both with Android 4.0.4 for Colibri T20 as well as
Android 4.2.1 for Colibri T30.
|
|
The Android idc parser seems to have an issue with spaces in names:
D/EventHub( 159): No input device configuration file found for device
'wm97xx touchscreen'.
Rename the driver in order for the idc parser to recognise idc file
/system/usr/idc/wm97xx-ts.idc being a simple copy of the qwerty.idc
one.
|
|
Rotate touch for now due to missing resistive touch calibration
integration. This makes our 5.7 inch EDT ET057090DHU panel usable.
|
|
Rotate touch for now due to missing resistive touch calibration
integration. This makes our 7 inch EDT ET070080DH6 panel usable.
|
|
This patch adds the multi-touch input driver for the TouchRevolution
Fusion 7 and 10 panels (See Fusion 7 and 10 drivers for Linux.pdf and
Linux Drivers Fusion 10.zip).
|
|
Conflicts:
arch/arm/mach-tegra/tegra3_usb_phy.c
arch/arm/mach-tegra/usb_phy.c
drivers/usb/gadget/tegra_udc.c
drivers/usb/otg/Makefile
drivers/video/tegra/fb.c
sound/soc/tegra/tegra_pcm.c
|
|
Android immediately shuts down due to too low voltage reading from
wm97xx-battery driver on our analog input pins if nothing is connected.
Making our hack not Android dependant means driver still fails loading
on Android therefore resolving above issue for now.
|
|
While the ADC platform data passing worked just fine in kernel 2.6.36.2
this currently fails. Therefore introduce an ugly hack to explicitly
get said data via a board level call back.
|
|
Previous HZ / 50 calculation allowed for a touch sampling time of 20 ms
which is not sufficient if either the touch detect delay or the
settling time is longer than 500 us.
|
|
Add BTN_TOUCH event reporting to stmpe-ts touchscreen driver. This will
make this touchscreen driver behave consistently wrt. BTN_TOUCH.
cd2d64b1a0a12283d63c9d853d5b1403d5cd6c9d
65db86ac07e2f7f91a552490c0be6a99aab8e4a8
|
|
-add compilation flag to treat warning as error
bug 949219
Change-Id: I3f7f557099b0473883e0b959b65eb8f17ed30978
Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
Reviewed-on: http://git-master/r/118008
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Sanjay Singh Rawat <srawat@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
|
|
This change assists automating system wide
touch driver performance.
Bug 928954
Change-Id: Iea21dfea1c31748ce5835652cecc0856c4f4028d
Signed-off-by: Vikas Jain <vjain@nvidia.com>
Reviewed-on: http://git-master/r/118984
Reviewed-by: Sachin Nikam <snikam@nvidia.com>
Reviewed-by: David Jung <djung@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
|
|
Add init value for rc in lightsensor_ioctl() to fix compile time
warning.
Change-Id: Ifcb953873b5bc861303d9d32b1906a69b2c8311f
Signed-off-by: Chandler Zhang <chazhang@nvidia.com>
Reviewed-on: http://git-master/r/113121
Reviewed-by: Varun Colbert <vcolbert@nvidia.com>
Tested-by: Varun Colbert <vcolbert@nvidia.com>
|
|
The light level is very low at the beginning of resume if auto
backlight level is enabled.
Remove the trigger event code with zero value code and directly
report the actual adc level to fix the issue.
Bug 1005271
Change-Id: I225f2b2b07e676d736ea5cd116cdc769d57ce2f2
Signed-off-by: Chandler Zhang <chazhang@nvidia.com>
Reviewed-on: http://git-master/r/112892
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
|
|
Remove write permission for cts verification. The init script
will make it acessible on engineering builds
Bug 906796
Change-Id: I43170f61871018d15a710c1a75b5298dffec6f87
Signed-off-by: Hao Tang <htang@nvidia.com>
Reviewed-on: http://git-master/r/106667
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: David Schalig <dschalig@nvidia.com>
Reviewed-by: Robert Collins <rcollins@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Dan Willemsen <dwillemsen@nvidia.com>
|
|
- Increasing default polling_delay from 500mS to 1000mS
to reduce unnecessary cpu hogging
- Supporting LIGHTSENSOR_IOCTL_SET_DELAY to have facility
to set delay from sensor HAL
- Less prints spew on console by changing pr_info -> pr_debug
Bug 993924
Change-Id: Iac0770553a1d426e4953aa4c8ff976b6cdc8fd81
Signed-off-by: Sachin Nikam <snikam@nvidia.com>
Reviewed-on: http://git-master/r/105898
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
|
|
bug 949219
Change-Id: I408fb008a70c7ea546384e68ac50c1f0604fc39a
Signed-off-by: Sanjay Singh Rawat <srawat@nvidia.com>
Reviewed-on: http://git-master/r/92276
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
|
|
bug 949219
Change-Id: I5942ba86bd1cbe1f1bd06a7c9f51a10d83e6cabb
Signed-off-by: Sanjay Singh Rawat <srawat@nvidia.com>
Reviewed-on: http://git-master/r/92819
Reviewed-by: Rohan Somvanshi <rsomvanshi@nvidia.com>
Tested-by: Rohan Somvanshi <rsomvanshi@nvidia.com>
|
|
Removing interrupt key driver as this duplicates the
gpio_keys driver. Desired functionality can be achieve
through the gpio_keys.
Change-Id: I7e5bc18d4b30c64fa08bb64cdceffe2193c43c8f
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/92462
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
|
|
Some of buttons, like power-on key or onkey, may only generate interrupts
when pressed and not actually be mapped as gpio in the system. Allow
setting gpio to invalid value and specify IRQ instead to support such
keys. The debounce timer is used not to debounce but to ignore new IRQs
coming while button is kept pressed.
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Cherry-picked from mainline
d8ee4a1c90529ed06e1aa43d034986649f7b670b
Change-Id: Ibf8e407351082d816dd051d2c69a4a1a7caa70e7
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/92321
Reviewed-by: Automatic_Commit_Validation_User
|
|
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
(cherry picked from commit a16ca23935afc0d72215b139720bd07df3162a9f)
Change-Id: I90ae154a3b124fad0e9320ac5d9d8083175461b5
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/92320
Reviewed-by: Automatic_Commit_Validation_User
|
|
request_any_context_irq() should handle the case when using GPIO expanders
that themselves use threaded IRQs, and so the premise of change
7e2ecdf438bb479e2b4667fc16b1a84d6348da04 is incorrect.
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
(cherry picked from commit 6709c9a5d8c53092cbe89128df4e0a549e93133b)
Change-Id: I0b4267f6493483c2edc9926f48ecda68d863bead
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/92319
Reviewed-by: Automatic_Commit_Validation_User
|
|
The platform data should not be altered and therefore should be
accessed through const pointers.
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Cherry-picked from
d9080921aa32c70a95476ce387e973787b892591
Change-Id: I5791f831909d4417a5c2732e310630c97c42f4a9
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/92318
Reviewed-by: Automatic_Commit_Validation_User
|
|
Use the of_property_read_u32() helper function to retrieve u32 values
from the device tree. Also do not pass the len parameter to
of_get_property if it isn't checked afterwards.
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
(cherry picked from commit cca84699a079a91b0a0cb4f2da8548e56859376a)
Change-Id: I265e0cdc8b761572d1c78d699d761097be26a4e4
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/92317
Reviewed-by: Automatic_Commit_Validation_User
|
|
Maximum power saving is observed by disabling multiple touchscreen
objects. Objects must be saved going into LP0, and restored in
reverse order upon resuming from LP0.
Bug 919435
Change-Id: I42799fbb02efd28e4954b53b3d052ad138537ce9
Signed-off-by: Robert Collins <rcollins@nvidia.com>
Reviewed-on: http://git-master/r/88458
Reviewed-by: Dan Willemsen <dwillemsen@nvidia.com>
Tested-by: Gerrit_Virtual_Submit
|
|
The disable_irq_wake() function is getting called more than
enable_irq_wake() and hence creating the inbalance error
for disable irq wake.
Fixing this with same logic for enable_irq_wake().
Change-Id: I32028fde01f1971f94cb75c188f975cbc78e74c5
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/86906
|
|
Bug 946800
Change-Id: I1c7665002c94f54eb44c6b0715f6bd737a3e1288
Signed-off-by: Johnny Qiu <joqiu@nvidia.com>
Reviewed-on: http://git-master/r/86572
Reviewed-by: Sachin Nikam <snikam@nvidia.com>
Reviewed-by: Kerwin Wan <kerwinw@nvidia.com>
|
|
Modified driver files to support unified DirectTouch which
can support Kai and Cardhu together. Vendor-supplied source
code update.
Bug 832605
Signed-off-by: Ali Ekici <aekici@nvidia.com>
Change-Id: If0799147b50e9c2cf102d2216103e30b525026e4
Reviewed-on: http://git-master/r/80128
Reviewed-by: Robert Collins <rcollins@nvidia.com>
Reviewed-by: Dan Willemsen <dwillemsen@nvidia.com>
Tested-by: Robert Collins <rcollins@nvidia.com>
Reviewed-by: Varun Wadekar <vwadekar@nvidia.com>
(cherry picked from commit 1dfd9d747b8ceb344a435daac60d30f1a6441bcb)
Reviewed-on: http://git-master/r/83568
Tested-by: Gerrit_Virtual_Submit
|
|
Bug 937953
Change-Id: I5466fedf6fdcd1f577753736e9eb9b2dbf5b52c0
Signed-off-by: Johnny Qiu <joqiu@nvidia.com>
Reviewed-on: http://git-master/r/83386
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
|
|
Bug 937953
Change-Id: Ieb9a941faaad0945948af806e8bc09a1e51f5772
Signed-off-by: Johnny Qiu <joqiu@nvidia.com>
Reviewed-on: http://git-master/r/83369
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
|