firefly-linux-kernel-4.4.55.git
14 years agoInput: ad7879 - prevent invalid finger data reports
Michael Hennerich [Thu, 28 Oct 2010 21:59:05 +0000 (14:59 -0700)]
Input: ad7879 - prevent invalid finger data reports

Considering following scenario - the touch is present on the screen
at the beginning of the last conversion sequence, but by the time
the last sequence is finished, the finger is lift off. The AD7879 data
available interrupt signals (DAV) completion, however some X,Y values
are not valid because the screen inputs were floating during the
acquisition.

The AD7877 acts differently here, since it only asserts DAV if the
touch is still present when the conversion sequence finished.

Based on the fact that this can only happen in the last sample of the
repeated conversion sequence, we simply skip the last (short glitches
are filtered by the AD7879 internal median and average filters).
This doesn't cause noticeable side effects, since the minimum conversion
interval is 9.44ms. We receive ~100 waypoint samples per second, so we
simply delay the result by 9.44ms.

We also reject samples where pressure is greater than pressure_max.

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoMerge branch 'next' into for-linus
Dmitry Torokhov [Mon, 25 Oct 2010 05:11:17 +0000 (22:11 -0700)]
Merge branch 'next' into for-linus

14 years agoInput: wacom - specify Cinitq supported tools
Ping Cheng [Mon, 25 Oct 2010 04:53:40 +0000 (21:53 -0700)]
Input: wacom - specify Cinitq supported tools

Cintiq, being a display tablet, doesn't have mouse and associated BTN_s.
Make sure we do not specify them when registering Cintiq's input device
so that userland can retrieve the exact tool set the device supports.

Signed-off-by: Ping Cheng <pingc@wacom.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: ab8500-ponkey - fix IRQ freeing in error path
Nicolas Kaiser [Mon, 25 Oct 2010 04:48:11 +0000 (21:48 -0700)]
Input: ab8500-ponkey - fix IRQ freeing in error path

Looks like an obvious typo to me.

Signed-off-by: Nicolas Kaiser <nikai@nikai.net>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: adp5588-keys - use more obvious i2c_device_id name string
Michael Hennerich [Tue, 19 Oct 2010 00:46:03 +0000 (17:46 -0700)]
Input: adp5588-keys - use more obvious i2c_device_id name string

KBUILD_MODNAME normalizes "-" to "_".  This is non-obvious and results in
the id name for ADP5588 being "adp5588_keys" while the other supported id
is "adp5587-keys".  So avoid this define and use an explicit string as the
id name.

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: ad7877 - switch to using threaded IRQ
Dmitry Torokhov [Mon, 18 Oct 2010 16:24:22 +0000 (09:24 -0700)]
Input: ad7877 - switch to using threaded IRQ

Instead of using asynchronous SPI API and then spinning waiting for SPI
transfer to complete when disabling the device, let's use threaded IRQ
model and spi_sync().

Acked-by: Michael Hennerich <michael.hennerich@analog.com>
Tested-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: ad7877 - use attribute group to control visibility of attributes
Dmitry Torokhov [Mon, 18 Oct 2010 16:22:38 +0000 (09:22 -0700)]
Input: ad7877 - use attribute group to control visibility of attributes

Instead of manually creating one set of attributes or another set up
is_visible method in attribute group structure to control whether
aux3 or gpio3 attribute is presented to userspace.

Acked-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: serio - add support for PS2Mult multiplexer protocol
Dmitry Eremin-Solenikov [Mon, 18 Oct 2010 16:18:13 +0000 (09:18 -0700)]
Input: serio - add support for PS2Mult multiplexer protocol

PS2Mult is a simple serial protocol used for multiplexing several PS/2
streams into one serial data stream. It's used e.g. on TQM85xx series
of boards.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: evdev - fix EVIOCSABS regression
Daniel Mack [Mon, 18 Oct 2010 15:43:50 +0000 (08:43 -0700)]
Input: evdev - fix EVIOCSABS regression

448cd16 ("Input: evdev - rearrange ioctl handling") broke EVIOCSABS by
checking for the wrong direction bit.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Reported-by: Sven Neumann <s.neumann@raumfeld.com>
Tested-by: Sven Neumann <s.neumann@raumfeld.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: evdev - fix Ooops in EVIOCGABS/EVIOCSABS
Daniel Mack [Mon, 18 Oct 2010 15:43:30 +0000 (08:43 -0700)]
Input: evdev - fix Ooops in EVIOCGABS/EVIOCSABS

This fixes a regression introduced by the dynamic allocation of absinfo
for input devices. We need to bail out early for input devices which
don't have absolute axis.

[  929.664303] Pid: 2989, comm: input Not tainted 2.6.36-rc8+ #14 MS-7260/MS-7260
[  929.664318] EIP: 0060:[<c12bdc01>] EFLAGS: 00010246 CPU: 0
[  929.664331] EIP is at evdev_ioctl+0x4f8/0x59f
[  929.664341] EAX: 00000040 EBX: 00000000 ECX: 00000006 EDX: f45a1efc
[  929.664355] ESI: 00000000 EDI: f45a1efc EBP: f45a1f24 ESP: f45a1eb8
[  929.664369]  DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
[  929.664402]  f470da74 f6a30e78 f462c240 00000018 bfe4a260 00000000 f45b06fc 00000000
[  929.664429] <0> 000000c4 b769d000 c3544620 f470da74 f45b06fc f45b06fc f45a1f38 c107dd1f
[  929.664458] <0> f4710b74 000000c4 00000000 00000000 00000000 0000029d 00000a74 f4710b74
[  929.664500]  [<c107dd1f>] ? handle_mm_fault+0x2be/0x59a
[  929.664513]  [<c12bd709>] ? evdev_ioctl+0x0/0x59f
[  929.664524]  [<c1099d30>] ? do_vfs_ioctl+0x494/0x4d9
[  929.664538]  [<c10432a1>] ? up_read+0x16/0x29
[  929.664550]  [<c101c818>] ? do_page_fault+0x2ff/0x32d
[  929.664564]  [<c108d048>] ? do_sys_open+0xc5/0xcf
[  929.664575]  [<c1099db6>] ? sys_ioctl+0x41/0x61
[  929.664587]  [<c1002710>] ? sysenter_do_call+0x12/0x36
[  929.684570] ---[ end trace 11b83e923bd8f2bb ]---

