Age | Commit message (Collapse) | Author |
|
The port used for KEY_BACK does not support wakeup (no wake PIN). Remove
the wake flag, this prevents unbalanced irq warning messages.
|
|
-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>
|
|
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
|
|
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
|
|
Enable wake from LP1 on KP interrupt when scan timeout
is set to zero.
Bug 921161
Reviewed-on: http://git-master/r/78146
Change-Id: I6f28f0da971bd159b40412608fca2615a70f6988
Signed-off-by: Ashwini Ghuge <aghuge@nvidia.com>
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Reviewed-on: http://git-master/r/78700
Reviewed-by: Automatic_Commit_Validation_User
|
|
A flag, disable_ev_rep, is added to enable/disable repeat events
reported from the keyboard driver.
BUG 918758
Change-Id: I65be2f795fd64ebb7d36ad278aa2b24362c1e5ea
Signed-off-by: Nitin Kumbhar <nkumbhar@nvidia.com>
Reviewed-on: http://git-master/r/72952
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Sachin Nikam <snikam@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-by: Varun Wadekar <vwadekar@nvidia.com>
|
|
Added is_open to know whether the clock has been disabled.
Occasionally _close is called before _suspend during LP0 cycles
resulting in a hang as the clock is disabled.
Bug 855753
Change-Id: Ida938ada7d14085e11096b25cf41431fc2d46215
Reviewed-on: http://git-master/r/50218
Reviewed-on: http://git-master/r/64257
Reviewed-by: Simone Willett <swillett@nvidia.com>
Tested-by: Simone Willett <swillett@nvidia.com>
|
|
These changes have no effect if CONFIG_GCOV_KERNEL is not set in
defconfig. It is easier to trigger GCOV for kernel if this patch
is in by only setting the before mentioned flag.
Change-Id: I8aade309da2da62c4b3889bd84e4123ba8f182da
Signed-off-by: Juha Tukkinen <jtukkinen@nvidia.com>
Reviewed-on: http://git-master/r/62999
Reviewed-by: Rohan Somvanshi <rsomvanshi@nvidia.com>
Tested-by: Rohan Somvanshi <rsomvanshi@nvidia.com>
Rebase-Id: R4c238f707f1db600f188ae83426336753992b7be
|
|
The scan timeout of the continuous mode can be calculated based on
init delay, repeat delay, debounce count and number of active row.
It also depends on how many scan need to be done before kbc change
the mode from continuous to wakeup mode.
Providing mechanism to select the scan count from platform data
and calculating the scan timeout count based on above parameters.
bug 876712
Reviewed-on: http://git-master/r/62591
(cherry picked from commit 3360ed5be86a2afd6716bc5227cc39657efd35b2)
Change-Id: Ib9dc96b1cc201b7af0bd62a3ec7fe9a80791d796
Reviewed-on: http://git-master/r/63229
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
Tested-by: Laxman Dewangan <ldewangan@nvidia.com>
Rebase-Id: Rbcb685d34c5d00ebf1c79d356eb63e4584075447
|
|
-Set only REQUIRED row and column configuration register to
PROPER values to avoid continuously generating KBC input events.
-Use *enable* field in pin_cfg, to check GPIO_x_ROW_EN register
should be set or clear.
bug 889620
Change-Id: I91990156c300605c214e7e393edf14fbced1573d
Reviewed-on: http://git-master/r/59153
Reviewed-by: Shridhar Rasal <srasal@nvidia.com>
Tested-by: Shridhar Rasal <srasal@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Rebase-Id: R03e9deb839fc21c1ea66fc81ae6601155b8e8d4d
|
|
This reverts commit baafb435372dd48e3854028aec669effae957c9e.
Rebase-Id: Re9bd7135ad63df297876341431cad65fa12a838a
|
|
For the key connected directly to interrupt keys, there is continuous
interrupt from key pressed. The generation of interrupt stops only
when key is released.
To handle this case, reporting the key press in first interrupt and key
release event if there is no interrupt for sometime. This time is configurable
from platform data.
bug 814005
Original-Change-Id: I56345ca68bd227e48cf31b1f54a0deac43bf900c
Reviewed-on: http://git-master/r/28065
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
Tested-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-by: Ramachandrudu Kandhala <rkandhala@nvidia.com>
Reviewed-by: Scott Williams <scwilliams@nvidia.com>
Original-Change-Id: I83d04992fe29c9a472a79e900b8083475c1ddf40
Rebase-Id: R62a01548c16a78033337dcfe35d391210412c3f2
|
|
Original-Change-Id: I2ffeaf6f8dfeb279b40ca6f69f6c9157401a746a
Rebase-Id: R056056997b4913133216474f863fc17c7f69878b
|
|
Adding keys support which are directly connected to interrupt lines.
Original-Change-Id: Ib26c06b170b82f4745e758be80b3e04122ad1d6c
Reviewed-on: http://git-master/r/22069
Tested-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
Original-Change-Id: I3921cc88f32558282654fbd36243b4b0b3574133
Rebase-Id: Rd7954ff7c2e0167a6a4765ff2f08494b9d0eba14
|
|
During resume, gpio-keys does not get updated state of gpios which
fails to report wakeup key event. Update resume routine to report
key event based on wakeup source.
BUG 745149
Original-Change-Id: Iff7a9b431f9da8d226c8d3cd522725c3049fef07
Reviewed-on: http://git-master/r/17455
Tested-by: Nitin Kumbhar <nkumbhar@nvidia.com>
Reviewed-by: Varun Wadekar <vwadekar@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Rebase-Id: Rde589cdb4f74683e9ea46933c7f949da16c5f884
|
|
* 'for-linus' of git://github.com/dtor/input:
Input: wacom - fix touch parsing on newer Bamboos
Input: bcm5974 - add MacBookAir4,1 trackpad support
Input: wacom - add POINTER and DIRECT device properties
Input: adp5588-keys - remove incorrect modalias
Input: cm109 - fix checking return value of usb_control_msg
Input: wacom - advertise BTN_TOOL_PEN and BTN_STYLUS for PenPartner
Input: wacom - remove pressure for touch devices
|
|
For i2c drivers, we should use "i2c:" prefix for modalias.
MODULE_DEVICE_TABLE will setup the modulalias for us, thus adding
a MODULE_ALIAS is redundant (in addition to being incorrect).
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
|
|
git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
Input: ad714x - read the interrupt status registers in a row
Input: ad714x - use DMA-safe buffers for spi_write()
Input: ad714x - fix endianness issues
Input: ad714xx-spi - force SPI bus into the default 8-bit mode
Input: ep93xx_keypad - add missing include of linux/module.h
Input: tnetv107x-ts - add missing include of linux/module.h
Input: max11801_ts - correct license statement
Input: atmel_mxt_ts - report pressure information from the driver
Input: bcm5974 - Add support for newer MacBookPro8,2
Input: wacom - report id 3 returns 4 bytes of data
Input: wacom - add WAC_MSG_RETRIES define
Input: wacom - add support for the Wacom Bamboo Pen (CTL-660/K)
Input: tegra-kbc - correct call to input_free_device
Input: mpu3050 - correct call to input_free_device
Input: bcm5974 - add support for touchpads found in MacBookAir4,2
Input: mma8450 - fix module device table type
Input: remove CLOCK_TICK_RATE from analog joystick driver
|
|
ep93xx_keypad.c uses interfaces from linux/module.h,
so it should include that file. This patch fixes build errors.
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
|
|
If kzalloc for kbc fails, then we have NULL pointer dereference while
calling input_free_device(kbc->idev) in the error handling.
So it is safer to always use the original name, input_dev.
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
|
|
git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
Input: ad7879 - fix deficient device disable
Input: gpio_keys - fix two typos in devicetree documentation
Input: mma8450 - add device tree probe support
Input: gpio_keys - return proper error code if memory allocation fails
Input: lm8323 - add missing device_remove_file for dev_attr_time
Input: tegra-kbc - fix computation of polling time
Input: kxtj9 - explicitly include module.h
Input: psmouse - hgpk.c needs module.h
|
|
Return -ENOMEM if kzalloc fails in gpio_keys_get_devtree_pdata().
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
|
|
Add missing device_remove_file() for dev_attr_time in lm8323_remove().
Also calling device_remove_file() in lm8323_probe() error path to
remove sysfs attribute file.
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
|
|
Fix a constant definition and computation of polling time.
[dtor@mail.ru: switched to using DIV_ROUND_UP as was suggested by
Thierry Reding <thierry.reding@avionic-design.de>]
Signed-off-by: Rakesh Iyer <riyer@nvidia.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
|
|
git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (53 commits)
Input: synaptics - fix reporting of min coordinates
Input: tegra-kbc - enable key autorepeat
Input: kxtj9 - fix locking typo in kxtj9_set_poll()
Input: kxtj9 - fix bug in probe()
Input: intel-mid-touch - remove pointless checking for variable 'found'
Input: hp_sdc - staticize hp_sdc_kicker()
Input: pmic8xxx-keypad - fix a leak of the IRQ during init failure
Input: cy8ctmg110_ts - set reset_pin and irq_pin from platform data
Input: cy8ctmg110_ts - constify i2c_device_id table
Input: cy8ctmg110_ts - fix checking return value of i2c_master_send
Input: lifebook - make dmi callback functions return 1
Input: atkbd - make dmi callback functions return 1
Input: gpio_keys - switch to using SIMPLE_DEV_PM_OPS
Input: gpio_keys - add support for device-tree platform data
Input: aiptek - remove double define
Input: synaptics - set minimum coordinates as reported by firmware
Input: synaptics - process button bits in AGM packets
Input: synaptics - rename set_slot to be more descriptive
Input: synaptics - fuzz position for touchpad with reduced filtering
Input: synaptics - set resolution for MT_POSITION_X/Y axes
...
|
|
|
|
To support key repeats, keyboard needs to be setup as an autorepeating
device.
Signed-off-by: Rakesh Iyer <riyer@nvidia.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
|
|
Make sure we are passing the same cookie in all calls to
request_any_context_irq() and free_irq().
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
|
|
We only care about if there is a successful match from the table (or
no match at all), so let's make dmi_check_system return immediately
instead of iterating thorough the whole table.
Make the dmi callback function return 1 then dmi_check_system
will return immediately if we have a successful match.
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
|
|
This reduces amount #ifdeds in the code.
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
|
|
This patch enables fetching configuration data, which is normally provided
via platform_data, from the device-tree instead.
If the device is configured from device-tree data, the platform_data struct
is not used, and button data needs to be allocated dynamically. Big part of
this patch deals with confining pdata usage to the probe function, to make
this possible.
Signed-off-by: David Jander <david@protonic.nl>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
|
|
mfd_get_data() has been removed from the MFD API.
Cc: Anirudh Ghayal <aghayal@codeaurora.org>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
|
|
The "#if" above should really be an "#ifdef" to avoid this warning:
CC drivers/input/keyboard/sh_keysc.o
drivers/input/keyboard/sh_keysc.c:294:5: warning: "CONFIG_PM_SLEEP" is
not defined
Reported-by: Magnus Damm <magnus.damm@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
|
|
The Quick Charge bit in Electrode conf register should be set in init
function. This bit was missed in chip's document, which may cause touch
controller charge too slow to generate an interrupt.
Also, adjust the default vlaue of touch and release threshold
to make touch key more sensitive, this fix touch may not sensitive
after setup with plastic case.
Signed-off-by: Jiejing Zhang <jiejing.zhang@freescale.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
|
|
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
|
|
Initialize gpio_keys driver at late_initcall level, to give it a chance to
work with GPIO expanders that might not be ready yet if we initialize the
driver at module_init time.
This is strictly a band-aid until there is a better way to specify
inter-device dependencies.
Signed-off-by: David Jander <david@protonic.nl>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
|
|
Remove the space between "platform:" prefix and the driver name.
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
|
|
It was pointed out by 'make versioncheck' that some includes of
linux/version.h are not needed in drivers/input/.
This patch removes them.
Signed-off-by: Jesper Juhl <jj@chaosbits.net>
Acked-by: Mike Frysinger <vapier@gentoo.org>
Acked-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
|
|
Use a threaded interrupt handler in order to permit the handler to use
a GPIO driver that causes things like I2C transactions being done inside
the handler context.
Signed-off-by: David Jander <david@protonic.nl>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
|
|
According to the data sheet the interrupt should be level rather than
edge triggered. This fixes the issue of the Nokia N810 keypad stopping
responding if multiple key events occur in quick succession.
Signed-off-by: Leigh Brown <leigh@solinno.co.uk>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
|
|
There's no need for that workqueue anymore. Get rid of it and move to
threaded IRQs instead.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Tested-by: Leigh Brown <leigh@solinno.co.uk>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
|
|
A few new i2c-drivers came into the kernel which clear the clientdata
pointer on exit or error. This is not required anymore since the core
will do it for us.
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Acked-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
|
|
git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
Input: sh_keysc - 8x8 MODE_6 fix
Input: omap-keypad - add missing input_sync()
Input: evdev - try to wake up readers only if we have full packet
Input: properly assign return value of clamp() macro.
|
|
According to the data sheet for G4, AP4 and AG5 KEYSC MODE_6 is 8x8 keys.
Bump up MAXKEYS to 64 too.
Signed-off-by: Magnus Damm <damm@opensource.se>
Reviewed-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
|
|
Otherwise the updated evdev driver (commit cdda911c34006f1089f3c87b1a1f,
"Input: evdev - only signal polls on full packets") no longer works on
top of omap-keypad.
Tested on Amstrad Delta.
Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Reviewed-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
|