summaryrefslogtreecommitdiff
path: root/drivers/input/serio
AgeCommit message (Collapse)AuthorFilesLines
2010-01-11Input: i8042 - add Dritek quirk for Acer Aspire 5610.Elliott Sales de Andrade1-0/+7
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-12-24Input: serio - do not mark kseriod freezable anymoreDmitry Torokhov1-9/+2
We used to make kseriod freezable to prevent unnecessary attempts at resuming keyboard and mouse before taking hibernation image when suspend and hibernation were sharing PM operations. Now that they are separated and we don't risk resuming during 'thaw' we don't need to freeze kseriod anymore. This will allow us to start resetting mouse and keyboard a bit earlier, before rest of the userspace comes back up. Acked-by: Rafael J. Wysocki <rjw@sisk.pl> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-12-15Input: altera_ps2 - fix test of unsigned in altera_ps2_probe()Roel Kluin1-3/+5
ps2if->irq is unsigned so the test does not work. Signed-off-by: Roel Kluin <roel.kluin@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-12-15Merge commit 'linus' into nextDmitry Torokhov2-2/+2
2009-12-15Input: at32psif - do not sleep in atomic contextDmitry Torokhov1-1/+1
We can't use msleep() while holding a spinlock, moreower serio's write() method is supposed to be useable from inettrupt context. Let's do what i8042 does and poll the status register every 50 us (with udelay). Reported-by: Marjan Fojkar <marjan@pajkc.eu> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-12-15Input: i8042 - add Gigabyte M1022M to the noloop listDmitry Torokhov1-0/+8
Gigabyte netbook model M1022M requires i8042.noloop, otherwise AUX port will not detected and the touchpad will not work. Unfortunately chassis type in DMI set to "Other" and thus generic laptop entry does not fire on it. Reported-by: Darryl Bond <dbond@nrggos.com.au> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-12-11Input: i8042 - allow installing platform filters for incoming dataMatthew Garrett1-3/+55
Some hardware (such as Dell laptops) signal a variety of events through the i8042 controller, even if these don't map to keyboard events. Add support for drivers to filter the i8042 event stream in order to respond to these events and (if appropriate) block them from entering the input stream. Signed-off-by: Matthew Garrett <mjg@redhat.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-12-11Input: i8042 - fix locking in interrupt routineDmitry Torokhov1-8/+26
We need to protect not only i8042 status and data register from concurrent access from IRQ 1 and 12 but the rest of the shared state as well, so let's move release of i8042_lock in i8042_interrupt() a little bit further down. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-12-11Input: sa1111ps2 - annotate probe() and remove() methodsDmitry Torokhov1-5/+5
Also fix annotation of ps2_test() - it can'be __init since it is called from __devinit code. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-12-11Input: ambakmi - annotate probe() and remove() methodsDmitry Torokhov1-4/+4
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-12-11Input: gscps2 - fix probe() and remove() annotationsDmitry Torokhov1-3/+3
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-12-11Input: altera_ps2 - add annotations to probe and remove methodsDmitry Torokhov1-3/+3
Mark altera_ps2_probe() as __devinit and altera_ps2_remove() as __devexit so that they can be discarded when not needed. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-12-11Input: hil-mlc - use del_timer_sync() when unloading the driverDmitry Torokhov1-5/+3
del_timer() does not wait for the timer to finish running before returning and therefore is technically not safe. Also make sure to enable tasklet before kicking timer that will schedule it. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-12-11Input: serio - set owner in driver structuresDmitry Torokhov3-0/+3
Setting up owner field ensures that driver core creates symlink from the driver to a module implementing this driver. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-12-09Merge branch 'for-linus' of ↵Linus Torvalds4-77/+275
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: (51 commits) Input: appletouch - give up maintainership Input: dm355evm_kbd - switch to using sparse keymap library Input: wistron_btns - switch to using sparse keymap library Input: add generic support for sparse keymaps Input: fix memory leak in force feedback core Input: wistron - remove identification strings from DMI table Input: psmouse - remove identification strings from DMI tables Input: atkbd - remove identification strings from DMI table Input: i8042 - remove identification strings from DMI tables DMI: allow omitting ident strings in DMI tables Input: psmouse - do not carry DMI data around Input: matrix-keypad - switch to using dev_pm_ops Input: keyboard - fix lack of locking when traversing handler->h_list Input: gpio_keys - scan gpio state at probe and resume time Input: keyboard - add locking around event handling Input: usbtouchscreen - add support for ET&T TC5UH touchscreen controller Input: xpad - add two new Xbox 360 devices Input: polled device - do not start polling if interval is zero Input: polled device - schedule first poll immediately Input: add S3C24XX touchscreen driver ...
2009-12-07Merge branch 'for-next' into for-linusJiri Kosina2-2/+2
Conflicts: kernel/irq/chip.c
2009-12-04Input: i8042 - remove identification strings from DMI tablesDmitry Torokhov1-77/+66
The driver does not reference identification strings in DMI tables and since these strings are no longer required by DMI core we can safely remove them and save some memory. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-12-04tree-wide: fix assorted typos all over the placeAndré Goddard Rosa2-2/+2
That is "success", "unknown", "through", "performance", "[re|un]mapping" , "access", "default", "reasonable", "[con]currently", "temperature" , "channel", "[un]used", "application", "example","hierarchy", "therefore" , "[over|under]flow", "contiguous", "threshold", "enough" and others. Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2009-12-02Merge commit 'v2.6.32' into nextDmitry Torokhov1-0/+21
2009-12-02Input: i8042 - add Dell Vostro 1320, 1520 and 1720 to the reset listAnisse Astier1-0/+21
These laptops often leave i8042 in a wierd state resulting in non- operational touchpad and keyboard. Signed-off-by: Anisse Astier <anisse@astier.eu> Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-11-05Merge commit 'v2.6.32-rc6' into nextDmitry Torokhov2-8/+40
2009-11-02Input: i8042 - try to get stable CTR value when initializingDmitry Torokhov1-7/+28
If user presses keys while i8042 is being initialized there is a chance that keyboard data will be mistaken for results of Read Control Register command causing futher troubles. Work around this issue by reading CTR several times and stop when we get matching results. Reported-and-tested-by: Dave Young <hidave.darkstar@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-11-02Merge commit 'v2.6.32-rc5' into for-linusDmitry Torokhov3-0/+3
2009-10-18Input: i8042 - add Sony Vaio VGN-FZ240E to the nomux listDmitry Torokhov1-0/+11
On this model, when KBD is in active multiplexing mode, acknowledgements to reset and get ID commands issued on KBD port sometimes are delivered to AUX3 port (touchpad) which messes up device detection. Legacy KBC mode works fine and since there are no external PS/2 ports on this laptop and no support for docking station we can safely disable active MUX mode. Tested-by: Carlos R. Mafra <crmafra2@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-10-12Input: add driver for Altera PS/2 controllerThomas Chou3-0/+209
This patch adds a new SERIO driver to support the Altera University Program PS/2 controller. [dtor@mail.ru: assorted cleanups] Signed-off-by: Thomas Chou <thomas@wytron.com.tw> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-10-12Input: i8042 - make pnp_data_busted variable boolean instead of intDmitry Torokhov1-1/+1
This small snippet escaped last round of int -> bool conversion. Reported-by: Joe Perches <joe@perches.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-10-11headers: remove sched.h from interrupt.hAlexey Dobriyan3-0/+3
After m68k's task_thread_info() doesn't refer to current, it's possible to remove sched.h from interrupt.h and not break m68k! Many thanks to Heiko Carstens for allowing this. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
2009-10-08Input: i8042 - print debug data when testing AUX IRQ deliveryDmitry Torokhov1-0/+3
Sometimes it is not clear why IRQ delivery test failed so let's add some debug printks so we know the exact reason. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-10-05Input: libps2 - fix dependancy on i8042Dmitry Torokhov1-6/+7
libps2 can not be built in if i8042 is a module, all other combinations are allowed. Reported-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-09-17Input: libps2 - additional locking for i8042 portsDmitry Torokhov2-4/+65
The serio ports on i8042 are not completely isolated; while we provide enough locking to ensure proper serialization when accessing control and data registers AUX and KBD ports can still have an effect on each other on PS/2 protocol level. The most prominent effect is that issuing a command for the device connected to one port may cause abort of the command currently executing by the device connected to another port. Since i8042 nor serio subsystem are not aware of the details of the PS/2 protocol (length of the commands and their replies and so on) the locking should be done on libps2 level by adding special handling when we see that we are dealing with serio port on i8042. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-09-13Merge branch 'next' into for-linusDmitry Torokhov8-138/+221
2009-09-10Input: i8042 - use platform_driver_probeDmitry Torokhov1-23/+22
i8042 is not hot-pluggable and we create the device when we register the driver, so let's save some memory by using platform_device_probe and using __init instead of __devinit. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-09-10Input: i8042 - use boolean type where it makes senseDmitry Torokhov2-70/+71
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-09-10Input: i8042 - try disabling and re-enabling AUX port at closeDmitry Torokhov1-1/+49
Ever since we switched from having a polling timer to registering IRQ handlers for both keyboard and AUX ports at the driver registration time, on certain boxes probing for a mouse results in keyboard stopping working. The only real difference between old and new way is that before we disabled ports after unsuccessful probe whereas now we leave them as is. Try to emulate the old behavior by disabling and immediately re-enabling AUX and KBD ports when corresponding serio port is being closed. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-09-10Input: i8042 - bypass AUX IRQ delivery test on laptopsDmitry Torokhov2-1/+36
It seems that many laptops do not fully implement AUX LOOP command in their keyboard controllers, causing issues with touchpad detection. We know however that almost every laptop/portable uses a PS/2 pointing device and, even if user disables it in favor of an external mouse, the system will not use IRQ 12 for anything else. Therefore we may bypass AUX IRQ delivery test when running on a laptop and assume that it is routed properly. Just to be safe we require the box to have good PNP data in order to bypass the test. [Jin Dongming <jin.dongming@np.css.fujitsu.com>: fix crash caused by missing terminator in the DMI table] Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-08-27Merge commit 'v2.6.31-rc8' into nextDmitry Torokhov2-1/+9
2009-08-26Input: i8042 - add Acer Aspire 5536 to the nomux listDmitry Torokhov1-0/+8
When KBC is in active multiplexing mode, disabling and re-enabling the touchpad with the special key leaves the touchpad dead. Since the laptop does not have any external PS/2 ports disabling MUX mode should be safe. Reported-by: Eugeniy Meshcheryakov <eugen@debian.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-08-19Input: add new driver for Sentelic Finger Sensing PadTai-hwa Liang1-3/+12
This is the driver for Sentelic Finger Sensing Pad which can be found on MSI WIND Netbook. Signed-off-by: Tai-hwa Liang <avatar@sentelic.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-08-07Merge branch 'for-linus' of ↵Linus Torvalds1-0/+8
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: matrix_keypad - make matrix keymap size dynamic Input: wistron_btns - support Prestigio Wifi RF kill button Input: i8042 - add Asus G1S to noloop exception list
2009-08-05Input: i8042 - add Asus G1S to noloop exception listJory A. Pratt1-0/+8
The synaptic touchpad on the Asus G1S is not properly detected when rebooting machine or on cold boot from time to time. Adding the Asus G1S to the noloop exception table resolves the issue. # dmidecode 2.10 SMBIOS 2.4 present. Handle 0x0001, DMI type 1, 27 bytes System Information Manufacturer: ASUSTeK Computer Inc. Product Name: G1S Version: 1.0 Wake-up Type: Power Switch SKU Number: Family: Signed-off-by: Jory A. Pratt <geekypenguin@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-08-02parisc: hp_sdc_mlc.c - check return value of down_trylock()Helge Deller1-1/+1
Signed-off-by: Helge Deller <deller@gmx.de>
2009-07-26Input: serio - switch to using dev_pm_opsDmitry Torokhov1-12/+11
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-07-26Input: i8042 - switch to using dev_pm_opsDmitry Torokhov1-26/+18
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-07-22Merge commit 'v2.6.31-rc4' into nextDmitry Torokhov5-8/+38
2009-07-08Merge branch 'for-linus' of ↵Linus Torvalds3-6/+36
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: gpio_mouse - use standard driver registration method Input: mark serio and i8042 as suspended when hibernating too Input: add support for generic GPIO-based matrix keypad Input: arrange keyboards alphabetically Input: gpio-keys - avoid possibility of sleeping in timer function Input: gpio-keys - revert 'change timer to workqueue' Input: dm355evm_keys - fix kconfig symbol names Input: wacom - add DTF720a support and fix rotation on Intuos3 Input: i8042 - more reset quirks for MSI Wind-clone netbooks
2009-07-07Input: use resource_size when allocating resourcesJulia Lawall1-1/+1
Use the function resource_size, which reduces the chance of introducing off-by-one errors in calculating the resource size. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @@ struct resource *res; @@ - (res->end - res->start) + 1 + resource_size(res) // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-07-07Input: mark serio and i8042 as suspended when hibernating tooThadeu Lima de Souza Cascardo2-6/+8
Serio ports are not being restarted any longer because resume operations after hibernate do nothing, since the device has not been marked as suspended. This happens because suspend is only considering the SUSPEND event but not the FREEZE event. Note that this driver has still to migrate to dev_pm_ops, but this fixes this particular bug now. Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-06-28Input: i8042 - more reset quirks for MSI Wind-clone netbooksYan Li1-0/+28
When testing Moblin on various netbooks, we've got reports that many MSI Wind clones need the i8042 reset quirks for the keyboard and/or touchpad's proper function. Signed-off-by: Yan Li <yan.i.li@intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2009-06-20Merge branch 'for-linus' of ↵Linus Torvalds2-37/+38
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: (35 commits) Input: add driver for Synaptics I2C touchpad Input: synaptics - add support for reporting x/y resolution Input: ALPS - handle touchpoints buttons correctly Input: gpio-keys - change timer to workqueue Input: ads7846 - pin change interrupt support Input: add support for touchscreen on W90P910 ARM platform Input: appletouch - improve finger detection Input: wacom - clear Intuos4 wheel data when finger leaves proximity Input: ucb1400 - move static function from header into core Input: add driver for EETI touchpanels Input: ads7846 - more detailed model name in sysfs Input: ads7846 - support swapping x and y axes Input: ati_remote2 - use non-atomic bitops Input: introduce lm8323 keypad driver Input: psmouse - ESD workaround fix for OLPC XO touchpad Input: tsc2007 - make sure platform provides get_pendown_state() Input: uinput - flush all pending ff effects before destroying device Input: simplify name handling for certain input handles Input: serio - do not use deprecated dev.power.power_state Input: wacom - add support for Intuos4 tablets ...
2009-06-14Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds1-1/+1
* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (417 commits) MAINTAINERS: EB110ATX is not ebsa110 MAINTAINERS: update Eric Miao's email address and status fb: add support of LCD display controller on pxa168/910 (base layer) [ARM] 5552/1: ep93xx get_uart_rate(): use EP93XX_SYSCON_PWRCNT and EP93XX_SYSCON_PWRCN [ARM] pxa/sharpsl_pm: zaurus needs generic pxa suspend/resume routines [ARM] 5544/1: Trust PrimeCell resource sizes [ARM] pxa/sharpsl_pm: cleanup of gpio-related code. [ARM] pxa/sharpsl_pm: drop set_irq_type calls [ARM] pxa/sharpsl_pm: merge pxa-specific code into generic one [ARM] pxa/sharpsl_pm: merge the two sharpsl_pm.c since it's now pxa specific [ARM] sa1100: remove unused collie_pm.c [ARM] pxa: fix the conflicting non-static declarations of global_gpios[] [ARM] 5550/1: Add default configure file for w90p910 platform [ARM] 5549/1: Add clock api for w90p910 platform. [ARM] 5548/1: Add gpio api for w90p910 platform [ARM] 5551/1: Add multi-function pin api for w90p910 platform. [ARM] Make ARM_VIC_NR depend on ARM_VIC [ARM] 5546/1: ARM PL022 SSP/SPI driver v3 ARM: OMAP4: SMP: Update defconfig for OMAP4430 ARM: OMAP4: SMP: Enable SMP support for OMAP4430 ...