summaryrefslogtreecommitdiffstats
path: root/drivers/input/misc (follow)
Commit message (Collapse)AuthorAgeFilesLines
* input: fix build failures caused by Kconfig Winbond WPCD376I Consumer IR ↵Ingo Molnar2009-09-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | hardware driver Kconfig entry Fix these warnings: drivers/built-in.o: In function `apanel_remove': apanel.c:(.text+0x56e852): undefined reference to `led_classdev_unregister' drivers/built-in.o: In function `apanel_probe': apanel.c:(.text+0x56eae3): undefined reference to `led_classdev_register' drivers/built-in.o: In function `acpi_fujitsu_hotkey_add': fujitsu-laptop.c:(.text+0x5d7647): undefined reference to `led_classdev_register' fujitsu-laptop.c:(.text+0x5d76b5): undefined reference to `led_classdev_register' drivers/built-in.o: In function `wbcir_probe': winbond-cir.c:(.devinit.text+0x5f375): undefined reference to `led_classdev_register' winbond-cir.c:(.devinit.text+0x5f663): undefined reference to `led_classdev_unregister' drivers/built-in.o: In function `wbcir_remove': winbond-cir.c:(.devexit.text+0x7f23): undefined reference to `led_classdev_unregister' drivers/built-in.o: In function `fujitsu_cleanup': fujitsu-laptop.c:(.exit.text+0xbe37): undefined reference to `led_classdev_unregister' fujitsu-laptop.c:(.exit.text+0xbe53): undefined reference to `led_classdev_unregister' It happens because the new INPUT_WINBOND_CIR driver relies on new-leds infrastructure - but does not select it in drivers/input/misc/Kconfig. But it selects LEDS_CLASS, which confuses a number of other drivers into thinking that all the leds infrastructure is in place. Fix this by selecting NEW_LEDS as well, like similar drivers do. Eventually, this whole leds infrastructure complexity should be cleaned up, it's been going on for years. Signed-off-by: Ingo Molnar <mingo@elte.hu> Cc: Jesse Barnes <jbarnes@virtuousgeek.org> Cc: Dmitry Torokhov <dtor@mail.ru> Cc: David Härdeman <david@hardeman.nu> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Merge branch 'for-linus' of ↵Linus Torvalds2009-09-241-17/+9
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: add driver for Atmel AT42QT2160 Sensor Chip Input: max7359 - use threaded IRQs Input: add driver for Maxim MAX7359 key switch controller Input: add driver for ADP5588 QWERTY I2C Keypad Input: add touchscreen driver for MELFAS MCS-5000 controller Input: add driver for OpenCores Keyboard Controller Input: dm355evm_keys - remove dm355evm_keys_hardirq Input: synaptics_i2c - switch to using __cancel_delayed_work() Input: ad7879 - add support for AD7889 Input: atkbd - rely on input core to restore state on resume Input: add generic suspend and resume for input devices Input: libps2 - additional locking for i8042 ports
| * Input: dm355evm_keys - remove dm355evm_keys_hardirqDmitry Torokhov2009-09-181-17/+9
| | | | | | | | | | | | | | The genirq already provides default hard IRQ handler for threaded IRQs, no need to implement our own here. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | input: add a driver for the Winbond WPCD376I Consumer IR hardwareDavid Härdeman2009-09-223-0/+1631
| | | | | | | | | | | | | | | | | | | | | | Add a driver for the the Consumer IR (CIR) functionality of the Winbond WPCD376I chipset (found on e.g. Intel DG45FC motherboards). Signed-off-by: David Härdeman <david@hardeman.nu> Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org> Cc: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | input: PCAP2 misc input driverDaniel Ribeiro2009-09-173-0/+156
| | | | | | | | | | | | | | | | | | | | | | This is a driver for misc input events for the PCAP2 PMIC, it handles the Power key and the Headphone button. Signed-off-by: Daniel Ribeiro <drwyrm@gmail.com> Signed-off-by: Ilya Petrov <ilya.muromec@gmail.com> Signed-off-by: Antonio Ospite <ospite@studenti.unina.it> Acked-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* | input: Add support for the WM831x ON pinMark Brown2009-09-173-0/+174
|/ | | | | | | | | | The WM831x series of PMICs support control of initial power on through the ON pin on the device with soft control of the pin at other times. Represent this to userspace as KEY_POWER. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* Input: wistron_btns - add keymap for AOpen 1557Dmitry Torokhov2009-09-131-1/+17
| | | | | | | | | This one does not have anything useful in DMI either so again we need to use: force=1 keymap=aopen1557 Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Merge commit 'v2.6.31-rc8' into nextDmitry Torokhov2009-08-281-0/+16
|\
| * Merge branch 'for-linus' of ↵Linus Torvalds2009-08-071-0/+16
| |\ | | | | | | | | | | | | | | | | | | | | | | | | 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
| | * Input: wistron_btns - support Prestigio Wifi RF kill buttonTJ2009-08-061-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Prestigio 157, an old no-name clone laptop uses input keys very similar to the Wistron 1557/MS2141 with the addition of BIOS-controlled wireless radio frequency kill switch. This patch adds support for the RF kill switch control and adds manual identification of the model. The Prestigio does not expose any recognisable identity via dmidecode and so requires manual selection at module init using force=1 keymap=prestigio Signed-off-by: TJ <ubuntu@tjworld.net> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | Input: wistron_btns - switch to using dev_pm_opsDmitry Torokhov2009-08-081-29/+37
| | | | | | | | | | | | | | | | | | | | | Also start using 'bool' where it makes sense. Tested-by: Giuseppe Mazzotta <g.mazzotta@iragan.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | Input: add Blackfin rotary input driverMichael Hennerich2009-07-233-0/+294
| | | | | | | | | | | | | | | | | | | | | | | | | | | This driver handles the Blackfin on-chip rotary peripheral. Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org> Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | Merge commit 'v2.6.31-rc4' into nextDmitry Torokhov2009-07-234-5/+19
|\| |
| * | Merge branch 'for-linus' of ↵Linus Torvalds2009-07-222-2/+15
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: atkbd - add force relese key quirk for Soltech TA12 Input: fix EVIOCGNAME/JSIOCGNAME regression Input: atkbd - add forced release keys quirk for FSC Amilo Pi 3525 Input: pcspkr - switch driver to dev_pm_ops Input: xpad - don't resend successfully sent outgoing requests Input: wistron_btns - recognize Maxdata Pro 7000 notebooks
| | * Input: pcspkr - switch driver to dev_pm_opsFrans Pop2009-07-131-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | Gets rid of the following warning: Platform driver 'pcspkr' needs updating - please use dev_pm_ops Signed-off-by: Frans Pop <elendil@planet.nl> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| | * Input: wistron_btns - recognize Maxdata Pro 7000 notebooksGiuseppe Mazzotta2009-07-131-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds DMI information to automatically load the correct layout for the Maxdata Pro 7000X/DX notebook models. Such notebooks are clones of Fujitsu Amilo V2000, the hook for the v2000 is being used and I have tested that perfectly works. The immediate result of integrating this patch is that the five special buttons will work on these specific notebook models and that the RF killswitch will not be activated after suspend. This patch definitively obsoletes the fsam7400 module which I was still needing to enable wifi and to fix the RF killswitch suspend problem; in the current 2.6.30 kernel it is necessary to load the wistron_btns module with options 'force=1 keymap=1557/MS2141', which was not anyway a complete workaround. Signed-off-by: Giuseppe Mazzotta <g.mazzotta@iragan.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Update Yoichi Yuasa's e-mail addressYoichi Yuasa2009-07-031-2/+2
| | | | | | | | | | | | | | | Signed-off-by: Yoichi Yuasa <yuasa@linux-mips.org> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * | Merge branch 'for-linus' of ↵Linus Torvalds2009-06-207-51/+615
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 ...
| * | time: move PIT_TICK_RATE to linux/timex.hArnd Bergmann2009-06-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PIT_TICK_RATE is currently defined in four architectures, but in three different places. While linux/timex.h is not the perfect place for it, it is still a reasonable replacement for those drivers that traditionally use asm/timex.h to get CLOCK_TICK_RATE and expect it to be the PIT frequency. Note that for Alpha, the actual value changed from 1193182UL to 1193180UL. This is unlikely to make a difference, and probably can only improve accuracy. There was a discussion on the correct value of CLOCK_TICK_RATE a few years ago, after which every existing instance was getting changed to 1193182. According to the specification, it should be 1193181.818181... Signed-off-by: Arnd Bergmann <arnd@arndb.de> Cc: Richard Henderson <rth@twiddle.net> Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Ingo Molnar <mingo@elte.hu> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Len Brown <lenb@kernel.org> Cc: john stultz <johnstul@us.ibm.com> Cc: Dmitry Torokhov <dtor@mail.ru> Cc: Takashi Iwai <tiwai@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
| * | trivial: input/misc: Fix typo in KconfigAlessio Igor Bogani2009-06-121-1/+1
| | | | | | | | | | | | | | | Signed-off-by: Alessio Igor Bogani <abogani@texware.it> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* | | Input: use resource_size when allocating resourcesJulia Lawall2009-07-081-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>
* | | Input: dm355evm_keys - use threaded IRQsDavid Brownell2009-06-291-22/+20
| |/ |/| | | | | | | | | | | | | | | | | Convert the dm355evm keys driver to use IRQ threading instead of a private workqueue. IRQ threads were added to Linux after this driver was written, and in this case fit what the driver needs. (Although the non-shared thread costs more runtime memory.) Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: ati_remote2 - use non-atomic bitopsVille Syrjala2009-05-201-8/+8
| | | | | | | | | | | | | | No point in using atomic bitops when setting the input device keybits. Signed-off-by: Ville Syrjala <syrjala@sci.fi> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: uinput - flush all pending ff effects before destroying deviceAristeu Sergio Rozanski Filho2009-05-161-23/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | The destruction of a input device in uinput is triggered by an ioctl(). If a process tries to destroy an input device while other is uploading a force feedback effect by evdev to the same device, they'll deadlock. This patch fixes the problem by flushing all pending FF uploads before destroying the device and preventing new uploads during this operation. [dtor@mail.ru: fix logic that ensures we don't submit new requests to the device that is being destroyed.] Signed-off-by: Aristeu Rozanski <aris@redhat.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: add dm355evm_keys driverDavid Brownell2009-04-243-0/+339
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Simple input driver support for the events reported by the MSP430 firmware on the DM355 EVM. Verified using the RC5 remote included with the kit; docs weren't quite right. Some of the keycode selections might need improvement; they can be remapped, so there's at least a runtime workaround. (I also suspect Linux may someday merit more generic support for RC5 based remote controls.) These events don't distinguish key press vs release events, so this reports both and then skips the next event if it's identical. The RC5 remote codes include a "toggle" bit that can help detect autorepeated keys; but this driver doesn't bother with those nuances. This driver relies on the drivers/mfd/dm355evm_msp.c code for core features, including sharing I2C access to this firmware with GPIO, LED, and RTC support. [dtor@mail.ru: fix error unwindng path in probe()] Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: add twl4030-pwrbutton driverFelipe Balbi2009-04-203-0/+156
| | | | | | | | | | | | | | | | This is part of the twl4030 multifunction device driver that supports reporting KEY_POWER events via the input layer. Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: rotary_encoder - add support for REL_* axesH Hartley Sweeten2009-04-181-20/+41
|/ | | | | | | | | | | | | | The rotary encoder driver only supports returning input events for ABS_* axes, this adds support for REL_* axes. The relative axis input event is reported as -1 for each counter-clockwise step and +1 for each clockwise step. The ability to clamp the position of ABS_* axes between 0 and a maximum of "steps" has also been added. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: hp_sdc_rtc should depend on serioAlexander Beregalov2009-04-151-1/+1
| | | | | | | | | | | | Fix this build error when CONFIG_SERIO is not set hp_sdc_rtc.c:691: undefined reference to `hp_sdc_request_timer_irq' and so on.. "select should be used with care. select will force a symbol to a value without visiting the dependencies." Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: arrange drivers/input/misc/Makefile in alphabetical orderDmitry Torokhov2009-03-101-15/+14
| | | | | | | | Everyone adds their driver to the end of the list, hopefully if it is in alphabetical order new drivers will spread out a bit and I can merge them more easily. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: add driver for S1 button of rb532Phil Sutter2009-03-103-0/+133
| | | | | | | | | | | | | | | | | | | Mikrotik's Routerboard 532 has two builtin buttons, from which one triggers a hardware reset. The other one is accessible through GPIO pin 1. Sadly, this pin is being multiplexed with UART0 input, so enabling it as interrupt source (as implied by the gpio-keys driver) is not possible unless UART0 has been turned off. The later one though is a rather bad idea as the Routerboard is an embedded device with only a single serial port, so it's almost always used as serial console device. This patch adds a driver based on INPUT_POLLDEV, which disables the UART and reconfigures GPIO pin 1 temporarily while reading the button state. This procedure works fine and has been tested as part of another, unpublished driver for this device. Signed-off-by: Phil Sutter <n0-1@freewrt.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: generic driver for rotary encoders on GPIOsDaniel Mack2009-03-093-0/+234
| | | | | | | | | | | This patch adds a generic driver for rotary encoders connected to GPIO pins of a system. It relies on gpiolib and generic hardware irqs. The documentation that also comes with this patch explains the concept and how to use the driver. Signed-off-by: Daniel Mack <daniel@caiaq.de> Tested-by: H Hartley Sweeten <hsweeten@visionengravers.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Merge commit 'v2.6.29-rc7' into nextDmitry Torokhov2009-03-093-0/+140
|\
| * input: PCF50633 input driverBalaji Rao2009-01-113-0/+140
| | | | | | | | | | | | | | | | Signed-off-by: Balaji Rao <balajirrao@openmoko.org> Cc: Andy Green <andy@openmoko.com> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com> Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Samuel Ortiz <sameo@openedhand.com>
* | Input: ati_remote2 - check module paramsVille Syrjala2009-01-301-4/+60
| | | | | | | | | | | | | | | | | | Validate that the values of the module parameters are within the supported range. Also print the values in hex since that seems like a better match for bitmasks than decimal. Signed-off-by: Ville Syrjala <syrjala@sci.fi> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: ati_remote2 - add per device attrsVille Syrjala2009-01-301-15/+126
| | | | | | | | | | | | | | | | | | | | Add per device channel_mask and mode_mask attributes. They inherit the values from the module parameters when the device is registered. One additional benefit is that now runtime changes to channel_mask can actually affect the hardware channel setup like they should. Signed-off-by: Ville Syrjala <syrjala@sci.fi> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: ati_remote2 - complete suspend supportVille Syrjala2009-01-301-0/+78
|/ | | | | | | Add the missing reset_resume, pre_reset and post_reset hooks. Signed-off-by: Ville Syrjala <syrjala@sci.fi> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: apanel - convert to new i2c bindingJean Delvare2009-01-071-54/+27
| | | | | | | | | | | | | Convert the apanel driver to the new i2c device driver binding model, as the legacy model is going away soon. In the new model, the apanel driver is no longer scanning all the i2c adapters, instead the relevant bus driver (i2c-i801) is instantiating the device as needed. One side benefit is that the apanel driver will now load automatically on all systems where it is needed. Signed-off-by: Jean Delvare <khali@linux-fr.org> Cc: Stephen Hemminger <shemminger@linux-foundation.org>
* Merge commit 'v2.6.28-rc9' into nextDmitry Torokhov2008-12-202-14/+36
|\
| * Merge branch 'for-linus' of ↵Linus Torvalds2008-11-301-1/+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: wacom - add support for new USB Tablet PCs Input: replace spin_lock_bh with spin_lock_irqsave in ml_ff_playback Input: i8042 - add Compal Hel80 laptop to nomux blacklist Input: cm109 - add keymap for ATCom AU-100 phone Input: fix the example of an input device driver Input: psmouse - fix incorrect validate_byte check in OLPC protocol Input: atkbd - cancel delayed work before freeing its structure Input: atkbd - add keymap quirk for Inventec Symphony systems Input: i8042 - add Dell XPS M1530 to nomux list Input: elo - fix format string in elo driver
| | * Input: cm109 - add keymap for ATCom AU-100 phoneDaniel Gimpelevich2008-11-111-1/+36
| | | | | | | | | | | | | | | Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | saner FASYNC handling on file closeAl Viro2008-11-011-13/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As it is, all instances of ->release() for files that have ->fasync() need to remember to evict file from fasync lists; forgetting that creates a hole and we actually have a bunch that *does* forget. So let's keep our lives simple - let __fput() check FASYNC in file->f_flags and call ->fasync() there if it's been set. And lose that crap in ->release() instances - leaving it there is still valid, but we don't have to bother anymore. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | Input: pcspkr - fix PIT lockup on some chipsetsZoltan Devai2008-11-191-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There've been reports [1] about the sysem bell causing a hard lockup. My machine was affected as well: any speaker output hung the machine completely, nothing in the logs, no magic sysrq, etc., looked like a hardware problem. Had a closer look on the issue, and it turned out that the pcspkr module is responsible. The cause is the bad setup of Timer 2 in the i8253 controller, which probably hangs the whole PIT controller. Intel datasheets [2] state that the timer registers are in an undefined state after reset and they need to be programmed before enabling the timer. (And enabling without programming the frequency first doesn't make sense anyway). I don't know which chipsets are affected (if not all), it also depends on the BIOS whether it initializes the timer (e.g. to beep when you start the machine). The following patch solved the issue on my ICH6 notebook, couldn't test it with any others, but should be safe to apply. [1] https://bugs.launchpad.net/ubuntu/+source/linux/+bug/146151 https://bugs.launchpad.net/ubuntu/+bug/270790 http://ubuntuforums.org/showthread.php?t=227693 http://bugs.gentoo.org/show_bug.cgi?id=222583 https://bugzilla.redhat.com/show_bug.cgi?id=454225 [2] http://www.intel.com/assets/pdf/datasheet/252516.pdf http://www.intel.com/assets/pdf/datasheet/301473.pdf http://www.intel.com/design/chipsets/datashts/29065503.pdf Signed-off-by: Zoltan Devai <zdevai@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | Input: refactor evdev 32bit compat to be shareable with uinputPhilip Langdale2008-10-281-27/+145
|/ / | | | | | | | | | | | | | | | | | | Currently, evdev has working 32bit compatibility and uinput does not. uinput needs the input_event code that evdev uses, so let's refactor it so it can be shared. [dtor@mail.ru: add fix for force feedback compat issues] Signed-off-by: Philip Langdale <philipl@overt.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | INPUT: sgi_btns: Add license specificationDmitri Vorobiev2008-10-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | The SGI Volume Button interface driver uses GPL-only symbols platform_driver_unregister and platform_driver_register, but lacks license specification. Thus, when compiled as a module, this driver cannot be installed. This patch fixes this by adding the MODULE_LICENSE() specification. Signed-off-by: Dmitri Vorobiev <dmitri.vorobiev@movial.fi> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* | USB: remove info() macro from usb input driversGreg Kroah-Hartman2008-10-172-3/+6
| | | | | | | | | | | | | | | | USB should not be having it's own printk macros, so remove info() and use the system-wide standard of dev_info() wherever possible. Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | USB: remove warn() macro from usb input driversGreg Kroah-Hartman2008-10-171-7/+7
| | | | | | | | | | | | | | | | | | | | USB should not be having it's own printk macros, so remove warn() and use the system-wide standard of dev_warn() wherever possible. In the few places that will not work out, use a basic printk(). Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | Merge branch 'for-linus' of ↵Linus Torvalds2008-10-167-225/+1144
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: (32 commits) Input: wm97xx - update email address for Liam Girdwood Input: i8042 - add Thinkpad R31 to nomux list Input: move map_to_7segment.h to include/linux Input: ads7846 - fix cache line sharing issue Input: cm109 - add missing newlines to messages Input: document i8042.debug in kernel-parameters.txt Input: keyboard - fix potential out of bound access to key_map Input: psmouse - add OLPC touchpad driver Input: psmouse - tweak PSMOUSE_DEFINE_ATTR to support raw set callbacks Input: psmouse - add psmouse_queue_work() for ps/2 extension to make use of Input: psmouse - export psmouse_set_state for ps/2 extensions to use Input: ads7846 - introduce .gpio_pendown to get pendown state Input: ALPS - add signature for DualPoint found in Dell Latitude E6500 Input: serio_raw - allow attaching to translated (SERIO_I8042XL) ports Input: cm109 - don't use obsolete logging macros Input: atkbd - expand Latitude's force release quirk to other Dells Input: bf54x-keys - add power management support Input: atmel_tsadcc - improve accuracy Input: convert drivers to use strict_strtoul() Input: appletouch - handle geyser 3/4 status bits ...
| * Merge branch 'next' into for-linusDmitry Torokhov2008-10-167-225/+1144
| |\
| | * Input: move map_to_7segment.h to include/linuxAtsushi Nemoto2008-10-112-190/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The map_to_7segment.h provides generic 7segment LED mappings and is designed to be used by other drivers. Moving it to common area will make it more usable. Also exporting it to userspace will help users of sysfs interface. Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Acked-by: Henk Vergonet <henk.vergonet@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| | * Input: cm109 - add missing newlines to messagesDaniel Gimpelevich2008-10-091-12/+10
| | | | | | | | | | | | | | | | | | | | | | | | Recent conversion from err(), warn(), info() to dev_* variants caused loss of newlines at the end of messages, add them back. Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>