Signed-off-by: Daniel Mack <zonque@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: wacom - properly enable runtime PM
Dmitry Torokhov [Sun, 10 Oct 2010 21:24:16 +0000 (14:24 -0700)]
Input: wacom - properly enable runtime PM

We need to always call usb_autopm_put_interface() in wacom_open(),
not only when initialization fails, otherwise the device will be
marked as PM-busy and will never be put in suspended state.

Based on patch by Oliver Neukum.

Acked-by: Oliver Neukum <oneukum@suse.de>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoMerge branch 'for-linus' into next
Dmitry Torokhov [Mon, 18 Oct 2010 04:20:19 +0000 (21:20 -0700)]
Merge branch 'for-linus' into next

14 years agoInput: ad7877 - filter events where pressure is beyond the maximum
Michael Hennerich [Fri, 15 Oct 2010 16:49:08 +0000 (09:49 -0700)]
Input: ad7877 - filter events where pressure is beyond the maximum

Suppress events where pressure > pressure_max.
These events come typically along with inaccurate X and Y samples.

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: ad7877 - implement EV_KEY:BTN_TOUCH reporting
Michael Hennerich [Fri, 15 Oct 2010 16:49:07 +0000 (09:49 -0700)]
Input: ad7877 - implement EV_KEY:BTN_TOUCH reporting

Some input users such as Android or X require BTN_TOUCH events.
Implement EV_KEY:BTN_TOUCH and make sure that the release event
is not erroneous scheduled without a preceding valid touch.

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: ad7877 - implement specified chip select behavior
Michael Hennerich [Fri, 15 Oct 2010 16:48:10 +0000 (09:48 -0700)]
Input: ad7877 - implement specified chip select behavior

According to the AD7877 datasheet:

Each transfer operation is 16-bit. If multiple read/write operations are
to be performed, CS must be taken high after the end of each read/write
operation before another read/write operation can be performed by
taking CS low again.

Make sure CS toggles after each transfer in the message.

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: hp680_ts_input - use cancel_delayed_work_sync()
Tejun Heo [Fri, 15 Oct 2010 16:47:15 +0000 (09:47 -0700)]
Input: hp680_ts_input - use cancel_delayed_work_sync()

Make hp680_ts_init/exit() call cancel_delayed_work_sync() instead of
calling cancel_delayed_work() followed by flush_scheduled_work().

This is to prepare for the deprecation and removal of
flush_scheduled_work().

Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: mousedev - correct lockdep annotation
Hitoshi Mitake [Wed, 13 Oct 2010 18:35:40 +0000 (11:35 -0700)]
Input: mousedev - correct lockdep annotation

When annotating mutex to avoid false lockdep reports we should not
be using MOUSEDEV_MIX as lock subclass but rather SINGLE_DEPTH_NESTING.

Signed-off-by: Hitoshi Mitake <mitake@dcl.info.waseda.ac.jp>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: ads7846 - switch to using threaded IRQ
Jason Wang [Wed, 13 Oct 2010 18:35:40 +0000 (11:35 -0700)]
Input: ads7846 - switch to using threaded IRQ

Commit 9114337 introduces regulator operations in ads7846 touchscreen
driver. Among these operations, some are called while holding a
spinlock. On many platforms regulators reside on slow buses, such as
I2C/SPI and require sleep while accessing them.

The touchscreen itself is also a SPI device and currently relies on
asynchronous SPI access to avoid sleeping in interrupt context. Let's
switch to using threaded IRQ to be able to access SPI bus
synchronously (which simplifies driver a bit); it also allows safe
access to the regulators as well.

This has been tested on the ti_omap3530evm board:
 1) using ts_lib after normal boot
 2) using ts_lib after "#echo 1/0 > /sys/bus/spi/devices/spi0.1/disable"
 3) using ts_lib after "#echo mem > /sys/power/state" and "wake up"

Also tested on pandora.

Based on original patch by Dmitry Torokhov.

Tested-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: Jason Wang <jason77.wang@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: serio - support multiple child devices per single parent
Dmitry Eremin-Solenikov [Tue, 5 Oct 2010 04:46:10 +0000 (21:46 -0700)]
Input: serio - support multiple child devices per single parent

Some (rare) serio devices need to have multiple serio children. One of
the examples is PS/2 multiplexer present on several TQC STKxxx boards,
which connect PS/2 keyboard and mouse to single tty port.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: synaptics - simplify pass-through port handling
Dmitry Torokhov [Tue, 5 Oct 2010 04:46:10 +0000 (21:46 -0700)]
Input: synaptics - simplify pass-through port handling

There was too much knowledge about internals if serio in the pass-through
handling, clean it up.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: add ROHM BU21013 touch panel controller support
Naveen Kumar Gaddipati [Tue, 5 Oct 2010 05:32:48 +0000 (22:32 -0700)]
Input: add ROHM BU21013 touch panel controller support

Add the ROHM BU21013 capacitive touch panel controller support with
i2c interface.

Acked-by: Linus Walleij <linus.walleij@stericsson.com>
Signed-off-by: Naveen Kumar Gaddipati <naveen.gaddipati@stericsson.com>
Acked-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: omap4-keypad - wake-up on events & long presses
Mike Turquette [Thu, 30 Sep 2010 06:38:01 +0000 (23:38 -0700)]
Input: omap4-keypad - wake-up on events & long presses

Program keyboard controller to generate a wake-up request on events and
on long key presses. It will not generate wake-up requests on timeouts
since driver code does not handle them.

This allows keyboard to wake-up OMAP from suspend.

