aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* Input: keyboard - fix lack of locking when traversing handler->h_listDmitry Torokhov2009-12-02
| | | | | | | | | | | | | Keyboard handler should not attempt to traverse handler->h_list on its own, without any locking, otherwise it races with registering and unregistering of input handles which leads to crashes. Introduce input_handler_for_each_handle() helper that allows safely iterate over all handles attached to a particular handler and switch keyboard handler to use it. Reported-by: Jim Paradis <jparadis@redhat.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: gpio_keys - scan gpio state at probe and resume timeDaniel Mack2009-11-30
| | | | | | | | | | | We need to read and report gpio state when we bind the driver to the device and upon resume so that userspace has correct state of the switches (and keys but they are less important since, even if they are happened to be pressed, we'd expect them to be released fairly soon). Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: keyboard - add locking around event handlingDmitry Torokhov2009-11-30
| | | | | | | | | | Keyboard input handler is multiplexing events form all keyboard-like devices in the system. Because of that per-device lock provided by input core is not enough to prevent clashes in ked_event() and we need our own lock to ensure that only one thread at a time executing kbd_event(). Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: usbtouchscreen - add support for ET&T TC5UH touchscreen controllerPetr Štetiar2009-11-30
| | | | | | | | This patch adds support for the ET&T TC5UH 5-wire USB touchscreen controller. More info at http://www.etandt.com.tw/board_solution.html Signed-off-by: Petr Štetiar <ynezz@true.cz> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: xpad - add two new Xbox 360 devicesNicolas Léveillé2009-11-30
| | | | | | | | | Added two new Xbox 360 devices: - HORI Real Arcade Pro.EX - Mad Catz SFIV Fightpad Signed-off-by: Nicolas Léveillé <nicolas@uucidl.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: polled device - do not start polling if interval is zeroSamu Onkalo2009-11-23
| | | | | | | | | | If the poll interval is set to 0 via new sysfs entry and device is opened after that, polling is started with interval 0. This causes huge CPU load. Same happens if the rate was 0 when the device was closed and then reopened. Signed-off-by: Samu Onkalo <samu.p.onkalo@nokia.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: polled device - schedule first poll immediatelyDmitry Torokhov2009-11-23
| | | | | | | It does not make sense to wait poll_interval before performing first read after opening the device, schedule the read immediately instead. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: add S3C24XX touchscreen driverArnaud Patard2009-11-23
| | | | | | | | | | | | | | | | | | | | S3C24XX touchscreen driver, originally written by Arnaud Patard and other contributors. The driver has had substantial testing as well as a number of tidying up passes done by Ben Dooks, as noted: - added kernel-doc comments to most of the routines - removed old code from pre adc framework days - updated device probe code to use platform id list matching - cleaned up debug, since printk() now has timestamp feature - ensure code uses dev_() reporting macros where necessary - remove ABS_PRESSURE reporting, tslib can be fixed - ensure timer is removed on driver exit - move to using dev_pmops for power management Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org> Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Simtec Linux Team <linux@simtec.co.uk> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: usbtouchscreen - add support for Zytronic capacitive touchscreenDaniel Silverstone2009-11-23
| | | | | | | | | | Zytronic USB-attached capacitive touchscreen support within the generic USB touchscreen driver. Signed-off-by: Daniel Silverstone <dsilvers@simtec.co.uk> Signed-off-by: Vincent Sanders <vince@simtec.co.uk> Signed-off-by: Simtec Linux Team <linux@simtec.co.uk> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: force feedback - fix function name in commentRoger Quadros2009-11-23
| | | | | | | Function name is input_ff_destroy() and not input_ff_free() Signed-off-by: Roger Quadros <roger.quadros@nokia.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: do not overwrite the first part of phys stringMárton Németh2009-11-23
| | | | | | | | Use strlcat() to append a string to the previously created first part. Signed-off-by: Márton Németh <nm127@freemail.hu> Acked-by: Jiri Kosina <jkosina@suse.cz> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: ads7846 - switch to using dev_vdbg()Pavel Machek2009-11-23
| | | | | Signed-off-by: Pavel Machek <pavel@ucw.cz> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: ads7846 - fix pressure reportingPavel Machek2009-11-23
| | | | | | | | On Zaurus, hx4700 and others pressure is reported inverted -- the lighter the pressure, the bigger numerical value. Signed-off-by: Pavel Machek <pavel@ucw.cz> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: usbtouchscreen - remove unneeded usb_kill_urbOliver Neukum2009-11-23
| | | | | | | | usb_kill_urb() in disconnect is not needed as unregistering will cause close() to be called. Signed-off-by: Oliver Neukum <oliver@neukum.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* AT91: add touchscreen support for at91sam9g45ekesNicolas Ferre2009-11-20
| | | | | | | | | | New at91sam9g45ekes board provides a LCD with resistive touchscreen. This is the support of this feature by atmel_tsadcc driver. This also sets up platform parameters to be passed to the driver. Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com> Acked-by: Andrew Victor <linux@maxim.org.za> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* AT91: add platform parameters for atmel_tsadcc in at91sam9rlekNicolas Ferre2009-11-20
| | | | | | | | | Setup platform parameters in at91sam9rl-ek board to be passed to atmel_tsadcc touchscreen. Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com> Acked-by: Andrew Victor <linux@maxim.org.za> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: atmel_tsadcc - use platform parametersNicolas Ferre2009-11-20
| | | | | | | | | | | Add a number of plafrom dependent parameters to atmel_tsadcc. The touchscreeen driver can now take into account the slight differences that exist between IPs included in diferent products. This will also allow to adapt its behaivior to the caracteristics of the resistive panel used. Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: atmel_tsadcc - rework setting touchscreen capabilitiesNicolas Ferre2009-11-20
| | | | | | | Tiny patch for setting capabilities using input API function. Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: keyboard - fix theoretical race on vt switchAlan Jenkins2009-11-20
| | | | | | | | | | | | | A VT switch can theoretically change fg_console between vc = vc_cons[fg_console].d and kbd = kbd_table + fg_console Fix it by replacing the second fg_console with vc->vc_num. Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: ALPS - add support for touchpads with 4-directional buttonMaxim Levitsky2009-11-20
| | | | | | | | | | | | The touchpad on Acer Aspire 5720, 5520 and some other Aspire models (signature 0x73, 0x02, 0x50) has a button that can be rocked in 4 different directions. Make the driver to generate BTN_0..BTN_3 events in response. The Synaptics driver by default maps BTN_0 and BTN_1 to up and down, so there should be no visible changes with the old setup that generated BTN_FORWARD and BTN_BACK (also mapped to up and down). Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: psmouse - rework setting of BTN_MIDDLE capabilityDmitry Torokhov2009-11-20
| | | | | | | | | | Do not start protocol detection assuming that middle mouse is present, instead let individual protocols explicitly set this capability. This fixes issue with Synaptics touchpads pretending that they have middle button when hardware clearly reports otherwise. Reported-and-tested-by: Andrey Borzenkov <arvidjaar@mail.ru> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: lifebook - do not advertise unsupported buttonsDmitry Torokhov2009-11-20
| | | | | | | | The main input device of Lifebook touchscreens does not generate left/right/middle button events and therefore should not be advertising them in its capabilities. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: elantech - do not advertise relative eventsDmitry Torokhov2009-11-20
| | | | | | | Elantech touchpads work in absolute mode and do not generate relative events so they should not be advertising them. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: touchkit_ps2 - do not advertise unsupported buttonsDmitry Torokhov2009-11-20
| | | | | | | Touchkit PS/2 touchscreen does not have left/right/middle buttons and should not be advertising as capable of generating these events. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: input-polldev, matrix-keypad - include in kernel docDmitry Torokhov2009-11-20
| | | | | | | | Make sure that polled input device and matrix keypad APIs are included with the rest of input API when generating kernel documentation. Also description of absres was missing as well. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: input-polldev - add sysfs interface for controlling poll intervalSamu Onkalo2009-11-20
| | | | | | | | | | | | | | | | | | | | Sysfs entry for reading and setting of the polling interval. If the interval is set to 0, polling is stopped. Polling is restarted when interval is changed to non-zero. sysfs entries: poll = current polling interval in msec (RW) max = max allowed polling interval (RO) min = min allowed polling interval (RO) Minimum and maximum limit for interval can be set while setting up the device. Interval can be adjusted even if the input device is not currently open. [dtor@mail.ru: add kernel doc markup for the new fields] Signed-off-by: Samu Onkalo <samu.p.onkalo@nokia.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: gpio_keys - seperate individual button setup to make code neaterBen Dooks2009-11-20
| | | | | | | | | | Move the code that deals with setting up each individual button out into a new function to reduce the indentation and allow us to common up some of the error recovery code. Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Simtec Linux Team <linux@simtec.co.uk> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: gpio_keys - use <linux/gpio.h> instead of <asm/gpio.h>Ben Dooks2009-11-20
| | | | | | | | | The gpio keys driver should be using <linux/gpio.h> instead of <asm/gpio.h> Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Simtec Linux Team <linux@simtec.co.uk> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: gpio_keys - use dev_ macros to report informationBen Dooks2009-11-20
| | | | | | | | | | The gpio_keys driver is binding to a platform device but using pr_err() to report errors. Change to using dev_err() so that all messages are prefixed by the device name. Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Simtec Linux Team <linux@simtec.co.uk> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: ucb1400_ts - allow passing IRQ through platfrom_dataMarek Vasut2009-11-20
| | | | | | | | | This patch allows UCB1400 to get IRQ GPIO from platform data. In case platform_data are not supplied or the IRQ supplied in the platform_data is negative, fall back to the old IRQ detection algorithm. Signed-off-by: Marek Vasut <marek.vasut@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: add new keycodes useful in mobile devicesJani Nikula2009-11-06
| | | | | | | | Add new codes for camera focus key, and camera lens cover, keypad slide, front proximity switches. Signed-off-by: Jani Nikula <ext-jani.1.nikula@nokia.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Merge commit 'v2.6.32-rc6' into nextDmitry Torokhov2009-11-06
|\
| * Linux 2.6.32-rc6v2.6.32-rc6Linus Torvalds2009-11-03
| |
| * Merge branch 'for-linus' of git://github.com/at91linux/linux-2.6-at91Linus Torvalds2009-11-03
| |\ | | | | | | | | | | | | | | | * 'for-linus' of git://github.com/at91linux/linux-2.6-at91: at91: at91sam9g45 family: identify several chip versions avr32: add two new at91 to cpu.h definition
| | * at91: at91sam9g45 family: identify several chip versionsNicolas Ferre2009-11-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cpu_is_xxx() macros are identifying generic at91sam9g45 chip. This patch adds the capacity to differentiate Engineering Samples and final lots through the inclusion of at91_cpu_fully_identify() and the related chip IDs with chip version field preserved. Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com> Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Acked-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
| | * avr32: add two new at91 to cpu.h definitionNicolas Ferre2009-11-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | Somme common drivers will need those at91 cpu_is_xxx() definitions. As at91sam9g10 and at91sam9g45 are on the way to linus' tree, here is the patch that adds those chips to cpu.h in AVR32 architecture. Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
| * | Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linusLinus Torvalds2009-11-03
| |\ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (38 commits) MIPS: O32: Fix ppoll MIPS: Oprofile: Rename cpu_type from godson2 to loongson2 MIPS: Alchemy: Fix hang with high-frequency edge interrupts MIPS: TXx9: Fix spi-baseclk value MIPS: bcm63xx: Set the correct BCM3302 CPU name MIPS: Loongson 2: Set cpu_has_dc_aliases and cpu_icache_snoops_remote_store MIPS: Avoid potential hazard on Context register MIPS: Octeon: Use lockless interrupt controller operations when possible. MIPS: Octeon: Use write_{un,}lock_irq{restore,save} to set irq affinity MIPS: Set S-cache linesize to 64-bytes for MTI's S-cache MIPS: SMTC: Avoid queing multiple reschedule IPIs MIPS: GCMP: Avoid accessing registers when they are not present MIPS: GIC: Random fixes and enhancements. MIPS: CMP: Fix memory barriers for correct operation of amon_cpu_start MIPS: Fix abs.[sd] and neg.[sd] emulation for NaN operands MIPS: SPRAM: Clean up support code a little MIPS: 1004K: Enable SPRAM support. MIPS: Malta: Enable PCI 2.1 compatibility in PIIX4 MIPS: Kconfig: Fix duplicate default value for MIPS_L1_CACHE_SHIFT. MIPS: MTI: Fix accesses to device registers on MIPS boards ...
| | * MIPS: O32: Fix ppollArnaud Patard2009-11-02
| | | | | | | | | | | | | | | | | | | | | | | | sys_ppoll syscall needs to use a compat handler on 64bit kernels with o32 user-space. Signed-off-by: Arnaud Patard <apatard@mandriva.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| | * MIPS: Oprofile: Rename cpu_type from godson2 to loongson2Wu Zhangjin2009-11-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unify the naming method between kernel and the user-space oprofile tool. Because loongson is used instead of godson in most of the places, we agreed to use loongson instead, which will simplify future maintenance. Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com> Acked-by: Robert Richter <robert.richter@amd.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| | * MIPS: Alchemy: Fix hang with high-frequency edge interruptsManuel Lauss2009-11-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The handle_edge_irq() flowhandler disables edge int sources which occur too fast (i.e. another edge comes in before the irq handler function had a chance to finish). Currently, the mask_ack() callback does not ack the edges in hardware, leading to an endless loop in the flowhandler where it tries to shut up the irq source. When I rewrote the alchemy IRQ code I wrongly assumed the mask_ack() callback was only used by the level flowhandler, hence it omitted the (at the time pointless) edge acks. Turned out I was wrong; so here is a complete mask_ack implementation for Alchemy IC, which fixes the above mentioned problem. Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| | * MIPS: TXx9: Fix spi-baseclk valueAtsushi Nemoto2009-11-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TXx9 SPI bit rate is calculated by: fBR = fSPI / 2 / (n + 1) (fSPI is SPI master clock freq, i.e. imbusclk freq.) So use imbus_clk / 2 as a spi-baseclk. Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| | * MIPS: bcm63xx: Set the correct BCM3302 CPU nameFlorian Fainelli2009-11-02
| | | | | | | | | | | | | | | | | | | | | | | | For consistency with other BCM63xx SoC set the CPU name to "Broadcom BCM6338" when actually running on that system. Signed-off-by: Florian Fainelli <florian@openwrt.org> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| | * MIPS: Loongson 2: Set cpu_has_dc_aliases and cpu_icache_snoops_remote_storeZhang Le2009-11-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Loongson 2 does not have dcache aliases when is using 16k pages. and the And because Loongson 2 doesn't do SMP , cpu_icache_snoops_remote_store does not matter here. Signed-off-by: Zhang Le <r0bertz@gentoo.org> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| | * MIPS: Avoid potential hazard on Context registerRalf Baechle2009-11-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | set_saved_sp reads Context register. Avoid reading stale value from earlier incomplete write. Issue found and fixed for head.S by Chris Dearman <chris@mips.com>. Signed-off-by: Chris Dearman <chris@mips.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| | * MIPS: Octeon: Use lockless interrupt controller operations when possible.David Daney2009-11-02
| | | | | | | | | | | | | | | | | | | | | | | | Some newer Octeon chips have registers that allow lockless operation of the interrupt controller. Take advantage of them. Signed-off-by: David Daney <ddaney@caviumnetworks.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| | * MIPS: Octeon: Use write_{un,}lock_irq{restore,save} to set irq affinityDavid Daney2009-11-02
| | | | | | | | | | | | | | | | | | | | | | | | Since the locks are used from interrupt context we need the irqsave/irqrestore versions of the locking functions. Signed-off-by: David Daney <ddaney@caviumnetworks.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| | * MIPS: Set S-cache linesize to 64-bytes for MTI's S-cacheRalf Baechle2009-11-02
| | | | | | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| | * MIPS: SMTC: Avoid queing multiple reschedule IPIsJaidev Patwardhan2009-11-02
| | | | | | | | | | | | | | | Signed-off-by: Chris Dearman <chris@mips.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| | * MIPS: GCMP: Avoid accessing registers when they are not presentJaidev Patwardhan2009-11-02
| | | | | | | | | | | | | | | Signed-off-by: Chris Dearman <chris@mips.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| | * MIPS: GIC: Random fixes and enhancements.Chris Dearman2009-11-02
| | | | | | | | | | | | | | | Signed-off-by: Chris Dearman <chris@mips.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>