summaryrefslogtreecommitdiff
path: root/drivers/input
AgeCommit message (Collapse)Author
2010-05-12warnings: Cleaning up compilation warnings from tegra codeSachin Nikam
Bug 682070 warnings like: - defined but not used - unused variable - format type - control reaches to the end of non-void function Image builds and boots properly after these changes. Change-Id: I91578a9684b42fcf9652cf76e492f1020194e6e6 Reviewed-on: http://git-master/r/1339 Reviewed-by: Sachin Nikam <snikam@nvidia.com> Tested-by: Sachin Nikam <snikam@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-05-04tegra kbc: Fixing android boot if key is kept press during boot.Laxman Dewangan
Following changes are done: - Created the new workqueue for the kbc scan process. On default workqueue, the msleep() was not causing the schedule() to booting process. - If there is no entry in fifo then wait for the next scan to complete before re-reading the number of entries in the fifo. if there is no entry then rep key released. - Fixed timing calculation and size of the event entry array. - Fixed the debaunce count calculation from debaunce time from odm. Tested on whistler, with normal boot as well as with continous key pressed d the entire boot time. Change-Id: I53b321ae6f5e1f425b51edcd63f7de4ae404e505 Reviewed-on: http://git-master/r/1238 Reviewed-by: Hu He <hhe@nvidia.com> Tested-by: Hu He <hhe@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-05-03tegra accelerometer: cleanly exit in case odm driver is not availableBharat Nihalani
Bug 681203: tegra_accelerometer should be exited if no odm driver Change-Id: I9e0285ad7185f5d49dc1f6f5aa93ee9e099f2d94 Reviewed-on: http://git-master/r/1258 Reviewed-by: Hoang Pham <hopham@nvidia.com> Tested-by: Harry Hong <hhong@nvidia.com> Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
2010-04-23tegra-kernel: Fix section mismatch warningsBharat Nihalani
Bug 676157: Kernel builds in 9.12.8, 9.12.9 cause section mismatch warnings Change-Id: Ic288f077d24b03f9d6af2d20dcb01a1bfce25599 Reviewed-on: http://git-master/r/1195 Reviewed-by: Mayuresh Kulkarni <mkulkarni@nvidia.com> Tested-by: Mayuresh Kulkarni <mkulkarni@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-04-23panjit touch: Adding the odm panjit touch screen driver.vdumpa
Checking in odm panjit touch screen driver. This is required for new harmony tablet board. This is disabled by default as of now. Also checking updated tegra-gpio.c to have the correct gpio lies info for harmony tablet. This is also disabled by default. Added the acceleremeter properties in the odm kit. The driver for accelerometer will be checked in later. updated copyright headers for panjit. Change-Id: I7089ddb11670670dc0aa683dce190bc619fb07e2 Reviewed-on: http://git-master/r/1139 Reviewed-by: Gary King <gking@nvidia.com> Reviewed-by: Krishna Reddy <vdumpa@nvidia.com> Tested-by: Krishna Reddy <vdumpa@nvidia.com>
2010-04-22tegra keyboard: do not disable key scanning in EC during suspendVarun Wadekar
Removed the support to disable key scanning from the EC based keyboard driver when the system enters suspend state. This way any key press in suspend state is recognised by the EC which in turn wakes up the AP. reviewed by nobody tested on Harmony For Bug 673371 Change-Id: Ie28c4f135b0ba2fcfb95667d015802fea0cb2001 Reviewed-on: http://git-master/r/1146 Tested-by: Varun Wadekar <vwadekar@nvidia.com> Reviewed-by: Phillip Smith <psmith@nvidia.com> Reviewed-by: Mayuresh Kulkarni <mkulkarni@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-04-05tegra: Enabling Accelerometer Driver for whistler board.Vishwas Rao
This should enable accelerometer on Whistler. Change-Id: I884ef704083c8d5e1fe07554301eb28a2c24db49 Reviewed-on: http://git-master/r/987 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Tested-by: Bharat Nihalani <bnihalani@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-03-23input: add keyboard controller support for tegraGary King
implement a keyboard input driver for tegra's internal matrix keyboard controller (16x8 support on Tegra 2 class processors). supports * power management * limit wakeup to a subset of keys * platform-defined remapping of key to keycode * platform-defined pin configuration add support for converting tegra ODM kit APIs to kbc platform data, so existing clients will continue to function Change-Id: If1496e7ada4f6f18a3e98a15ebc5f925f254bf65 Reviewed-on: http://git-master/r/933 Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com> Tested-by: Gary King <gking@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-03-17tegra nvec: suspend/resume without nvec mouse connectedNinad Malwade
- when mouse is not present or connected to board, do not register the mouse driver with EC bus driver. - Bug 663803 Change-Id: Iec11af103c4ab00a9d01e66969fceb6161cec1e2 Reviewed-on: http://git-master/r/862 Reviewed-by: Ninad Malwade <nmalwade@nvidia.com> Tested-by: Ninad Malwade <nmalwade@nvidia.com> Reviewed-by: Varun Wadekar <vwadekar@nvidia.com> Tested-by: Varun Wadekar <vwadekar@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-03-11tegra touch: enable multi-touchVarun Wadekar
adding multi-touch support to the touch screen driver. Tested with Gallery3D, Multitouch Visualizer and Multitouch Visualise test apps. Fod Bug 653317 Change-Id: I2976ab91c06a54de4772d88c3d96d72a753205ed Reviewed-on: http://git-master/r/834 Tested-by: Varun Wadekar <vwadekar@nvidia.com> Reviewed-by: Harry Hong <hhong@nvidia.com> Tested-by: Harry Hong <hhong@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-02-26Merge "tegra NVEC: Bus driver architecture for nvec drivers" into ↵Gary King
android-tegra-2.6.29
2010-02-26tegra NVEC: Bus driver architecture for nvec driversNinad Malwade
- 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
2010-02-25tegra touch: handle second finger transitionsVarun Wadekar
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
2010-02-22keyboard: remove suspend/resume calls from tegra nvec driverGary King
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
2010-02-09touchscreen: fix build break for non-early-suspend tegra driverGary King
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
2010-02-05tegra: Add early_suspend and late_resume hooks to touch-screen driverBharat Nihalani
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
2010-02-03tegra: tegra-nvec (keyboard) driver thread added into freezable stateNinad Malwade
- all the EC client threads should be freezable while going into suspend and so as the nvec keyboard thread. bug 646208 Change-Id: I95285829b229d5e482f216507210258e05de792c
2010-02-01tegra: NvEC threads are added into refrigerator for suspend/resume casesNinad Malwade
- 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
2010-01-26mouse: use early suspend for mouse, freeze event threadGary King
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
2010-01-21tegra: power management for mouse/keyboard driversVarun Wadekar
Added suspend and resume hooks. tested on harmony bug 642578 Change-Id: I7c5065403e1c5581fce16c6f3653baeb48af5820
2010-01-15linux kernel:Added new product id for PANJIT touch screen.Krishna Reddy
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
2009-12-23keyboard: add error cleanup to tegra KBC driverGary King
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
2009-12-23keyboard: add a keyboard driver for buttons connected to Tegra SoC GPIOsGary King
Change-Id: If8d57293b0d6ba1bbf493f4e5ea1d5cc27eb25bc
2009-12-16input: various build fixes for tegra driversGary King
drivers were originally submitted before compilation, now they compile cleanly
2009-12-15keyboard: add missing comma to tegra NvEc-based keyboard driverGary King
Change-Id: I35bf210bdb50582e38276962c6a53ef79857678a
2009-12-15mouse: include tegra_devices.h in nvec_mouse.c to get NV_DEBUG definitionGary King
Change-Id: I149c47b3537c1e81ee3d744e7af46635083896a8
2009-12-11input: add misc input device for NVIDIA Tegra ODM scrollwheelGary King
adds a miscellaneous input device for scrollwheels using the NVIDIA Tegra ODM kit adaptation interface for scrollwheels Change-Id: Ic2072010acd3f56a9a1333c90bbda4cdc935ce28
2009-12-11input: add miscellaneous Tegra accelerometer ODM input deviceGary King
adds a miscellaneous input device for accelerometers implemented using the NVIDIA Tegra ODM kit adaptation interface. Change-Id: I44c4b088ec43eae20192c0bd578e2c802449101c
2009-12-11keyboard: adds a driver for NvEc keyboard supportGary King
adds a keyboard driver for keyboards connected to NVIDIA Tegra NvEc-compliant embedded controllers Change-Id: I3426ec0de0dbdba63dfc03738f6c0c38905b0a5b
2009-12-11mouse: add mouse driver for Tegra NvEc embedded controllerGary King
adds a mouse-class input device for mice and touchpads connected to an NVIDIA Tegra NvEc-compliant embedded controller Change-Id: Ib706f9b789d2b8328bb6c1bd40d1adc882a717dd
2009-12-10touchscreen: add a touchscreen input device driver for Tegra ODM kitGary King
adds a touchscreen input device driver using the NVIDIA Tegra's ODM kit adaptation interface for touchscreen controllers
2009-12-09keyboard: add support for NVIDIA Tegra internal keyboard controllerGary King
adds a keyboard input driver based on NvDdk / NvRm APIs for the Tegra's internal matrix keyboard controller Change-Id: Iee8726317c7bf13866b8546695db0fd1647c065f
2009-10-27input: evdev: Use unique wakelock namesMike Chan
wakelock names are now contain evdev->name and pid Signed-off-by: Mike Chan <mike@android.com>
2009-07-29Input: gpio_event: Allow multiple input devices per gpio_event deviceArve Hjønnevåg
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>
2009-07-29Input: gpio_input: Fix keys with keycode 0x100-0x1ffArve Hjønnevåg
KEY_MAX is no longer a power of 2. Signed-off-by: Arve Hjønnevåg <arve@android.com>
2009-07-29Input: synaptics_i2c_rmi: Add irqflags to platform data struct to pass them ↵Rebecca Schultz Zavin
to driver Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com> Signed-off-by: Arve Hjønnevåg <arve@android.com>
2009-07-24Input: synaptics_i2c_rmi: Send new multi touch eventsArve Hjønnevåg
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>
2009-07-24Input: add detailed multi-touch finger data report protocolHenrik Rydberg
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>
2009-07-24Input: allow certain EV_ABS events to bypass all filteringHenrik Rydberg
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>
2009-07-24Input: synaptics_i2c_rmi: Add sensitivity adjust option.Arve Hjønnevåg
Signed-off-by: Arve Hjønnevåg <arve@android.com>
2009-07-24Input: synaptics_i2c_rmi: Add support for panels with has-no-relative-data ↵Arve Hjønnevåg
property. Signed-off-by: Arve Hjønnevåg <arve@android.com>
2009-07-24Input: synaptics_i2c_rmi: disable_irq -> disable_irq_nosyncArve Hjønnevåg
Also remove duplicate swap macro Signed-off-by: Arve Hjønnevåg <arve@android.com>
2009-04-07input: keychord: Add keychord driverMike Lockwood
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>
2009-04-07input: Add keyreset driver.Arve Hjønnevåg
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>
2009-04-07Input: synaptics_i2c_rmi: Driver for Synaptics Touchscreens using RMI over I2C.Arve Hjønnevåg
Signed-off-by: Arve Hjønnevåg <arve@android.com>
2009-04-07Input: Use monotonic time for event time stamps.Arve Hjønnevåg
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>
2009-04-07Input: Hold wake lock while event queue is not empty.Arve Hjønnevåg
Allows userspace code to process input events while the device appears to be asleep. Signed-off-by: Arve Hjønnevåg <arve@android.com>
2009-04-07Input: Generic GPIO Input device.Arve Hjønnevåg
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>
2009-03-02Merge branch 'for-linus' of ↵Linus Torvalds
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
2009-02-28Input: elantech - touchpad driver miss-recognising logitech miceArjan Opmeer
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>