Signed-off-by: Mike Turquette <mturquette@ti.com>
Signed-off-by: Abraham Arce <x0066660@ti.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: omap4-keypad - fix interrupt line configuration
Abraham Arce [Thu, 30 Sep 2010 06:37:04 +0000 (23:37 -0700)]
Input: omap4-keypad - fix interrupt line configuration

Select correct interrupt line behaviour.

Signed-off-by: Abraham Arce <x0066660@ti.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: omap4-keypad - SYSCONFIG register configuration
Abraham Arce [Thu, 30 Sep 2010 06:36:48 +0000 (23:36 -0700)]
Input: omap4-keypad - SYSCONFIG register configuration

Remove SYSCONFIG register configuration, omap hwmod framework will
use internal API to modify as required.

Other minor updates:

- Change a variable name from DEF to VAL, this represents a value
- Break line width to 80 characters

Signed-off-by: Abraham Arce <x0066660@ti.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: omap4-keypad - use platform device helpers
Abraham Arce [Thu, 30 Sep 2010 06:35:57 +0000 (23:35 -0700)]
Input: omap4-keypad - use platform device helpers

Get mem and irq resources using platform helpers

 - platform_get_base
 - platform_get_irq

Signed-off-by: Abraham Arce <x0066660@ti.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoux500 - add platform data for Nomadik SKE keypad controller
Sundar Iyer [Thu, 30 Sep 2010 02:43:09 +0000 (19:43 -0700)]
ux500 - add platform data for Nomadik SKE keypad controller

Signed-off-by: Sundar Iyer <sundar.iyer@stericsson.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: add support for Nomadik SKE keypad controller
Sundar Iyer [Thu, 30 Sep 2010 02:42:14 +0000 (19:42 -0700)]
Input: add support for Nomadik SKE keypad controller

Add support for the keypad controller in the Scroll Key Encoder (SKE)
module on the Nomadik family and the DB8500 SoC.

Acked-by: Linus Walleij <linus.walleij@stericsson.com>
Signed-off-by: Sundar Iyer <sundar.iyer@stericsson.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: twl4030_keypad - fix error handling path
Dmitry Torokhov [Thu, 30 Sep 2010 01:36:00 +0000 (18:36 -0700)]
Input: twl4030_keypad - fix error handling path

We should not try to call free_irq() when request_irq() failed.

Reported-by: G, Manjunath Kondaiah <manjugk@ti.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: return -ENOMEM in select drivers when memory allocation fails
Davidlohr Bueso [Thu, 30 Sep 2010 01:53:35 +0000 (18:53 -0700)]
Input: return -ENOMEM in select drivers when memory allocation fails

Instead of using -1 let's start using proper error codes.

Signed-off-by: Davidlohr Bueso <dave@gnu.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: emu10k1 - do not leave device enabled when probe fails
Dmitry Torokhov [Thu, 30 Sep 2010 01:50:17 +0000 (18:50 -0700)]
Input: emu10k1 - do not leave device enabled when probe fails

Rework emu_probe() to make sure we leave the device disabled if probe
fails for any reason.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: hil_kbd - add missing MODULE_DEVICE_TABLE()
Dzianis Kahanovich [Thu, 30 Sep 2010 01:38:10 +0000 (18:38 -0700)]
Input: hil_kbd - add missing MODULE_DEVICE_TABLE()

Signed-off-by: Dzianis Kahanovich <mahatma@eu.by>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: wacom - fix pressure in Cintiq 21UX2
Aristeu Rozanski [Sun, 10 Oct 2010 21:12:33 +0000 (14:12 -0700)]
Input: wacom - fix pressure in Cintiq 21UX2

Currently the pressure range in Cintiq 21UX2 is limited to half of the
supported. This patch fixes the problem.

Signed-off-by: Aristeu Rozanski <aris@redhat.com>
Acked-by: Ping Cheng <pingc@wacom.com>
CC: stable@kernel.org
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: wacom - fix runtime PM related deadlock
Dmitry Torokhov [Tue, 5 Oct 2010 04:46:11 +0000 (21:46 -0700)]
Input: wacom - fix runtime PM related deadlock

When runtime PM is enabled by default for input devices, X hangs in
wacom open:
[<ffffffff814a00ea>] mutex_lock+0x1a/0x40
[<ffffffffa02bc94b>] wacom_resume+0x3b/0x90 [wacom]
[<ffffffff81327a32>] usb_resume_interface+0xd2/0x190
[<ffffffff81327b5d>] usb_resume_both+0x6d/0x110
[<ffffffff81327c24>] usb_runtime_resume+0x24/0x40
[<ffffffff8130a2cf>] __pm_runtime_resume+0x26f/0x450
[<ffffffff8130a23a>] __pm_runtime_resume+0x1da/0x450
[<ffffffff8130a53a>] pm_runtime_resume+0x2a/0x50
[<ffffffff81328176>] usb_autopm_get_interface+0x26/0x60
[<ffffffffa02bc626>] wacom_open+0x36/0x90 [wacom]

wacom_open() takes wacom->lock and calls usb_autopm_get_interface(),
which in turn calls wacom_resume() which tries to acquire the lock
again.

The fix is to call usb_autopm_get_interface() first, before we take
the lock.

Since we do not do usb_autopm_put_interface() until wacom_close()
is called runtime PM is effectively disabled for the driver, however
changing it now would risk regressions so the complete fix will
have to wait till the next merge window.

Reported-by: Jiri Slaby <jslaby@suse.cz>
Acked-by: Oliver Neukum <oneukum@suse.de>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: sysrq - add locking to sysrq_filter()
Dmitry Torokhov [Thu, 30 Sep 2010 01:04:21 +0000 (18:04 -0700)]
Input: sysrq - add locking to sysrq_filter()

Similarly to the keyboard handler, we are called by different input
devices and thus need to add spinlock if we want to maintain our
state properly.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: i8042 - use unsigned char for 0x90
Christoph Fritz [Thu, 30 Sep 2010 01:04:21 +0000 (18:04 -0700)]
Input: i8042 - use unsigned char for 0x90

