Age | Commit message (Collapse) | Author |
|
android-tegra-2.6.29
|
|
- nvec_user is the bus driver
- tegra-nvec [keyboard], nvec_mouse [touchpad], nvec_battery
are the client drivers for nvec.
- verified: suspend-resume ordering: This is synchronous now.
- Issues: after few suspend-resume EC is failed to suspend.
[working on this issue]
- Bug 648447
- Adding device_unregister for nvec bus driver.
Change-Id: I3c30ceb50a89f67d71050089766897bd7691848d
|
|
second finger transitions were not being handled properly and due to this
apps were not able to distinguish individual finger movements.
tested on whistler with MultiTouch Visualizer
Bug 653317
Change-Id: I34e07fe71f20e63a5dfa23582c9066d2cd3c74e2
|
|
occassionally, the keyboard stops functioning after the system resumes from
suspend state; this may be due to a failure enabling keyboard scanning
mode during suspend.
disable suspend/resume calls from nvec keyboard driver until a solution
for this problem is resolved (e.g., converting nvec to a bus).
Change-Id: Id9f83a41852c8fec293bd43a94acaa287c184be0
|
|
the previous change to tegra-odm.c introduced suspend & early suspend
codepaths, but the suspend code path didn't build.
fix the build break, and clean up some warnings caused by not
including <linux/tegra_devices.h>
Change-Id: I73b40a50e508ed95bbcccac1bf5234e057c88d5d
|
|
Additionally normal suspend and resume hooks have also been added in case
CONFIG_HAS_EARLYSUSPEND is not enabled.
Tested on Whistler by invoking suspend and resume
Change-Id: I13b7402d2703cc0fd3cb3070f172f4dd09f84597
|
|
- all the EC client threads should be freezable while
going into suspend and so as the nvec keyboard thread.
bug 646208
Change-Id: I95285829b229d5e482f216507210258e05de792c
|
|
- setting set_freezable_with_signal at the start of the thread
- replaced NvOsSemaphoreWaitTimeout by wait_event_freezable_timeout
- marked a shutdown variable and signalled the semaphore before joining
with the thread
Change-Id: I06a11848cc20498b57387a0c4bb55c330065768f
|
|
since the mouse event thread expects to read from the embedded
controller following an event, it should be frozen while the system
goes into suspend
additionally, on operating systems which support early_suspend, the
mouse should cause the system to wake up; register an early_suspend
handler for the mouse based on the blank screen state.
bug 645292
Change-Id: Ib3dc161565da70893ccd1397e0a3be35f5283c3f
|
|
Added suspend and resume hooks.
tested on harmony
bug 642578
Change-Id: I7c5065403e1c5581fce16c6f3653baeb48af5820
|
|
Added the new product id in the usb id table, for PANJIT touch screen to work.
Enabled the PANJIT touch screen in the harmony config file.
Change-Id: I9914622fb4fe697f2cb7ede0d033aa46578c7d4b
|
|
if the keyboard DDK failed to initialize, the keyboard driver would
panic due to inadequate error handling between the KBC init and the KBC
event thread. this is now fixed
Change-Id: Ic0d1f66ba2294e8ea3408d5ed321195fa7454847
|
|
Change-Id: If8d57293b0d6ba1bbf493f4e5ea1d5cc27eb25bc
|
|
drivers were originally submitted before compilation, now they compile cleanly
|
|
Change-Id: I35bf210bdb50582e38276962c6a53ef79857678a
|
|
Change-Id: I149c47b3537c1e81ee3d744e7af46635083896a8
|
|
adds a miscellaneous input device for scrollwheels using the NVIDIA Tegra
ODM kit adaptation interface for scrollwheels
Change-Id: Ic2072010acd3f56a9a1333c90bbda4cdc935ce28
|
|
adds a miscellaneous input device for accelerometers implemented using the
NVIDIA Tegra ODM kit adaptation interface.
Change-Id: I44c4b088ec43eae20192c0bd578e2c802449101c
|
|
adds a keyboard driver for keyboards connected to NVIDIA Tegra NvEc-compliant
embedded controllers
Change-Id: I3426ec0de0dbdba63dfc03738f6c0c38905b0a5b
|
|
adds a mouse-class input device for mice and touchpads connected to an
NVIDIA Tegra NvEc-compliant embedded controller
Change-Id: Ib706f9b789d2b8328bb6c1bd40d1adc882a717dd
|
|
adds a touchscreen input device driver using the NVIDIA Tegra's ODM kit
adaptation interface for touchscreen controllers
|
|
adds a keyboard input driver based on NvDdk / NvRm APIs for the Tegra's
internal matrix keyboard controller
Change-Id: Iee8726317c7bf13866b8546695db0fd1647c065f
|
|
wakelock names are now contain evdev->name and pid
Signed-off-by: Mike Chan <mike@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>
|
|
KEY_MAX is no longer a power of 2.
Signed-off-by: Arve Hjønnevåg <arve@android.com>
|
|
to driver
Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
Signed-off-by: Arve Hjønnevåg <arve@android.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>
|
|
In order to utilize the full power of the new multi-touch devices, a
way to report detailed finger data to user space is needed. This patch
adds a multi-touch (MT) protocol which allows drivers to report details
for an arbitrary number of fingers.
The driver sends a SYN_MT_REPORT event via the input_mt_sync() function
when a complete finger has been reported.
In order to stay compatible with existing applications, the data
reported in a finger packet must not be recognized as single-touch
events. In addition, all finger data must bypass input filtering,
since subsequent events of the same type refer to different fingers.
A set of ABS_MT events with the desired properties are defined. The
events are divided into categories, to allow for partial implementation.
The minimum set consists of ABS_MT_TOUCH_MAJOR, ABS_MT_POSITION_X and
ABS_MT_POSITION_Y, which allows for multiple fingers to be tracked.
If the device supports it, the ABS_MT_WIDTH_MAJOR may be used to provide
the size of the approaching finger. Anisotropy and direction may be
specified with ABS_MT_TOUCH_MINOR, ABS_MT_WIDTH_MINOR and
ABS_MT_ORIENTATION. Devices with more granular information may specify
general shapes as blobs, i.e., as a sequence of rectangular shapes
grouped together by a ABS_MT_BLOB_ID. Finally, the ABS_MT_TOOL_TYPE
may be used to specify whether the touching tool is a finger or a pen.
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
|
|
With the upcoming multi-touch interface as an example, there is
a need to make certain that all reported events actually get passed
to the event handler. This patch equips the input core with the
ability to bypass all filtering for certain EV_ABS events.
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
|
|
Signed-off-by: Arve Hjønnevåg <arve@android.com>
|
|
property.
Signed-off-by: Arve Hjønnevåg <arve@android.com>
|
|
Also remove duplicate swap macro
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>
|
|
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.
Signed-off-by: Arve Hjønnevåg <arve@android.com>
|
|
Signed-off-by: Arve Hjønnevåg <arve@android.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>
|
|
Allows userspace code to process input events while
the device appears to be asleep.
Signed-off-by: Arve Hjønnevåg <arve@android.com>
|
|
Supports keyboard matrixces, direct inputs, direct outputs and axes connected to gpios.
Signed-off-by: Arve Hjønnevåg <arve@android.com>
Signed-off-by: Nick Pelly <npelly@google.com>
|
|
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: elantech - touchpad driver miss-recognising logitech mice
Input: synaptics - ensure we reset the device on resume
Input: usbtouchscreen - fix eGalax HID ignoring
Input: ambakmi - fix timeout handling in amba_kmi_write()
Input: pxa930_trkball - fix write timeout handling
Input: struct device - replace bus_id with dev_name(), dev_set_name()
Input: bf54x-keys - fix debounce time validation
Input: spitzkbd - mark probe function as __devinit
Input: omap-keypad - mark probe function as __devinit
Input: corgi_ts - mark probe function as __devinit
Input: corgikbd - mark probe function as __devinit
Input: uvc - the button on the camera is KEY_CAMERA
Input: psmouse - make MOUSE_PS2_LIFEBOOK depend on X86
Input: atkbd - make forced_release_keys[] static
Input: usbtouchscreen - allow reporting calibrated data
|
|
Some Logitech mice react to the magic knock like Elantech touchpad would.
This leads to those mice being misdetected as Elantech touchpads. Add a
version query to elantech_detect() to distinguish the two.
[dtor@mail.ru:
- lower severity of some messages - when we are not sure yet if
device is Elantech or not not responding to knock is not an error.
]
Signed-off-by: Arjan Opmeer <arjan@opmeer.net>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
|
|
When resuming from suspend newer Synaptics touchpads do not recover
correctly. Analysis of the resume sequence as applied in Linux was
compared to that of other operating systems. This indicated that the
other OSs were resetting the mouse before attempting to detect it (for
all Synaptics touchpads, old and new). Applying this same modification
fixes these newer Synaptics touchpads and brings the driver into line
with common OS reset behaviour.
Signed-off-by: Andy Whitcroft <apw@canonical.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
|
|
Commit ec42d4481e36cbdb5b2801f957e678211a9e5ae2 broke usbtouchscreen for
some eGalax/EETI devices that claim to be HID, but are not.
Devices confirmed to be real HID have the class set to HID and the protocol
set to 'mouse'. Some have HID class but protocol set to 'none'. Those are
not HID and should be driven by usbtouchscreen.
Fix the device ignoring macro by adding match for the protocol too.
Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
|
|
With a postfix decrement timeleft reaches -1 rather than 0,
but after the loop it is tested to have become 0.
Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
|
|
With a postfix decrement i reaches -1 rather than 0,
but after the loop it is tested whether it has become 0.
Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
|
|
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
|
|
Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Acked-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
|
|
A pointer to spitzkbd_probe is passed to the core via
platform_driver_register and so the function must not disappear when the
.init sections are discarded. Otherwise (if also having HOTPLUG=y)
unbinding and binding a device to the driver via sysfs will result in an
oops as does a device being registered late.
An alternative to this patch is using platform_driver_probe instead of
platform_driver_register plus removing the pointer to the probe function
from the struct platform_driver.
[dtor@mail.ru: fixed some more section markups]
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
|
|
A pointer to omap_kp_probe is passed to the core via
platform_driver_register and so the function must not disappear when the
.init sections are discarded. Otherwise (if also having HOTPLUG=y)
unbinding and binding a device to the driver via sysfs will result in an
oops as does a device being registered late.
An alternative to this patch is using platform_driver_probe instead of
platform_driver_register plus removing the pointer to the probe function
from the struct platform_driver.
[dtor@mail.ru: fixed some more section markups]
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
|
|
A pointer to corgits_probe is passed to the core via
platform_driver_register and so the function must not disappear when the
.init sections are discarded. Otherwise (if also having HOTPLUG=y)
unbinding and binding a device to the driver via sysfs will result in an
oops as does a device being registered late.
An alternative to this patch is using platform_driver_probe instead of
platform_driver_register plus removing the pointer to the probe function
from the struct platform_driver.
[dtor@mail.ru: fixed some more section markups]
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
|
|
A pointer to corgikbd_probe is passed to the core via
platform_driver_register and so the function must not disappear when the
.init sections are discarded. Otherwise (if also having HOTPLUG=y)
unbinding and binding a device to the driver via sysfs will result in an
oops as does a device being registered late.
An alternative to this patch is using platform_driver_probe instead of
platform_driver_register plus removing the pointer to the probe function
from the struct platform_driver.
[dtor@mail.ru: fixed some more section markups]
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
|