aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-03-26Input: wacom - report resolution for pen devicesPing Cheng2-92/+181
Touch resolution is reported to the userland by retrieving the value from the HID descriptor. But pen resolution is not since it can not be retrieved. The current Wacom X driver has a resolution table. To centralize the source of these values, the resolution entries are added in the wacom_features struct for x and y coordinates respectively. The values are then reported to the userland. Signed-off-by: Ping Cheng <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2011-03-26Input: wacom - constify wacom_features for a new missed Bamboo modelsPing Cheng1-8/+8
Signed-off-by: Ping Cheng <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2011-03-23Input: tsc2005 - fix locking issueAaro Koskinen1-2/+10
Commit 0b950d3 (Input: tsc2005 - add open/close) introduced a locking issue with the ESD watchdog: __tsc2005_disable() is calling cancel_delayed_work_sync() with mutex held, and the work also needs the same mutex. Fix the problem by using mutex_trylock() in tsc2005_esd_work(). If the mutex is taken, we know we are in the middle of disable or enable and the watchdog check can be skipped. Signed-off-by: Aaro Koskinen <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2011-03-23Input: tsc2005 - use relative jiffies to schedule the watchdogAaro Koskinen1-2/+2
Use relative jiffies to schedule the watchdog. Otherwise it will run like a mad one. Signed-off-by: Aaro Koskinen <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2011-03-23Input: tsc2005 - driver should depend on GENERIC_HARDIRQSGeert Uytterhoeven2-2/+2
drivers/input/touchscreen/tsc2005.c: In function ‘tsc2005_probe’: drivers/input/touchscreen/tsc2005.c:666: error: implicit declaration of function ‘set_irq_wake’ In addition, migrate from set_irq_wake() (marked "do not use" as of commit a0cd9ca2b907d7ee26575e7b63ac92dad768a75e ("genirq: Namespace cleanup")) to irq_set_irq_wake(). Signed-off-by: Geert Uytterhoeven <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2011-03-18Merge branch 'next' into for-linusDmitry Torokhov9238-278540/+580484
2011-03-16Merge branch 'tsc2005' into nextDmitry Torokhov4-0/+809
2011-03-16Input: tsc2005 - remove 'disable' sysfs attributeDmitry Torokhov1-48/+4
I believe that enable/disable functionality should not be implemented on the individual driver level but rather in device core, potentially reusing parts of PM framework. Therefore the driver-specific "disable" attribute is removed from the mainline driver. Tested-by: Aaro Koskinen <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2011-03-16Input: tsc2005 - add open/closeDmitry Torokhov1-94/+124
Introduce open and close methods for the input device to keep the device powered down when it is not in use. Also rework interaction between interrupt thread and starting/shutting off/resetting the device: instead of taking a mutex in the intterrupt thread and elsewhere disable interrupts before transitioning the device in a new state. The ESD handling is also separated from the IRQ thread; we poll regularly at a given interval and simply skip reads if we see that valid interrupt happened not so long ago. This allows us not cancel and reschedule ESD work from interrupt context all the time. Tested-by: Aaro Koskinen <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2011-03-16Input: tsc2005 - handle read errors from SPI layerDmitry Torokhov1-19/+81
Tested-by: Aaro Koskinen <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2011-03-16Input: tsc2005 - do not rearm timer in hardirq handlerDmitry Torokhov1-13/+1
We will most likely rearm it yet again the IRQ thread so doing it here is pointless. Tested-by: Aaro Koskinen <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2011-03-16Input: tsc2005 - don't use work for 'pen up' handlingDmitry Torokhov1-31/+27
We do not need process context to send input events so let's switch to a regular timer. I am going to get rid of taking ts->mutex in tsc2005_irq_thread() later. Tested-by: Aaro Koskinen <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2011-03-16Input: tsc2005 - do not use 0 in place of NULLDmitry Torokhov1-20/+16
Sparse in unhappy when people use 0 instead of NULL for pointers so let's rework the way we initialize spi_transfer structure in tsc2005_cmd() and tsc2005_write(). Tested-by: Aaro Koskinen <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2011-03-16Input: tsc2005 - use true/false for boolean variablesDmitry Torokhov1-12/+13
Tested-by: Aaro Koskinen <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2011-03-16Input: tsc2005 - hide selftest attribute if we can't resetDmitry Torokhov1-18/+28
If implementation to perform self-test/reset has not been provided by the platform code hide 'selftest' sysfs attribute instead of returning error when someone tries to use it. Tested-by: Aaro Koskinen <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2011-03-16Input: tsc2005 - rework driver initialization codeDmitry Torokhov1-110/+105
We need to make sure we have time/work initialized before requesting and enabling interrupts, otherwise we might start using them way too early. Tested-by: Aaro Koskinen <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2011-03-16Input: tsc2005 - set up bus type in input deviceDmitry Torokhov1-0/+1
We know what bus we are residing on (SPI) so let's make this data available to the users. Tested-by: Aaro Koskinen <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2011-03-16Input: tsc2005 - set up parent deviceDmitry Torokhov1-0/+1
Set up SPI device as parent of the input device so it gets placed into proper place in sysfs tree. Tested-by: Aaro Koskinen <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2011-03-16Input: tsc2005 - clear driver data after unbindingDmitry Torokhov1-1/+4
We should not leave garbage pointers in driver structure after we unbind it from the device or if bind fails. Tested-by: Aaro Koskinen <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2011-03-16Input: tsc2005 - add module descriptionDmitry Torokhov1-0/+1
Add proper module description so that it would show in 'modinfo' output. Tested-by: Aaro Koskinen <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2011-03-16Input: tsc2005 - remove driver banner messageDmitry Torokhov1-1/+0
The boot process is noisy as it is and input core already announces all new device so let's get rid of the banner message in the driver. Tested-by: Aaro Koskinen <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2011-03-16Input: tsc2005 - remove incorrect module aliasDmitry Torokhov1-1/+0
TSC2005 is not a platform driver so it should not define "platform:tsc2005" module alias. Tested-by: Aaro Koskinen <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2011-03-16Input: tsc2005 - convert to using dev_pm_opsDmitry Torokhov1-12/+12
Newer code should not be using legacy suspend/resume methods but rather supply dev_pm_ops structure as it allows better control over power management. Tested-by: Aaro Koskinen <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2011-03-16Input: tsc2005 - use spi_get/set_drvdata()Dmitry Torokhov1-7/+12
Instead of peeking into underlying device and using dev_get/set_drvdata(), let's use SPI layer's implementation to access driver-private data (which may be different from driver-core private data). Tested-by: Aaro Koskinen <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2011-03-16Input: introduce tsc2005 driverLauri Leukkunen4-0/+766
Discussions: http://www.mail-archive.com/[email protected]/msg26748.html Introduce a driver for the Texas Instruments TSC2005 touchscreen controller (http://focus.ti.com/docs/prod/folders/print/tsc2005.html). The patch is based on a driver by Lauri Leukkunen, with modifications by David Brownell, Phil Carmody, Imre Deak, Hiroshi DOYU, Ari Kauppi, Tony Lindgren, Jarkko Nikula, Eero Nurkkala and Roman Tereshonkov. Signed-off-by: Lauri Leukkunen <[email protected]> [[email protected]: patch description, rebasing & cleanup] Signed-off-by: Aaro Koskinen <[email protected]> [[email protected]: various fixes] Signed-off-by: Srikar <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2011-03-16Input: xen-kbdfront - move to drivers/input/miscDmitry Torokhov5-12/+14
drivers/input is reserved for input core code and input handlers with drivers belonging to one of the sub-directories. Signed-off-by: Dmitry Torokhov <[email protected]>
2011-03-16Input: xen-kbdfront - add grant reference for shared pageDaniel De Graaf1-11/+28
Without a grant reference, full access to the domain's memory is required to use the shared page. Add an additional parameter in xenstore to allow grant mapping to be used. Signed-off-by: Daniel De Graaf <[email protected]> Signed-off-by: Konrad Rzeszutek Wilk <[email protected]> Acked-by: Ian Campbell <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2011-03-16Input: xen-kbdfront - advertise either absolute or relative coordinatesOlaf Hering1-20/+24
A virtualized display device is usually viewed with the vncviewer application, either by 'xm vnc domU' or with vncviewer localhost:port. vncviewer and the RFB protocol provides absolute coordinates to the virtual display. These coordinates are either passed through to a PV guest or converted to relative coordinates for a HVM guest. A PV guest receives these coordinates and passes them to the kernels evdev driver. There it can be picked up by applications such as the xorg-input drivers. Using absolute coordinates avoids issues such as guest mouse pointer not tracking host mouse pointer due to wrong mouse acceleration settings in the guests X display. Advertise either absolute or relative coordinates to the input system and the evdev driver, depending on what dom0 provides. The xorg-input driver prefers relative coordinates even if a devices provides both. Signed-off-by: Olaf Hering <[email protected]> Signed-off-by: Stefano Stabellini <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2011-03-15Input: tc3589x-keypad - fix 'double const' warningDmitry Torokhov1-11/+11
Also rearrange driver structure initializer a bit. Signed-off-by: Dmitry Torokhov <[email protected]>
2011-03-15Input: tca6416-keypad - suspend/resume wakeup supportMagnus Damm1-0/+28
Extend the tca6416 driver to use enable_irq_wake() and disable_irq_wake() in the suspend/resume hooks. This makes it possible to wake up from suspend-to-ram using a tca6416 key on the sh7372 mackerel board. Signed-off-by: Magnus Damm <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2011-03-14Input: atmel_mxt_ts - add objects of mXT1386 chipJoonyoung Shim1-0/+8
Atmel mXT1386 chip is operated by atmel_mxt_ts driver and it has some different objects. Signed-off-by: Joonyoung Shim <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2011-03-14Input: atmel_mxt_ts - remove firmware version checkJoonyoung Shim1-16/+5
Atmel touchscreen chips have different firmware version with each chip, so we cannot distinguish attribute of chip by firmware version. Signed-off-by: Joonyoung Shim <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2011-03-14Input: wm831x-ts - ensure the controller is in a known state on openMark Brown1-1/+3
Explicitly set all the enable bits when opening the device just in case something left the device in an unexpected state. Signed-off-by: Mark Brown <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2011-03-13Input: add Atmel AT42QT1070 keypad driverBo Shen3-0/+287
The AT42QT1070 QTouch sensor supports up to 7 keys. The driver has been tested on Atmel AT91SAM9M10-G45-EK board, and it should work fine on other platforms. Signed-off-by: Bo Shen <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2011-03-12Input: wm831x-ts - default pressure measurements onMark Brown1-1/+4
tslib expects pressure measurements so enable them by default for better compatibility. Signed-off-by: Mark Brown <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2011-03-12Input: bcm5974 - add support for MacBookPro8Andy Botting4-0/+35
This patch add multitouch support for the MacBookPro8,1 and MacBookPro8,2 models. Cc: [email protected] Signed-off-by: Andy Botting <[email protected]> Signed-off-by: Henrik Rydberg <[email protected]> Acked-by: Jiri Kosina <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2011-03-12Input: wacom - support 2FGT in MT formatPing Cheng2-18/+53
Reviewed-by: Henrik Rydberg <[email protected]> Reviewed-by: Chris Bagwell <[email protected]> Signed-off-by: Ping Cheng <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2011-03-12Input: wacom - support one finger touch the touchscreen wayPing Cheng2-90/+50
There are two types of 1FGT devices supported in wacom_wac.c. Changing them to follow the existing touchscreen format, i.e., only report BTN_TOUCH as a valid tool type. Touch data will be ignored if pen is in proximity. This requires a touch up event sent if touch was down when pen comes in. The touch up event should be sent before any pen events are emitted. Otherwise, two pointers would race for the cursor. However, we can not send a touch up inside wacom_tpc_pen since pen and touch are on different logical port. That is why we have to check if touch is up before sending pen events. Reviewed-by: Henrik Rydberg <[email protected]> Reviewed-by: Chris Bagwell <[email protected]> Signed-off-by: Ping Cheng <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2011-03-12Input: wacom - process pen data in its own routinePing Cheng1-33/+40
So it would be easier for patch reviewers to follow the data path. Reviewed-by: Henrik Rydberg <[email protected]> Reviewed-by: Chris Bagwell <[email protected]> Signed-off-by: Ping Cheng <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2011-03-12Input: wacom - do not send 2FGT Tablet PC events in TAP formatPing Cheng2-79/+10
2FGT Tablet PC touch events were processed in _TAP_ format. Remove them so we can change to _MT_ format. Signed-off-by: Ping Cheng <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2011-02-27Input: evdev - fix evdev_write return value on partial writesPeter Korsgaard1-4/+6
As was recently brought up on the busybox list (http://lists.busybox.net/pipermail/busybox/2011-January/074565.html), evdev_write doesn't properly check the count argument, which will lead to a return value > count on partial writes if the remaining bytes are accessible - causing userspace confusion. Fix it by only handling each full input_event structure and return -EINVAL if less than 1 struct was written, similar to how it is done in evdev_read. Reported-by: Baruch Siach <[email protected]> Signed-off-by: Peter Korsgaard <[email protected]> Acked-by: Henrik Rydberg <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2011-02-27Input: bcm5974 - Report button also for zero fingersHenrik Rydberg1-4/+4
With the current code, pressing the integrated button with an isolating tool does not result in any button report. Fixed with this this patch. Signed-off-by: Henrik Rydberg <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2011-02-25Input: atmel_mxt_ts - remove matrix size checkIiro Valkonen1-73/+0
The mxt_check_matrix_size() is currently setting the CTE mode to match xline/yline information that is in the platform data, but it does not take into account for example the fact that we could have a key array in use too (key array would use some x/y lines as well). It would be better to simply rely on the configuration data, and make sure that the CTE mode set in there matches the touch object (touchscreen, key array, proximity) configuration (which are set in the config data too). Signed-off-by: Iiro Valkonen <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2011-02-23Input: mcs_touchkey - add shutdown handlerHeungJun Kim1-0/+9
The MCS50XX series has a HW bug that requires explicit chip power down. If chip is not powered down before shutting the system down the control pins (powerup, interrupt) are pulled up and residue current continues flowing into the chips making them continue consuming power. Signed-off-by: Heungjun Kim <[email protected]> Signed-off-by: Kyungmin Park <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2011-02-23Input: mcs_touchkey - add support for suspend/resumeHeungjun Kim2-1/+48
This adds support for system-level suspend/resume to the driver. Signed-off-by: Heungjun Kim <[email protected]> Signed-off-by: Kyungmin Park <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2011-02-23Input: omap4-keypad - wire up runtime PM handlingAbraham Arce1-19/+55
Enable Runtime PM functionality in OMAP4 driver based on the following assumptions: - keyboard controller in wakeup domain so it is always on and power impact is minimal; - in OMAP4 the device control is at module/device level and ick/fclk level control is difficult so cutting of clocks will prevent interrupts. Signed-off-by: Abraham Arce <[email protected]> Signed-off-by: Shubhrajyoti D <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2011-02-23Input: serio/gameport - use 'long' system workqueueDmitry Torokhov2-2/+2
Commit 8ee294cd9def0004887da7f44b80563493b0a097 converted serio subsystem event handling from using a dedicated thread to using common workqueue. Unfortunately, this regressed our boot times, due to the fact that serio jobs take long time to execute. While the new concurrency managed workqueue code manages long-playing works just fine and schedules additional workers as needed, such works wreck havoc among remaining users of flush_scheduled_work(). To solve this problem let's move serio/gameport works from system_wq to system_long_wq which nobody tries to flush. Reported-and-tested-by: Hernando Torque <[email protected]> Acked-by: Tejun Heo <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2011-02-23Input: synaptics - document 0x0c queryDmitry Torokhov1-0/+23
Since Synaptics technical writers department is a bit slow releasing updated Synaptics interface guide, let's add some new bits (with their blessing) to the code so that they don't get lost. Signed-off-by: Dmitry Torokhov <[email protected]>
2011-02-21Input: uinput - reversed test in uinput_setup_device()Dan Carpenter1-1/+1
The test here is reversed. It should be if (IS_ERR()) instead of if (!IS_ERR()). Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2011-02-21Input: atmel_mxt_ts - allow board code to specify IRQ flagsIiro Valkonen3-3/+7
Different board have different requirements/setups so let's be more flexible. Signed-off-by: Iiro Valkonen <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>