Keep the file consistent and make clear that we mean 144 instead of -112.

Signed-off-by: Christoph Fritz <chf.fritz@googlemail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: fm801-gp - add missing call to pci_disable_device()
Dmitry Torokhov [Thu, 30 Sep 2010 01:17:16 +0000 (18:17 -0700)]
Input: fm801-gp - add missing call to pci_disable_device()

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: emu10k1-gp - add missing calls to pci_disable_device()
Rahul Ruikar [Thu, 30 Sep 2010 01:12:46 +0000 (18:12 -0700)]
Input: emu10k1-gp - add missing calls to pci_disable_device()

pci_disable_device() is called for following 2 cases
- error path in emu_probe()
- in emu_remove()

Signed-off-by: Rahul Ruikar <rahul.ruikar@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: hanwang - add support for Art Master HD 5012 tablet
Xing Wei [Thu, 30 Sep 2010 01:25:20 +0000 (18:25 -0700)]
Input: hanwang - add support for Art Master HD 5012 tablet

This adds support for hanwang Art Master HD 5012 electromagnetic tablet.

Signed-off-by: Xing Wei <weixing@hanwang.com.cn>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: joydev - fix JSIOCSAXMAP ioctl
Kenneth Waters [Tue, 21 Sep 2010 07:58:23 +0000 (00:58 -0700)]
Input: joydev - fix JSIOCSAXMAP ioctl

Fixed JSIOCSAXMAP ioctl to update absmap, the map from hardware axis to
event axis in addition to abspam.  This fixes a regression introduced
by 999b874f.

Signed-off-by: Kenneth Waters <kwwaters@gmail.com>
Cc: stable@kernel.org
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: uinput - setup MT usage during device creation
Henrik Rydberg [Sun, 19 Sep 2010 23:25:36 +0000 (16:25 -0700)]
Input: uinput - setup MT usage during device creation

The input devices created by uinput do not currently handle multitouch
properly. All events will appear as if they came from slot zero, and
the input event buffers are not adjusted. This patch creates the MT
slots during setup, and sets the number of events per packet based
on the MT usage.

Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: hid-input - allow mapping unknown usages
Dmitry Torokhov [Thu, 16 Sep 2010 02:36:56 +0000 (19:36 -0700)]
Input: hid-input - allow mapping unknown usages

Currently HID layer only allows to remap keycodes for known usages,
and responds with -EINVAL when user tries to map new usage code.
This precludes us form relying on udev/keymap for establishing correct
mappings and forces us to write dummy HID drivers responsible only for
setting up keymaps.

Let's allow remapping not only usages that have been set up as keys
(usage->type == EV_KEY) but also yet-unmapped usages (usage->type == 0).

Acked-by: Jarod Wilson <jarod@redhat.com>
Acked-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: ati_remote2 - switch to using new keycode interface
Dmitry Torokhov [Thu, 16 Sep 2010 02:36:34 +0000 (19:36 -0700)]
Input: ati_remote2 - switch to using new keycode interface

Switch the code to use new style of getkeycode and setkeycode
methods to allow retrieving and setting keycodes not only by
their scancodes but also by index.

Acked-by: Ville Syrjälä <syrjala@sci.fi>
Tested-by: Jarod Wilson <jarod@wilsonet.com>
Tested-by: Ville Syrjälä <syrjala@sci.fi>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: gameport_driver - drop private pointer
Dmitry Torokhov [Tue, 14 Sep 2010 06:53:55 +0000 (23:53 -0700)]
Input: gameport_driver - drop private pointer

Nobody uses it anymore.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: gameport_driver - mark description as const pointer
Dmitry Torokhov [Tue, 14 Sep 2010 06:53:55 +0000 (23:53 -0700)]
Input: gameport_driver - mark description as const pointer

Memory pointed to by the pointer should not change.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: serio_driver - drop private pointer
Dmitry Torokhov [Tue, 14 Sep 2010 06:53:55 +0000 (23:53 -0700)]
Input: serio_driver - drop private pointer

Nobody uses it anymore.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: serio_driver - mark id_table and description as const
Dmitry Torokhov [Tue, 14 Sep 2010 06:53:55 +0000 (23:53 -0700)]
Input: serio_driver - mark id_table and description as const

Memory pointed to by these fields is not supposed to change.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: serio - do not include linux/freezer.h
Dmitry Torokhov [Tue, 14 Sep 2010 06:53:55 +0000 (23:53 -0700)]
Input: serio - do not include linux/freezer.h

Commit ea486e681188d64c6a101d8d06414aef0f9f0cd3 changed kseriod thread
to become not freezable so we do not need this include anymore.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: hanwang - make compatible with xf86-input-wacom driver
Xing Wei [Sun, 12 Sep 2010 07:24:17 +0000 (00:24 -0700)]
Input: hanwang - make compatible with xf86-input-wacom driver

Add necessary events so that Hanwang Art Master III tablet can be handled
by the stock xf86-input-wacom driver.

Signed-off-by: Xing Wei <weixing@hanwang.com.cn>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: wacom - disable Bamboo touchpad when pen is being used
Chris Bagwell [Sun, 12 Sep 2010 07:12:28 +0000 (00:12 -0700)]
Input: wacom - disable Bamboo touchpad when pen is being used

Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
Acked-by: Ping Cheng <pingc@wacom.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: wacom - add support for Bamboo Pen
Chris Bagwell [Sun, 12 Sep 2010 07:11:35 +0000 (00:11 -0700)]
Input: wacom - add support for Bamboo Pen

This adds support for Pen on Bamboo Pen and Bamboo Pen&Touch devices.
Touchpad is handled by previous Bamboo Touch logic.

Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
Acked-by: Ping Cheng <pingc@wacom.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: wacom - move Bamboo Touch irq to its own function
Chris Bagwell [Sun, 12 Sep 2010 07:09:27 +0000 (00:09 -0700)]
Input: wacom - move Bamboo Touch irq to its own function

This is in preparation of pen support in same irq handler.

Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
Acked-by: Ping Cheng <pingc@wacom.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: wacom - request tablet data for Bamboo Pens
Chris Bagwell [Sun, 12 Sep 2010 07:08:40 +0000 (00:08 -0700)]
Input: wacom - request tablet data for Bamboo Pens

Bamboo P&T need to use second form of usb_set_report() to
ask to report tablet data.

With previous addition of Bamboo Touch, BTN_TOOL_TRIPLETAP is now used
for both TABLETPC2FG and BAMBOO_PT types.  So reduced check to
match type=TABLETPC2FG.

This change shows redundant check for !TABLETPC2FG in else statement.

Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
Acked-by: Ping Cheng <pingc@wacom.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: hid-input - switch to using new keycode interface
Dmitry Torokhov [Fri, 10 Sep 2010 04:57:17 +0000 (21:57 -0700)]
Input: hid-input - switch to using new keycode interface

Switch HID code to use new style of getkeycode and setkeycode
methods to allow retrieving and setting keycodes not only by
their scancodes but also by index.

Acked-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: media/IR - switch to using new keycode interface
Dmitry Torokhov [Fri, 10 Sep 2010 04:59:11 +0000 (21:59 -0700)]
Input: media/IR - switch to using new keycode interface

Switch the code to use new style of getkeycode and setkeycode
methods to allow retrieving and setting keycodes not only by
their scancodes but also by index.

Acked-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: sparse-keymap - switch to using new keycode interface
Dmitry Torokhov [Fri, 10 Sep 2010 04:54:22 +0000 (21:54 -0700)]
Input: sparse-keymap - switch to using new keycode interface

Switch sparse keymap library to use new style of getkeycode and
setkeycode methods to allow retrieving and setting keycodes not
only by their scancodes but also by index.

Acked-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: add support for large scancodes
Mauro Carvalho Chehab [Fri, 10 Sep 2010 04:54:22 +0000 (21:54 -0700)]
Input: add support for large scancodes

Several devices use a high number of bits for scancodes. One important
group is the Remote Controllers. Some new protocols like RC-6 define a
scancode space of 64 bits.

The current EVIO[CS]GKEYCODE ioctls allow replace the scancode/keycode
translation tables, but it is limited to up to 32 bits for scancode.

Also, if userspace wants to clean the existing table, replacing it by
a new one, it needs to run a loop calling the ioctls over the entire
sparse scancode space.

To solve those problems, this patch extends the ioctls to allow drivers
handle scancodes up to 32 bytes long (the length could be extended in
the future should such need arise) and allow userspace to query and set
scancode to keycode mappings not only by scancode but also by index.

Compatibility code were also added to handle the old format of
EVIO[CS]GKEYCODE ioctls.

Folded fixes by:
- Dan Carpenter: locking fixes for the original implementation
- Jarod Wilson: fix crash when setting keycode and wiring up get/set
                handlers in original implementation.
- Dmitry Torokhov: rework to consolidate old and new scancode handling,
                   provide options to act either by index or scancode.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: cy8ctmg110 - add fuzz to ABS_X and ABS_Y to remove jitter
James Ketrenos [Mon, 6 Sep 2010 19:49:33 +0000 (12:49 -0700)]
Input: cy8ctmg110 - add fuzz to ABS_X and ABS_Y to remove jitter

Without this the jitter on the touchscreen makes it hard to use for
most GUI toolkits.

Signed-off-by: James Ketrenos<jketreno@linux.intel.com>
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: wacom - add a quirk for low resolution Bamboo devices
Henrik Rydberg [Sun, 5 Sep 2010 19:57:13 +0000 (12:57 -0700)]
Input: wacom - add a quirk for low resolution Bamboo devices

The Bamboo Touch reports a sub-screen resolution of 480x320.  The
signal-to-noise ratio is only about 100, so filtering is needed in
order to reduce the jitter to a usable level. However, the low
resolution leads to round-off errors in the EWMA filter, resulting in
extremely jerky pointer motion. This patch explicitly sets a higher
resolution for those devices, and tells this to the completion handler
via a low-resolution quirk.

Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Acked-by: Ping Cheng <pingc@wacom.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: wacom - add support for the Bamboo Touch trackpad
Henrik Rydberg [Sun, 5 Sep 2010 19:53:16 +0000 (12:53 -0700)]
Input: wacom - add support for the Bamboo Touch trackpad

Add support for the Bamboo Touch trackpad, and make it work with
both the Synaptics X Driver and the Multitouch X Driver. The device
uses MT slots internally, so the choice of protocol is a given.

Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Acked-by: Ping Cheng <pingc@wacom.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: wacom - collect device quirks into single function
Henrik Rydberg [Sun, 5 Sep 2010 19:26:16 +0000 (12:26 -0700)]
Input: wacom - collect device quirks into single function

Collect device-specific code into a single function, and use quirks to
flag specific behavior instead.

Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Acked-by: Ping Cheng <pingc@wacom.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: wacom - parse the Bamboo device family
Ping Cheng [Sun, 5 Sep 2010 19:25:40 +0000 (12:25 -0700)]
Input: wacom - parse the Bamboo device family

The Bamboo devices have multiple interfaces which need to be setup
separately. Use the HID parsing mechanism to achieve that.

Signed-off-by: Ping Cheng <pinglinux@gmail.com>
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: wacom - add fuzz parameters to features
Henrik Rydberg [Sun, 5 Sep 2010 19:25:11 +0000 (12:25 -0700)]
Input: wacom - add fuzz parameters to features

The signal-to-noise ratio varies between devices, but currently all
devices are treated the same way. Add fuzz parameters to the feature
struct, allowing for tailored treatment of devices.

Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Acked-by: Ping Cheng <pingc@wacom.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoMerge branch 'mrst-touchscreen' into next
Dmitry Torokhov [Sun, 5 Sep 2010 19:20:24 +0000 (12:20 -0700)]
Merge branch 'mrst-touchscreen' into next

Conflicts:
drivers/input/touchscreen/Makefile

14 years agoInput: add support for PowerOn button on the AB8500 MFD
Sundar R Iyer [Sun, 5 Sep 2010 19:18:47 +0000 (12:18 -0700)]
Input: add support for PowerOn button on the AB8500 MFD

Add the PowerOn (PonKey) button support to detect power on/off events.

Acked-by: Linus Walleij <linus.walleij@stericsson.com>
Signed-off-by: Sundar R Iyer <sundar.iyer@stericsson.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: fix a few typos
Dmitry Torokhov [Fri, 3 Sep 2010 17:31:05 +0000 (10:31 -0700)]
Input: fix a few typos

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: wm97xx-core - add retries to wm97xx_read_aux_adc
Eric Millbrandt [Fri, 3 Sep 2010 17:31:05 +0000 (10:31 -0700)]
Input: wm97xx-core - add retries to wm97xx_read_aux_adc

Add logic to wm97xx_read_aux_adc() to retry reading the adc if the
sample failed.  This could occur if the previous sample was still in
the return register or the sample timed-out.  Also avoid a pathologic
failure mode by disabling the digitizer and returning -EBUSY after 5
retries.

Signed-off-by: Eric Millbrandt <emillbrandt@dekaresearch.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: wm97xx-core - simplify error path in wm97xx_probe()
Axel Lin [Fri, 3 Sep 2010 17:31:04 +0000 (10:31 -0700)]
Input: wm97xx-core - simplify error path in wm97xx_probe()

Use platform_device_del() instead of platform_device_unregister() in error
handling path.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Acked-by: Mark Brown <broonie@opensoruce.wolfsonmicro.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: stmpe-ts - return -ENOMEM when memory allocation fails
Axel Lin [Fri, 3 Sep 2010 02:54:27 +0000 (19:54 -0700)]
Input: stmpe-ts - return -ENOMEM when memory allocation fails

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: stmpe-ts - remove input_free_device() in stmpe_ts_remove()
Axel Lin [Fri, 3 Sep 2010 02:52:49 +0000 (19:52 -0700)]
Input: stmpe-ts - remove input_free_device() in stmpe_ts_remove()

It is forbidden to call input_free_device() after input_unregister_device().

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: tsc2007 - fix a redundant assignment for pdata
Axel Lin [Fri, 3 Sep 2010 02:52:41 +0000 (19:52 -0700)]
Input: tsc2007 - fix a redundant assignment for pdata

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: tps6507x-ts - properly unregister input device on removal
Axel Lin [Fri, 3 Sep 2010 02:52:37 +0000 (19:52 -0700)]
Input: tps6507x-ts - properly unregister input device on removal

Once device is registered we should call input_unregister_device()
instead of input_free_device().

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: tps6507x-ts - add missing call to platform_set_drvdata()
Axel Lin [Thu, 2 Sep 2010 17:26:35 +0000 (10:26 -0700)]
Input: tps6507x-ts - add missing call to platform_set_drvdata()

We call platform_get_drvdata() in tps6507x_ts_remove(),
thus we should call platform_set_drvdata() in tps6507x_ts_probe().

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: s3c2410_ts - fix s3c2410ts_probe error path
Axel Lin [Thu, 2 Sep 2010 17:26:31 +0000 (10:26 -0700)]
Input: s3c2410_ts - fix s3c2410ts_probe error path

Use input_free_device() to free devices that have not been registered.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: add support for Hanwang tablets
Xing Wei [Thu, 2 Sep 2010 06:25:35 +0000 (23:25 -0700)]
Input: add support for Hanwang tablets

Add support for Art Master III tablet of BeiJing HanwangTechnology Co, Ltd.

Signed-off-by: Xing Wei <weixing@hanwang.com.cn>
Acked-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: mrst-touchscreen - move out of staging
Dmitry Torokhov [Wed, 1 Sep 2010 06:00:52 +0000 (23:00 -0700)]
Input: mrst-touchscreen - move out of staging

The driver is in reasonable shape now so let's move it out of staging.

Acked-by: Alan Cox <alan@linux.intel.com>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoStaging: mrst-touchscreen - simplify en/disable of interrupts for NEC
Andy Ross [Wed, 1 Sep 2010 06:00:41 +0000 (23:00 -0700)]
Staging: mrst-touchscreen - simplify en/disable of interrupts for NEC

Use 8 bit update commands instead of a 16 bit unaligned read/write
pair which fails after the first few calls; the voodoo in the original
doesn't seem to be required with this mechanism.

Tested-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Andy Ross <andy.ross@windriver.com>
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoStaging: mrst-touchscreen - fix channel allocation
Arjan van de Ven [Wed, 1 Sep 2010 05:57:31 +0000 (22:57 -0700)]
Staging: mrst-touchscreen - fix channel allocation

The touch screen driver tries to find a range of free channels (which
are an array of bytes), by scanning for the "end of used channel" marker.
However it tries to be WAAAAY too smart and does 32 bit logic on 8 bit
quantities, and in the process completely gets it wrong
(repeatedly read the same register instead of incrementing in the loop,
assuming that if any of the 4 bytes in the 32 byte quantity is free,
all four are free, returning the channel number divided by 4 rather than
the actual first free channel number)

On the setting side, the same mistakes are made by and large; changed
this to just use the byte SCU write functions....

With these fixes we go from a completely non detected touchscreen to
something that appears to completely get detected.
(after also fixing the ordering issue that Jacobs patch should solve)

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoStaging: mrst-touchscreen - register platform interface
Alek Du [Wed, 1 Sep 2010 05:57:30 +0000 (22:57 -0700)]
Staging: mrst-touchscreen - register platform interface

AC: Reworked to merge with upstream input device work from Dmitry et al.

Signed-off-by: Alek Du <alek.du@intel.com>
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoStaging: mrst_touchscreen - more fixes
Dmitry Torokhov [Wed, 1 Sep 2010 05:57:28 +0000 (22:57 -0700)]
Staging: mrst_touchscreen - more fixes

Changes:

 - switch to use threaded IRQ
 - more __devinit/__devexit annotations
 - rely on input core to remove jitter from events
 - global pointer removed
 - NEC/MAXIM/Freescale handling factored out

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoStaging: mrst_touchscreen - clean up input side
Alan Cox [Wed, 1 Sep 2010 05:20:55 +0000 (22:20 -0700)]
Staging: mrst_touchscreen - clean up input side

Fix most of the stuff that Dmitry pointed out. This leaves the mutex in IRQ
and misuse of SPI to sort out.

Also fix the build bits so it actually builds in staging - whoops.

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: i8042 - fix device removal on unload
Dmitry Torokhov [Wed, 1 Sep 2010 00:27:02 +0000 (17:27 -0700)]
Input: i8042 - fix device removal on unload

We need to call platform_device_unregister(i8042_platform_device)
before calling platform_driver_unregister() because i8042_remove()
resets i8042_platform_device to NULL. This leaves the platform device
instance behind and prevents driver reload.

Fixes https://bugzilla.kernel.org/show_bug.cgi?id=16613

Reported-by: Seryodkin Victor <vvscore@gmail.com>
Cc: stable@kernel.org
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: add support for OMAP4 keyboard controller
Abraham Arce [Wed, 1 Sep 2010 00:05:27 +0000 (17:05 -0700)]
Input: add support for OMAP4 keyboard controller

OMAP4 keyboard controller includes:
  - built-in scanning algorithm
  - debouncing feature

Driver implementation is based on matrix_keypad.c

Signed-off-by: Syed Rafiuddin <rafiuddin.syed@ti.com>
Signed-off-by: Abraham Arce <x0066660@ti.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
14 years agoInput: bcm5974 - adjust major/minor to scale
Henrik Rydberg [Wed, 1 Sep 2010 00:27:02 +0000 (17:27 -0700)]
Input: bcm5974 - adjust major/minor to scale

By visual inspection, the reported touch_major and touch_minor axes
are a factor of two too small. Presumably the device actually reports
the semi-major and semi-minor axes. Corrected with this patch.

Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: add LPC32xx touchscreen controller driver
Kevin Wells [Sun, 29 Aug 2010 05:45:22 +0000 (22:45 -0700)]
Input: add LPC32xx touchscreen controller driver

This patch set introduces support for the LPC32xx touchscreen
controller driver. The LPC32xx touchscreen controller supports
automated event detection and X/Y data conversion for resistive
touchscreens.

Signed-off-by: Kevin Wells <wellsk40@gmail.com>
Signed-off-by: Durgesh Pattamatta <durgesh.pattamatta@nxp.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: wacom_w8001 - add multitouch slot support
Peter Hutterer [Sun, 29 Aug 2010 05:00:47 +0000 (22:00 -0700)]
Input: wacom_w8001 - add multitouch slot support

Some serial wacom devices support two-finger touch. Test for this during
init and parse the touch packets accordingly. Touch packets are
processed using Protocol B (MT Slots).

Note: there are several wacom versions that do touch but not two-finger
touch. These are not catered for here, touch events for these are simply
discarded.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: wacom_w8001 - support (and ignore) touch tablets
Peter Hutterer [Sun, 29 Aug 2010 05:00:47 +0000 (22:00 -0700)]
Input: wacom_w8001 - support (and ignore) touch tablets

Tablets that support touch input may report different sized packages,
depending on the touch sensor in the tablet. For now, discard the
packages until we report them as touch input proper.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: wacom_w8001 - send BTN_TOOL_PEN/RUBBER and BTN_STYLUS events
Peter Hutterer [Sun, 29 Aug 2010 05:00:05 +0000 (22:00 -0700)]
Input: wacom_w8001 - send BTN_TOOL_PEN/RUBBER and BTN_STYLUS events

The protocol used by the w8001 supports status fields for tip, side
switch and eraser as well as a RDY field for proximity.

The protocol has a double usage for the f2 bit in the packet. If set,
the data is either pen + side2 button or eraser. Assume eraser if the
device comes into proximity with the f2 bit set, otherwise trigger the
side2 button. If the device comes into proximity with the f2 bit and
that bit disappears afterwards, fake proximity out for the eraser and
proximity in for the pen.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: MT - initialize slots to unused
Henrik Rydberg [Sun, 29 Aug 2010 04:33:50 +0000 (21:33 -0700)]
Input: MT - initialize slots to unused

For MT slots, the ABS_MT_TRACKING_ID determines whether a slot is in use,
but currently leaves initialization up to the drivers. This patch sets the
slot state to unused upon creation.

Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: use PIT_TICK_RATE in vt beep ioctl
Arnd Bergmann [Sun, 29 Aug 2010 03:35:17 +0000 (20:35 -0700)]
Input: use PIT_TICK_RATE in vt beep ioctl

The KIOCSOUND and KDMKTONE ioctls are based on the CLOCK_TICK_RATE,
which is architecture and sometimes configuration specific.

In practice, most user applications assume that it is actually defined
as the i8253 PIT base clock of 1193182 Hz, which is true on some
architectures but not on others.

This patch makes the vt code use the PIT frequency on all
architectures, which is much more well-defined.  It will change the
behavior of user applications sending the beep ioctl on all
architectures that define CLOCK_TICK_RATE different from
PIT_TICK_RATE.

The original breakage was introduced in commit bcc8ca099 "Adapt
drivers/char/vt_ioctl.c to non-x86".  Hopefully, reverting this change
will make the frequency correct in more cases than it will make it
incorrect.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: wacom - fix mousewheel handling for old wacom tablets
Mike Auty [Sun, 29 Aug 2010 03:35:17 +0000 (20:35 -0700)]
Input: wacom - fix mousewheel handling for old wacom tablets

This fixes a regression introduced in
3b57ca0f80c5c8994b5b1e3d3f904cfe727951f2.

The data[6] byte contains either 1 or -1 depending on the whether the
mouse wheel on older wacom tablets is moved down (1) or up (-1).  The
patch introduced in the above commit changed the cast from (signed char)
to (signed).  When cast as a signed integer and negated, the value of -1
(stored in the byte as 0xff) became -255 rather than 1.  This patch
reverts the cast to a (signed char) and also removes an unnecessary
(signed) cast, as all the values operated on are bitmasked.

Signed-off-by: Mike Auty <ikelos@gentoo.org>
Reviewed-by: Ping Cheng <pingc@wacom.com>
Cc; stable@kernel.org
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: pxa27x_keypad - remove input_free_device() in pxa27x_keypad_remove()
Axel Lin [Tue, 24 Aug 2010 23:37:53 +0000 (16:37 -0700)]
Input: pxa27x_keypad - remove input_free_device() in pxa27x_keypad_remove()

No need to call input_free_device() after input_unregister_device().

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: mousedev - fix regression of inverting axes
Christoph Fritz [Tue, 24 Aug 2010 07:33:37 +0000 (00:33 -0700)]
Input: mousedev - fix regression of inverting axes

Introduced by 987a6c0298260b7aa40702b349282554d6180e4b a swap in max/min
calculation gets fixed by this patch.

Reported-by: Bruno Prémont <bonbons@linux-vserver.org>
Signed-off-by: Christoph Fritz <chf.fritz@googlemail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: uinput - add devname alias to allow module on-demand load
Kay Sievers [Thu, 19 Aug 2010 16:52:28 +0000 (09:52 -0700)]
Input: uinput - add devname alias to allow module on-demand load

Recent modprobe and udev versions allow to create device nodes
for modules which are not loaded. Only the first access will cause
the in-kernel module loader to pull-in the module. Systems which
never access the device node will not needlessly load the module,
and no longer need init scripts or other facilities to unconditionally
load it.

Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: hil_kbd - fix compile error
Dmitry Torokhov [Wed, 18 Aug 2010 04:22:13 +0000 (21:22 -0700)]
Input: hil_kbd - fix compile error

Fix another compile breakage stemming from 987a6c02 ("Input: switch to
input_abs_*() access functions")

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoUSB: drop tty argument from usb_serial_handle_sysrq_char()
Dmitry Torokhov [Wed, 18 Aug 2010 04:15:47 +0000 (21:15 -0700)]
USB: drop tty argument from usb_serial_handle_sysrq_char()

Since handle_sysrq() does not take tty as argument anymore we can
drop it from usb_serial_handle_sysrq_char() as well.

Acked-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
Acked-by: Jason Wessel <jason.wessel@windriver.com>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: sysrq - drop tty argument form handle_sysrq()
Dmitry Torokhov [Wed, 18 Aug 2010 04:15:47 +0000 (21:15 -0700)]
Input: sysrq - drop tty argument form handle_sysrq()

Sysrq operations do not accept tty argument anymore so no need to pass
it to us.

[Stephen Rothwell <sfr@canb.auug.org.au>: fix build breakage in drm code
 caused by sysrq using bool but not including linux/types.h]

[Sachin Sant <sachinp@in.ibm.com>: fix build breakage in s390 keyboadr
 driver]

Acked-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
Acked-by: Jason Wessel <jason.wessel@windriver.com>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoInput: sysrq - drop tty argument from sysrq ops handlers
Dmitry Torokhov [Wed, 18 Aug 2010 04:15:46 +0000 (21:15 -0700)]
Input: sysrq - drop tty argument from sysrq ops handlers

Noone is using tty argument so let's get rid of it.

Acked-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
Acked-by: Jason Wessel <jason.wessel@windriver.com>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
14 years agoLinux 2.6.36-rc1
Linus Torvalds [Mon, 16 Aug 2010 00:41:37 +0000 (17:41 -0700)]
Linux 2.6.36-rc1

14 years agoMerge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux...
Linus Torvalds [Mon, 16 Aug 2010 00:37:07 +0000 (17:37 -0700)]
Merge branch 'release' of git://git./linux/kernel/git/lenb/linux-acpi-2.6

* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6:
  gcc-4.6: ACPI: fix unused but set variables in ACPI
  ACPI thermal: make procfs I/F depend on CONFIG_ACPI_PROCFS
  ACPI video: make procfs I/F depend on CONFIG_ACPI_PROCFS
  ACPI processor: remove deprecated ACPI procfs I/F
  ACPI power_resource: remove unused procfs I/F
  ACPI: remove deprecated ACPI procfs I/F
  ACPI: introduce drivers/acpi/sysfs.c
  ACPI: introduce module parameter acpi.aml_debug_output
  ACPI: introduce drivers/acpi/debugfs.c
  ACPI, APEI, ERST debug support
  ACPI, APEI, Manage GHES as platform devices
  ACPI, APEI, Rename CPER and GHES severity constants
  ACPI, APEI, Fix a typo of error path of apei_resources_request
  ACPI / ACPICA: Fix reference counting problems with GPE handlers
  ACPI: Add the check of ADR flag in course of finding ACPI handle for PCI device
  ACPI / Sleep: Drop acpi_suspend_finish()
  ACPI / Sleep: Consolidate suspend and hibernation routines
  ACPI / Wakeup: Simplify enabling of wakeup devices
  ACPI / Sleep: Rework enabling wakeup devices
  ACPI / Sleep: Free NVS copy if suspending of devices fails

Fixed up totally buggered "ACPI: fix unused but set variables in ACPI"
patch that doesn't even compile in the merge.

Thanks to Sedat Dilek <sedat.dilek@googlemail.com> for noticing the
breakage before I even pulled.  And a big "Grrr.." at Len for not even
bothering to compile the tree before asking me to pull.

14 years agoMerge git://git.infradead.org/iommu-2.6
Linus Torvalds [Mon, 16 Aug 2010 00:34:20 +0000 (17:34 -0700)]
Merge git://git.infradead.org/iommu-2.6

* git://git.infradead.org/iommu-2.6:
  intel-iommu: Fix 32-bit build warning with __cmpxchg()
  intr-remap: allow disabling source id checking