Commit Graph

938 Commits

Author SHA1 Message Date
Dmitry Torokhov
b981d8b3f5 Merge master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6
Conflicts:

	drivers/macintosh/adbhid.c
2007-10-12 21:27:47 -04:00
Adrian McMenamin
b11d2127c4 Input: add support for SEGA Dreamcast keyboard
Signed-off by: Adrian McMenamin <adrian@mcmen.demon.co.uk>
Acked-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-10-12 20:36:13 -04:00
Linus Torvalds
efefc6eb38 Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6: (75 commits)
  PM: merge device power-management source files
  sysfs: add copyrights
  kobject: update the copyrights
  kset: add some kerneldoc to help describe what these strange things are
  Driver core: rename ktype_edd and ktype_efivar
  Driver core: rename ktype_driver
  Driver core: rename ktype_device
  Driver core: rename ktype_class
  driver core: remove subsystem_init()
  sysfs: move sysfs file poll implementation to sysfs_open_dirent
  sysfs: implement sysfs_open_dirent
  sysfs: move sysfs_dirent->s_children into sysfs_dirent->s_dir
  sysfs: make sysfs_root a regular directory dirent
  sysfs: open code sysfs_attach_dentry()
  sysfs: make s_elem an anonymous union
  sysfs: make bin attr open get active reference of parent too
  sysfs: kill unnecessary NULL pointer check in sysfs_release()
  sysfs: kill unnecessary sysfs_get() in open paths
  sysfs: reposition sysfs_dirent->s_mode.
  sysfs: kill sysfs_update_file()
  ...
2007-10-12 15:49:37 -07:00
Kay Sievers
7eff2e7a8b Driver core: change add_uevent_var to use a struct
This changes the uevent buffer functions to use a struct instead of a
long list of parameters. It does no longer require the caller to do the
proper buffer termination and size accounting, which is currently wrong
in some places. It fixes a known bug where parts of the uevent
environment are overwritten because of wrong index calculations.

Many thanks to Mathieu Desnoyers for finding bugs and improving the
error handling.

Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Cc: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Cc: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-10-12 14:51:01 -07:00
Kay Sievers
43cc71eed1 platform: prefix MODALIAS with "platform:"
Prefix platform modalias strings with "platform:", which
modprobe config to blacklist alias resolving if userspace
configures it.

Send uevents for all platform devices.

Add MODULE_ALIAS's to: pxa2xx_pcmcia, ds1742 and pcspkr to trigger
module autoloading by userspace.

  $ modinfo pcspkr
  alias:          platform:pcspkr
  license:        GPL
  description:    PC Speaker beeper driver
  ...

  $ modprobe -n -v platform:pcspkr
  insmod /lib/modules/2.6.23-rc3-g28e8351a-dirty/kernel/drivers/input/misc/pcspkr.ko

Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Cc: David Brownell <david-b@pacbell.net>
Cc: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-10-12 14:50:59 -07:00
Thomas Gleixner
5d5a2989b7 x86: kill 8253pit.h
Useless header file with 32 bit and 64 bit variants. Move the
single useful line to the place where it is used.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
2007-10-12 23:04:23 +02:00
Russell King
22d8a73a8b [ARM] pxa: update pxa27x keypad driver to use clk support
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-10-12 21:14:59 +01:00
Adrian Bunk
247537b9a2 kconfig: syntax cleanup - drop support for "depends/requires/def_boolean"
Remove the following redundant and never or rarely used kconfig syntax:

- "def_boolean" (same as "def_bool")
- "requires" (same as "depends on")
- "depends" (same as "depends on")

This patch contains the code changes and Kconfig updates.
The shipped files are in next patch to let actual codechange stand out.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Cc: "Randy.Dunlap" <rdunlap@xenotime.net>
Cc: Bryan Wu <bryan.wu@analog.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Dmitry Torokhov <dtor@mail.ru>
Cc: "John W. Linville" <linville@tuxdriver.com>
Cc: Roman Zippel <zippel@linux-m68k.org>
Cc: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2007-10-12 21:20:32 +02:00
Dmitry Torokhov
9360353f4a Input: omap-keyboard - don't pretend we support changing keymap
The driver's keymap is a mix of hardware codes and keycodes and so
may not be used with default implementations of getkeycode() and
setkeycode().

Also some whitespace cleanup.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-10-12 14:20:00 -04:00
Dmitry Torokhov
62e729b648 Input: lifebook - fix X and Y axis range
Possible range when using 6-byte protocol is 4096 and 1024 for
3-byte protocol. We had it reversed.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-10-12 14:19:50 -04:00
Ilya Frolov
9d5657db8c Input: usbtouchscreen - add support for GeneralTouch devices
Signed-off-by: Ilya Frolov <zeylie@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-10-12 14:19:40 -04:00
Oliver Neukum
064450140f Input: fix open count handling in input interfaces
If input_open_device() fails we should not leave interfaces marked
as  opened.

Signed-off-by: Oliver Neukum <oneukum@suse.de>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-10-12 14:18:40 -04:00
Dmitry Torokhov
f493018ebc Input: ALPS - add signature for ThinkPad R61
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-10-11 00:49:19 -04:00
Dmitry Torokhov
72f9df4023 Input: jornada720_kbd - send MSC_SCAN events
Send MSC_SCAN events to userspace to ease task of adjusting
keymap.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-10-11 00:48:48 -04:00
Tony Jones
1beeffe433 hwmon: Convert from class_device to device
Convert from class_device to device for hwmon_device_register/unregister

Signed-off-by: Tony Jones <tonyj@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Mark M. Hoffman <mhoffman@lightlink.com>
2007-10-09 22:56:30 -04:00
Jeff Garzik
1855256c49 drivers/firmware: const-ify DMI API and internals
Three main sets of changes:

1) dmi_get_system_info() return value should have been marked const,
   since callers should not be changing that data.

2) const-ify DMI internals, since DMI firmware tables should,
   whenever possible, be marked const to ensure we never ever write to
   that data area.

3) const-ify DMI API, to enable marking tables const where possible
   in low-level drivers.

And if we're really lucky, this might enable some additional
optimizations on the part of the compiler.

The bulk of the changes are #2 and #3, which are interrelated.  #1 could
have been a separate patch, but it was so small compared to the others,
it was easier to roll it into this changeset.

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2007-10-09 20:22:20 -04:00
Dmitry Torokhov
b082dff349 Input: xpad - fix dependancy on LEDS class
Input: xpad - fix dependancy on LEDS class

The driver can not be built-in when LEDS class is a module.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-09-28 15:38:12 -07:00
Kristoffer Ericson
5637f02a9c Input: add support for the HP Jornada 7xx (710/720/728) touchscreen
Signed-off-by: Kristoffer Ericson <Kristoffer.Ericson@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-09-26 00:02:56 -04:00
Kristoffer Ericson
b0a4e1aa40 Input: add support for HP Jornada 7xx onboard keyboard
The driver supports onboard keyboards of HP Jornada 710/720/728

Signed-off-by: Kristoffer Ericson <kristoffer.ericson@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-09-26 00:02:49 -04:00
Kristoffer Ericson
2aa2cb9e7a Input: add support for HP Jornada onboard keyboard (HP6XX)
Signed-off-by: Kristoffer Ericson <kristoffer.ericson@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-09-26 00:02:35 -04:00
Rene Herman
1788180eec Input: ucb1400_ts - use schedule_timeout_uninterruptible
Given that the code is not checking for signals it should
use uninterruptible sleep.

Signed-off-by: Rene Herman <rene.herman@gmail.com>
Acked-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-09-26 00:02:19 -04:00
Dmitry Torokhov
2f9d2827af Input: xpad - fix dependancy on LEDS class
The driver can not be built-in when LEDS class is a module.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-09-26 00:02:06 -04:00
Stephen Hemminger
14134b31ae Input: polled device power saving
For slow running polling, it saves power to align wakeups on tick boundary.

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-09-26 00:01:25 -04:00
Anti Sullin
e15b02138b Input: gpio-keys - add suspend/resume support
This patch adds suspend/resume support and enables wakeup from
gpio_keys buttons.

Signed-off-by: Anti Sullin <anti.sullin@artecdesign.ee>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-09-26 00:01:17 -04:00
Anti Sullin
006df30244 Input: gpio_keys - verify that supplied GPIO numbers are valid
As David Brownell pointed out, gpio_keys driver does not check
return code of gpio_to_irq().

This patch adds the gpio_to_irq return code check to gpio_keys
and moves the IRQ edge type setting to request_irq flags to avoid
changing the irq type before we have confirmed we can use it.

Signed-off-by: Anti Sullin <anti.sullin@artecdesign.ee>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-09-26 00:01:03 -04:00
Linus Torvalds
973ed7c49a Merge branch 'for-linus' of 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: appletouch - fix idle reset logic
2007-09-25 11:18:10 -07:00
Thomas Rohwer
cb56073767 Input: appletouch - fix idle reset logic
Idle count should only be incremented when touchpad button
is not pressed, otherwise reset may happen at a wrong time
and touchpad will never report button release event.

Signed-off-by: Thomas Rohwer <trohwer@tng.de>
Acked-by: Matthew Garrett <mjg59@srcf.ucam.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-09-25 00:06:25 -04:00
Linus Torvalds
532df780a2 Merge branch 'for-linus' of 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: usbtouchscreen - correctly set 'phys'
  Input: i8042 - add HP Pavilion DV4270ca to the MUX blacklist
  Input: i8042 - fix modpost warning
  Input: add more Braille keycodes
2007-09-12 07:57:00 -07:00
Daniel Ritz
2a8281d72d Input: usbtouchscreen - support DMC devices with empty EEPROM
A reply of 0x0600 means all OK, 0x1501 means OK, but EEPROM empty.
The behavior with an empty EEPROM is the same as without one at all
so do not fail loading the driver.

Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-09-10 01:31:40 -04:00
Vladimir Shebordaev
7b6dff982b Input: usbtouchscreen - correctly set 'phys'
This patch fixes a nasty typo in usbtouchscreen driver. The typo
is inherited from the original mtouchusb. It used to make the input
subsytem to incorrectly report the physical device ids to userspace
that in turn is very confusing for, e.g. XInput hotplug facilities
in setups with multiple identical touchscreens.

Signed-off-by: Vladimir Shebordaev <vshebordaev@mail.ru>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-09-06 21:32:16 -04:00
Dmitry Torokhov
f76f672e09 Input: lifebook - add signature of Panasonic CF-72
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-09-05 00:22:17 -04:00
William Pettersson
dac4ae0daa Input: ALPS - add support for model found in Dell Vostro 1400
Signed-off-by: William Pettersson <william.pettersson@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-09-05 00:18:44 -04:00
Ondrej Zary
a14a840141 Input: usbtouchscreen - add support for IdealTEK URTC1000
This patch adds support for IdealTEK URTC1000 touchscreen controllers.

Documentation can be downloaded at:

	http://projects.tbmn.org/cgi-bin/trac.cgi/wiki/urtc-1000

Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-09-04 23:45:01 -04:00
Elvis Pranskevichus
749aea73aa Input: i8042 - add HP Pavilion DV4270ca to the MUX blacklist
This fixes "atkbd.c: Suprious NAK on isa0060/serio0" errors for
HP Pavilion DV4270ca.

Signed-off-by: Elvis Pranskevichus <el@prans.net>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-09-04 23:18:21 -04:00
Ralf Baechle
7a1904c32c Input: i8042 - fix modpost warning
i8042_unregister_ports's only caller i8042_remove is a __devexit function
so make it __devexit too.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-09-04 23:16:31 -04:00
Linus Torvalds
644b55ce88 Merge branch 'for-linus' of 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: psmouse - make dummy touchkit_ps2_detect() static
  Input: gscps2 - convert to use kzalloc
  Input: iforce - fix 'unused variable' warning
  Input: i8042 - fix retrun value of i8042_aux_test_irq
  Input: gpio_keys - remove duplicate includes
2007-08-30 21:55:22 -07:00
Adrian Bunk
b3e2c70cd0 Input: psmouse - make dummy touchkit_ps2_detect() static
The dummy touchkit_ps2_detect() for the CONFIG_MOUSE_PS2_TOUCHKIT=n case
shouldn't be a global function.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-08-30 00:44:33 -04:00
Alon Ziv
554fc19353 Input: psmouse - reset harder during probe
Some rodents appear to be extra-finicky, and require both PSMOUSE_RESET_DIS
and PSMOUSE_RESET_BAT before they are unconfused enough to be probed.

Signed-off-by: Alon Ziv <lkml@nolaviz.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-08-30 00:22:48 -04:00
Dmitry Torokhov
b9d2d110b1 Input: tsdev - implement proper locking
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-08-30 00:22:39 -04:00
Dmitry Torokhov
b126207ccd Input: joydev - implement proper locking
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-08-30 00:22:32 -04:00
Dmitry Torokhov
464b241575 Input: mousedev - implement proper locking
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-08-30 00:22:24 -04:00
Dmitry Torokhov
6addb1d6de Input: evdev - implement proper locking
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-08-30 00:22:18 -04:00
Dmitry Torokhov
8006479c9b Input: implement proper locking in input core
Also add some kerneldoc documentation to input.h

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-08-30 00:22:11 -04:00
Mariusz Kozlowski
7460caf32a Input: gscps2 - convert to use kzalloc
Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-08-30 00:18:00 -04:00
Andrew Morton
d9f03831e7 Input: iforce - fix 'unused variable' warning
drivers/input/joystick/iforce/iforce-packets.c: In function `iforce_get_id_packet':
drivers/input/joystick/iforce/iforce-packets.c:249: warning: unused variable `status'

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-08-30 00:04:33 -04:00
Fernando Luis Vázquez Cao
e3758b2ab6 Input: i8042 - fix retrun value of i8042_aux_test_irq
We should not return IRQ_HANDLED if we didn't handle the interrupt.

Signed-off-by: Fernando Luis Vazquez Cao <fernando@oss.ntt.co.jp>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-08-30 00:04:15 -04:00
Geert Uytterhoeven
928923c76b Introduce CONFIG_CHECK_SIGNATURE
Introduce CONFIG_CHECK_SIGNATURE to control inclusion of check_signature()
and avoid problems on platforms that don't have readb().

Let the few legacy (ISA || PCI || X86) drivers that need check_signature()
select CONFIG_CHECK_SIGNATURE.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Jeff Dike <jdike@addtoit.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Roman Zippel <zippel@linux-m68k.org>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-08-22 19:52:45 -07:00
Ralf Baechle
293c5bd13f [MIPS] Fixup secure computing stuff.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2007-07-31 21:35:21 +01:00
Linus Torvalds
7b5573769f Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/cooloney/blackfin-2.6
* 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/cooloney/blackfin-2.6:
  Input Serio: Blackfin doesnt support I8042 - make sure it doesnt get selected
  Blackfin arch: add BF54x I2C/TWI TWI0 driver support
  Blackfin On-Chip RTC driver update for supporting BF54x
  Blackfin Ethernet MAC driver: fix bug Report returned -ENOMEM upwards (in case L1/uncached memory alloc fails)
  Blackfin arch: add error message when IRQ no available
  Blackfin arch: Initialize the exception vectors early in the boot process
  Blackfin arch: fix a compiling warning about dma-mapping
  Blackfin arch: switch to using proper defines this time THREAD_SIZE and PAGE_SIZE instead of just PAGE_SIZE everywhere
  Blackfin arch: fix bug which unaligns the init thread's stack and causes the current macro to fail.
  Blackfin arch: Load P0 before storing through it
  Blackfin arch: fix KGDB bug, dont forget last parameter.
  Blackfin arch: add selections for BF544 and BF542
  Blackfin arch: use bfin_read_SWRST() now that BF561 provides it
  Blackfin arch: setup aliases for some core Core A MMRs
2007-07-28 19:33:04 -07:00
Michael Hennerich
27b92bdbd5 Input Serio: Blackfin doesnt support I8042 - make sure it doesnt get selected
Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
2007-07-24 15:56:17 +08:00
Jesper Juhl
29e8277def Input: gpio_keys - remove duplicate includes
Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-23 20:39:13 -04:00
Thomas Renninger
1ba90e3a87 ACPI: autoload modules - Create __mod_acpi_device_table symbol for all ACPI drivers
modpost is going to use these to create e.g. acpi:ACPI0001
in modules.alias.

Signed-off-by: Thomas Renninger <trenn@suse.de>
Signed-off-by: Len Brown <len.brown@intel.com>
2007-07-23 13:56:42 -04:00
Thomas Gleixner
28318daf79 x86_64: use the global PIT lock
Replace the pcspkr private PIT lock by the global PIT lock to serialize the
PIT access all over the place.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-21 18:37:12 -07:00
Linus Torvalds
d638d4990b Merge branch 'for-linus' of 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: appletouch - improve powersaving for Geyser3 devices
  Input: lifebook - fix an oops on Panasonic CF-18
  Input: document intended meaning of KEY_SWITCHVIDEOMODE
  Input: switch to using seq_list_xxx helpers
  Input: i8042 - give more trust to PNP data on i386
  Input: add driver for Fujitsu serial touchscreens
  Input: ads7846 - re-check pendown status before reporting events
  Input: ads7846 - introduce sample settling delay
  Input: xpad - add support for leds on xbox 360 pad
2007-07-20 09:16:07 -07:00
Soeren Sonnenburg
5a6eb676d3 Input: appletouch - improve powersaving for Geyser3 devices
The appletouch geyser3 devices found in the Intel Macs (and possibly
some later PPC ones?) send a constant stream of packets after the first
touch. This results in the kernel waking up around once every couple of
milliseconds to process them, making it almost impossible to spend any
significant amount of time in C3 state on a dynamic HZ kernel. Sending
the mode initialization code makes the device shut up until it's touched
again. This patch does so after receiving 10 packets with no interesting
content.

Signed-off-by: Soeren Sonnenburg <kernel@nn7.de>
Signed-off-by: Matthew Garrett <mjg59@srcf.ucam.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-20 00:29:32 -04:00
Dmitry Torokhov
e6b20d8d62 Input: lifebook - fix an oops on Panasonic CF-18
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-20 00:29:14 -04:00
Yoann Padioleau
dd00cc486a some kmalloc/memset ->kzalloc (tree wide)
Transform some calls to kmalloc/memset to a single kzalloc (or kcalloc).

Here is a short excerpt of the semantic patch performing
this transformation:

@@
type T2;
expression x;
identifier f,fld;
expression E;
expression E1,E2;
expression e1,e2,e3,y;
statement S;
@@

 x =
- kmalloc
+ kzalloc
  (E1,E2)
  ...  when != \(x->fld=E;\|y=f(...,x,...);\|f(...,x,...);\|x=E;\|while(...) S\|for(e1;e2;e3) S\)
- memset((T2)x,0,E1);

@@
expression E1,E2,E3;
@@

- kzalloc(E1 * E2,E3)
+ kcalloc(E1,E2,E3)

[akpm@linux-foundation.org: get kcalloc args the right way around]
Signed-off-by: Yoann Padioleau <padator@wanadoo.fr>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Acked-by: Russell King <rmk@arm.linux.org.uk>
Cc: Bryan Wu <bryan.wu@analog.com>
Acked-by: Jiri Slaby <jirislaby@gmail.com>
Cc: Dave Airlie <airlied@linux.ie>
Acked-by: Roland Dreier <rolandd@cisco.com>
Cc: Jiri Kosina <jkosina@suse.cz>
Acked-by: Dmitry Torokhov <dtor@mail.ru>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Acked-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Acked-by: Pierre Ossman <drzeus-list@drzeus.cx>
Cc: Jeff Garzik <jeff@garzik.org>
Cc: "David S. Miller" <davem@davemloft.net>
Acked-by: Greg KH <greg@kroah.com>
Cc: James Bottomley <James.Bottomley@steeleye.com>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-19 10:04:50 -07:00
Markus Armbruster
018db6bb0d Input: i8042 - restore control register when enabling port fails
When enabling interrupts for a port fails, the interrupt enable and
port enable bits remain set in i8042_ctr. Later writes of i8042_ctr
to the hardware could accidentally retry enabling interrupts. Clear
the bits on failure.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-18 01:20:41 -04:00
Dmitry Torokhov
20b3cdd677 Input: xpad - use le16_to_cpup when parsing data stream
Use avaliable functions instead of doing it all manually.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-18 01:20:34 -04:00
Pavel Emelianov
ad5d972cda Input: switch to using seq_list_xxx helpers
This is essentially just a renaming of the existing functions
as copies of seq_list_start() and seq_list_next() already existed
in the input.c.

Signed-off-by: Pavel Emelianov <xemul@openvz.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-18 00:38:32 -04:00
Dmitry Torokhov
080c652d6d Input: i8042 - give more trust to PNP data on i386
On some boxes that don't have PS/2 mice connected at startup BIOS
completely disables AUX port and attempts to access it result in
hosed keyboard. Historically we do not trust ACPI/PNP data on
i386 and try to poke AUX port even if we did not find an active
PNP node for it. However in cases when BIOS writers got KBD port
properly described we can assume that they did the right thing
for AUX port as well.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-18 00:38:01 -04:00
Dmitry Torokhov
85f202d5df Input: add driver for Fujitsu serial touchscreens
These serial touchscreens are found on some Fujitsu lifebook
P-series laptops, and the B6210. Using this requires a new
version of inputattach and doing:

 inputattach -fjt /dev/ttyS0

Big thanks to Stephen Hemminger for testing it and making it
work on his B6210 laptop.

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-18 00:37:01 -04:00
Semih Hazar
1d25891f32 Input: ads7846 - re-check pendown status before reporting events
Pendown status from the PENIRQ pin is currently read only at the beginning
of a sample set. If the pen is lifted just after sampling has began then
sampled values become wrong.

This patch adds an optional platform penirq_recheck_delay attribute.  If
non-zero, samples are only reported to the input subsystem if PENIRQ is
still active that long after the samples taken.

Signed-off-by: Semih Hazar <semih.hazar@indefia.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-18 00:36:04 -04:00
Semih Hazar
e4f4886199 Input: ads7846 - introduce sample settling delay
The ads7846 driver has support for filtering, but when the chip gets
deselected between samples this causes noise. This patch adds support
for an optional settling delay time, so that two consecutive samples
will be taken with the specified delay time apart.  This ensures that
the chip won't be deselected, so the noise won't appear.

Filtering can still be done, but will have less work to do since each
time a new sample is taken the same delay applies.

Signed-off-by: Semih Hazar <semih.hazar@indefia.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-18 00:35:56 -04:00
Jan Kratochvil
4994cd8dad Input: xpad - add support for leds on xbox 360 pad
Export LEDs on Xbox360 pad via led subsystem as a single device in
/sys/class/leds/xpad[0-9]+.

Xbox360 pad has four leds, which form a circle. Unfortunately the leds
can't be controlled independently and can only display a predefined
set of patterns (for example one is turned on wile others are off or
a rotating pattern - 1-2-3-4). To activate a pattern one needs to send
a specific command to the device (see http://www.free60.org/wiki/Gamepad).

Led subsystem allows us to set brightness, but there is nothing like
brightness on this device. So brightness is actually interpreted as
the command (only values between 0 and 14 are accepted).

Signed-off-by: Jan Kratochvil <honza@jikos.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-18 00:35:40 -04:00
Rafael J. Wysocki
8314418629 Freezer: make kernel threads nonfreezable by default
Currently, the freezer treats all tasks as freezable, except for the kernel
threads that explicitly set the PF_NOFREEZE flag for themselves.  This
approach is problematic, since it requires every kernel thread to either
set PF_NOFREEZE explicitly, or call try_to_freeze(), even if it doesn't
care for the freezing of tasks at all.

It seems better to only require the kernel threads that want to or need to
be frozen to use some freezer-related code and to remove any
freezer-related code from the other (nonfreezable) kernel threads, which is
done in this patch.

The patch causes all kernel threads to be nonfreezable by default (ie.  to
have PF_NOFREEZE set by default) and introduces the set_freezable()
function that should be called by the freezable kernel threads in order to
unset PF_NOFREEZE.  It also makes all of the currently freezable kernel
threads call set_freezable(), so it shouldn't cause any (intentional)
change of behaviour to appear.  Additionally, it updates documentation to
describe the freezing of tasks more accurately.

[akpm@linux-foundation.org: build fixes]
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Nigel Cunningham <nigel@nigel.suspend2.net>
Cc: Pavel Machek <pavel@ucw.cz>
Cc: Oleg Nesterov <oleg@tv-sign.ru>
Cc: Gautham R Shenoy <ego@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-17 10:23:02 -07:00
Tejun Heo
7b595756ec sysfs: kill unnecessary attribute->owner
sysfs is now completely out of driver/module lifetime game.  After
deletion, a sysfs node doesn't access anything outside sysfs proper,
so there's no reason to hold onto the attribute owners.  Note that
often the wrong modules were accounted for as owners leading to
accessing removed modules.

This patch kills now unnecessary attribute->owner.  Note that with
this change, userland holding a sysfs node does not prevent the
backing module from being unloaded.

For more info regarding lifetime rule cleanup, please read the
following message.

  http://article.gmane.org/gmane.linux.kernel/510293

(tweaked by Greg to not delete the field just yet, to make it easier to
merge things properly.)

Signed-off-by: Tejun Heo <htejun@gmail.com>
Cc: Cornelia Huck <cornelia.huck@de.ibm.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-11 16:09:06 -07:00
Andrew Morton
65f88f89c9 Input: tsdev - fix broken usec-to-millisecs conversion
Noted by Fengwei Yin <yfw.kernel@gmail.com>

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10 00:43:06 -04:00
Mike Rapoport
744c9c33ea Input: pxa27x_keyboard - fix compile error
Signed-off-by: Mike Rapoport <mike@compulab.co.il>
Acked-by: Rodolfo Giometti <giometti@linux.it>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10 00:38:39 -04:00
Andrew Morton
4f179f7160 Input: serio_raw - shut up errorneous warning
drivers/input/serio/serio_raw.c: In function 'serio_raw_read':
drivers/input/serio/serio_raw.c:163: warning: 'c' may be used uninitialized in this function

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10 00:38:31 -04:00
Hans de Goede
72a42f242c Input: atkbd - change mapping for e032 from KEY_WWW to KEY_HOMEPAGE
WWW/Homepage key on Microsoft-compatible keyboards generates KEY_WWW
when connected via PS/2 port but KEY_HOMEPAGE when connected via USB.
This patch changes mapping in atkbd to match one in HID driver.

Signed-off-by: Hans de Goede <j.w.r.degoede@hhs.nl>
Acked-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10 00:35:18 -04:00
Ondrej Zary
df561fcd44 Input: usbtouchscreen - add support for IRTOUCHSYSTEMS touchscreens
This patch adds support for IRTOUCHSYSTEMS (or UNITOP) infrared touchscreens.

The touchscreen sends data in 8-byte packets.
BYTE 0 - unknown meaning, seen only one value: 0x54
BYTE 1 - unknown meaning, 3 lowest bits indicate touch state
        values seen: 0x81, 0x82 or 0x83
        bit 0 = set if the screen is touched and was not touched before (touch
        bit 1 = set if the screen is touched and was touched (dragging)
        bit 2 = set if the touch was ended (release)
BYTES 2 and 3 - X position, high-order-byte first, range = 0 to 0x0FFF
BYTES 4 and 5 - Y position, high-order-byte first, range = 0 to 0x0FFF
BYTE 6 - unknown meaning, seen only one value: 0xFF
BYTE 7 - unknown meaning, seen only one value: 0x00

Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10 00:35:18 -04:00
Dmitry Torokhov
ae91d10aab Input: xpad - fix report for dpad and inverted Y and RY axes on xbox 360
Make the driver report Y/RY up as positive value and down as negative. Also
make DPAD mapping the same as classic xpad.

Reported-by: Brian Magnuson <bdmagnuson@gmail.com>
Tested-by: Jan Kratochvil <honza@jikos.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10 00:35:18 -04:00
Adrian Bunk
6426b333a7 Input: xpad - make xpad_play_effect() static
xpad_play_effect() does not need to be global.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10 00:35:18 -04:00
Jan Kratochvil
2e8335a629 Input: xpad - fix check for succesful usb_buffer_alloc
Signed-off-by: Jan Kratochvil <honza@jikos.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10 00:35:18 -04:00
Andi Drebes
5ec1f7f3e4 Input: grip-mp - use ARRAY_SIZE
Signed-off-by: Andi Drebes <lists-receive@programmierforen.de>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10 00:35:18 -04:00
Ping Cheng
7ecfbfd3d0 Input: wacom - add support for the new Bamboo tablets
Signed-off-by: Ping Cheng <pingc@wacom.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10 00:35:17 -04:00
Hans-Christian Egtvedt
5f5655023f Input: add gpio-mouse driver
Adds support for simulating a mouse using GPIO lines. The driver
needs an appropriate platform device to be created by architecture
code.

The driver has been tested on AT32AP7000 microprocessor using the
ATSTK1000 development board.

Signed-off-by: Hans-Christian Egtvedt <hcegtvedt@atmel.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10 00:35:17 -04:00
Dmitry Torokhov
9657d75c5f Input: convert from class devices to standard devices
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10 00:35:17 -04:00
Dmitry Torokhov
d63219a101 Input: wistron - add support for querying/changing keymap
Implement getkeycode and setkeycode methods for the device so
EVIOCGKEYCODE and EVIOCSKEYCODE ioctls will work.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10 00:35:17 -04:00
Dmitry Torokhov
c2554c9142 Input: wistron - convert to use input-polldev
Switch to using input-polldev skeleton instead of implementing
polling loop by itself.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10 00:35:17 -04:00
Eric Piel
389679d8fa Input: wistron - add LED support
Add support to wistron_btns for leds that come with the multimedia keys.
Mail and wifi leds are supported, on laptops which have them.

Depending on the laptop, wifi subsystem may control just the led, or both
the led and the wifi card. Wifi led interface is activated only for the
former type of laptops, as the latter type is already managed. Leds are
controled by the interface in /sys/class/leds.

Signed-off-by: Eric Piel <eric.piel@tremplin-utc.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10 00:35:17 -04:00
Eric Piel
a4da16d383 Input: wriston - reduce polling frequency
Reduces the polling frequency from 10 Hz to 2 Hz, which should be less a burden
for laptops wrt energy saving. As it is multimedia keys, 500ms (maximum) of
latency should be still fine for the user. In order to keep fluent the feeling
when the user is pressing several keys in a raw (such as changing the volume),
the frequency is increased for a short duration after a key is pressed.

Signed-off-by: Eric Piel <eric.piel@tremplin-utc.net>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10 00:35:17 -04:00
Rene van Paassen
5035522d1a Input: aiptek - update driver version
Update credits and version number to 2.3

Signed-off-by: Rene van Paassen <rene.vanpaassen@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10 00:35:17 -04:00
Rene van Paassen
1e7b3faed1 Input: aiptek - rework the function key code
Function keys (also called macro keys) code corrected. Using a
lastMacro variable to keep track of key currently pressed. This
ensures proper resetting when dragging the pen in the drawing
area or to another key. Also suppress sending pressure reports
when over the macro key area.

Signed-off-by: Rene van Paassen <rene.vanpaassen@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10 00:35:17 -04:00
Rene van Paassen
0112db36ef Input: aiptek - tolerate newlines in sysfs files
Now echo "some value" > /sys/......./somefile is also acceptable.

Signed-off-by: Rene van Paassen <rene.vanpaassen@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10 00:35:17 -04:00
Rene van Paassen
b3b6cf1d47 Input: aiptek - correct the tool switching code
Now the old tool is remembered, and reset when a new tool is
selected via the sysfs files.

Signed-off-by: Rene van Paassen <rene.vanpaassen@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10 00:35:16 -04:00
Rene van Paassen
da9fda434c Input: aiptek - use only absolute misc reports
To get an on - off reporting for proximity, absolute misc reports are
used. The mixture of absolute and relative reports is awkward

Signed-off-by: Rene van Paassen <rene.vanpaassen@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10 00:35:16 -04:00
Rene van Paassen
6125a40035 Input: aiptek - put sensible warnings in probe
Added warnings to the points where the tablet probe may fail

Signed-off-by: Rene van Paassen <rene.vanpaassen@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10 00:35:16 -04:00
Rene van Paassen
1a54f49e89 Input: aiptek - use set_bit instead of bitwise or
Have to use set_bit since some bit values are over 32, and bitwise or
won't work on these. To be safe for the future too, use set_bit for all
input dev capabilities

Signed-off-by: Rene van Paassen <rene.vanpaassen@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10 00:35:16 -04:00
Mark Vytlacil
0038cae0ff Input: aiptek - fix relative mode parsing
Corrections to relative mode, was looking at wrong byte

Signed-off-by: Mark Vytlacil <mrv@wi.rr.com>
Signed-off-by: Rene van Paassen <rene.vanpaassen@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10 00:35:16 -04:00
Rene van Paassen
ce0982edae Input: aiptek - fixed mouse button defines
Mouse button defines tested the wrong bits, now fixed

Signed-off-by: Rene van Paassen <rene.vanpaassen@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10 00:35:16 -04:00
Rene van Paassen
fe981f2340 Input: aiptek - correct the proximity and validity checks
Calculation of proximity bit and of data valid bits were reversed for
stylus reports.

Signed-off-by: Rene van Paassen <rene.vanpaassen@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10 00:35:16 -04:00
Rene van Paassen
2fe574167b Input: aiptek - correct documentation on reports
Small fix that corrects the documentation on the report byte
format produced by the mouse

Signed-off-by: Rene van Paassen <rene.vanpaassen@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10 00:35:16 -04:00
Dmitry Torokhov
33936fa603 Input: aiptek - use array to list all buttons
When setting up input device use an array to list all the buttons
instead of setting every bit separately.

Signed-off-by: Rene van Paassen <rene.vanpaassen@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10 00:35:16 -04:00
Dmitry Torokhov
37767b66ed Input: aiptek - kill aiptek_convert_from_2s_complement()
There is no reason to do that, just tell the compiler that
we are dealing with signed values in buffer, that's it.

Signed-off-by: Rene van Paassen <rene.vanpaassen@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10 00:35:16 -04:00
Dmitry Torokhov
cd438a58c8 Input: aiptek - use maps in attributes
Use maps to convert for strings to internal constants and vice versa
in aiptek's sysfs attribute methods instead of open-coding it. This
results in smaller code that is also easier to maintain.

[Rene: fix a typo - stylys instead of stylus]

Signed-off-by: Rene van Paassen <rene.vanpaassen@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10 00:35:15 -04:00
Dmitry Torokhov
02fb6c385c Input: aiptek - do not check for NULL in attribute methods
It makes no sense to check for NULL in attribute methods -
we do usb_set_intfdata before creating attributes and once
attributes have been removed we are guaranteed to not be
called.

Signed-off-by: Rene van Paassen <rene.vanpaassen@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10 00:35:15 -04:00
Dmitry Torokhov
b087e1f3ee Input: aiptek - use attribute group
Use attribute group to simplify error handling and reduce code.

[Rene: add missing NULL to properly terminate aiptek_attributes]

Signed-off-by: Rene van Paassen <rene.vanpaassen@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10 00:35:15 -04:00
Dmitry Torokhov
5c659c62f9 Input: aiptek - remove vendor and product attributes from sysfs
They are already exported by input core; there is no need to do it twice.

Signed-off-by: Rene van Paassen <rene.vanpaassen@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10 00:35:15 -04:00
Dmitry Torokhov
9b40ed088b Input: aiptek - do not try to export associated event device
Do not try to export via sysfs associated event device - it does not
work when evdev is a module that is loaded after aiptek; also it pokes
too deply into input core internals.

Userspace should rely on udev to set up permanent device name for
the tablet.

Signed-off-by: Rene van Paassen <rene.vanpaassen@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10 00:35:15 -04:00
Aristeu Rozanski
aea6a46122 Input: psmouse - add support for Cortron PS/2 Trackballs
Cortron PS/2 Trackballs (700-0001A) report the 4th button using the 4th
bit of the first packet (yes, it breaks the standard PS/2 protocol).
This patch adds an extra protocol to generate BTN_SIDE based on the 4th
bit. There's no way to detect those trackballs using any kind of special
sequence, thus the protocol must be activated explicitely by writing
into 'protocol' sysfs attribute:

	echo -n "cortps" > /sys/devices/platform/i8042/serio1/protocol

Signed-off-by: Aristeu Rozanski <arozansk@redhat.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10 00:35:15 -04:00
Jan Kratochvil
e01a06e8df Input: xpad - add Xbox360 gamepad rumble support
Implementation is using force feedback support for memoryless devices.

Signed-off-by: Jan Kratochvil <honza@jikos.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10 00:35:15 -04:00
Jan Kratochvil
c7d9f7eb30 Input: xpad - add support for Xbox 360 gamepad
Xbox 360 gamepad is slightly different then the previous model so it has
its own version of process_packet method. Detection of this new device
relies on USB_DEVICE_INTERFACE_PROTOCOL macro. This device got vendor
specific subclass so it can't be matched with USB_INTERFACE_INFO and
we need only one interface protocol from four availaible. It means
USB_DEVICE can't be used either.

Added xpad360_btn structure with additional buttons for x360 gamepad.
Added xtype into xpad_device structure to distinguish between different
types of xbox devices.

Signed-off-by: Jan Kratochvil <honza@jikos.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-07-10 00:35:15 -04:00
Linus Torvalds
cab8e5c444 Merge branch 'for-linus' of 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: document some of keycodes
  Input: add a new EV_SW SW_RADIO event, for radio switches on laptops
  Input: serio - take drv_mutex in serio_cleanup()
  Input: atkbd - use printk_ratelimit for spurious ACK messages
  Input: atkbd - throttle LED switching
  Input: i8042 - add HP Pavilion ZT1000 to the MUX blacklist
2007-07-05 15:55:37 -07:00
Dmitry Torokhov
33143ea1a3 Input: serio - take drv_mutex in serio_cleanup()
We need to take serio->drv_mutex in serio_cleanup() to prevent the
function from being called while driver is in the middle of attaching
to a serio port. Such situation can happen with i8042 and atkbd drivers
if user rapidly presses Ctrl-Alt-Del during system startup, and leads
to kernel oops.

Reported-by: Dave Young <hidave.darkstar@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-06-29 01:06:35 -04:00
Qi Yong
9f7a60d6e4 Input: atkbd - use printk_ratelimit for spurious ACK messages
Signed-off-by: Qi Yong <qiyong@mail.fc-cn.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-06-28 00:47:10 -04:00
Dmitry Torokhov
da4249c99f Input: atkbd - throttle LED switching
On some boxes keyboard controllers are too slow to withstand
continuous flow of requests to turn keyboard LEDs on and off
and start losing some keypresses or even all of them.

Delay executing of LED switching request if we had another one
within 50 ms thus easing load on the controller.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-06-28 00:46:56 -04:00
Dmitry Torokhov
9d9d50bb2e Input: i8042 - add HP Pavilion ZT1000 to the MUX blacklist
This should get rid of "atkbd.c: Suprious NAK on isa0060/serio0"
messages caused by broken MUX implementation. The box does not
have external PS/2 ports and, according to documentation,
automatically disables touchpad when an external mouse is plugged
into a port replicator, so MUX mode would not work anyway.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-06-28 00:44:27 -04:00
Andi Kleen
0e52d3281f x86_64: Quieten Atari keyboard warnings in Kconfig
Not directly related to x86, but I got tired of seeing these warnings on every
kconfig update when building on a non m68k box:

drivers/input/keyboard/Kconfig:170:warning: 'select' used by config symbol 'KEYBOARD_ATARI' refers to undefined symbol 'ATARI_KBD_CORE'
drivers/input/mouse/Kconfig:182:warning: 'select' used by config symbol 'MOUSE_ATARI' refers to undefined symbol 'ATARI_KBD_CORE'

I moved the definition of ATARI_KBD_CORE into drivers/input/keyboard/Kconfig
so it's always seen by Kconfig.

Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-06-20 14:27:26 -07:00
Linus Torvalds
eedab661a5 Merge branch 'for-linus' of 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: move input-polldev to drivers/input
  Input: i8042 - add ULI EV4873 to noloop list
  Input: i8042 - add ASUS P65UP5 to the noloop list
  Input: usbtouchscreen - fix fallout caused by move from drivers/usb
2007-06-13 14:09:39 -07:00
Dmitry Torokhov
893e7c2db0 Input: move input-polldev to drivers/input
To work around deficiences in Kconfig that allows to "select"
a symbol without automatically selecting all dependencies for
that symbol move input-polldev from drivers/input/misc to
drivers/input thus removing extra dependency on CONFIG_INPUT_MISC.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-06-13 01:49:58 -04:00
Dmitry Torokhov
8c4df74e02 Input: i8042 - add ULI EV4873 to noloop list
The box does not implement AUX LOOP command properly and so we
can't test for AUX IRQ delivery so blacklist it via DMI and
assume that AUX port is present.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-06-12 00:33:32 -04:00
Dmitry Torokhov
90245c17d3 Input: i8042 - add ASUS P65UP5 to the noloop list
This board does not raise AUX IRQ in response to AUX LOOP command
which interferes with our test for proper AUX IRQ wiring. Put it
in the blacklist and assume mouse is present.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-06-12 00:33:27 -04:00
Ondrej Zary
c6f8d7066d Input: usbtouchscreen - fix fallout caused by move from drivers/usb
During the move from drivers/usb/input into drivers/input/touchscreen
Kconfig variables were shuffled a bit to use a new namespace
(CONFIG_TOUCHSCREEN) while usbtouchscreen was still using old ones.

Also noticed by Robert P. J. Day <rpjday@mindspring.com>

Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-06-12 00:33:13 -04:00
Linus Torvalds
c52ecdab06 Merge master.kernel.org:/home/rmk/linux-2.6-arm
* master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] pxa: fix pxa27x keyboard driver
  [ARM] Fix 4417/1: Serial: Fix AMBA drivers locking
  [ARM] 4421/1: AT91: Value of _KEY fields.
  [ARM] Solve buggy smp_processor_id() usage
  [ARM] 4422/1: Fix default value handling in gpio_direction_output (PXA)
  [ARM] 4419/1: AT91: SAM9 USB clocks check for suspending
  [ARM] 4418/1: AT91: Number of programmable clocks differs
  [ARM] 4392/2: Do not corrupt the SP register in compressed/head.S
2007-06-07 17:02:29 -07:00
Russell King
c0f85a8248 [ARM] pxa: fix pxa27x keyboard driver
CKEN macro definitions no longer contains the bit number; remove it
from usages in the pxa27x keyboard driver.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-06-05 21:14:40 +01:00
Linus Torvalds
0b662c6484 Merge branch 'for-linus' of 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: reduce raciness when input handlers disconnect
  Input: ucb1x00 - do not access input_dev->private directly
  Input: logips2pp - fix typo in Kconfig
  Input: db9 - do not ignore dev2 module parameter
2007-06-04 13:27:33 -07:00
Dmitry Torokhov
1dfa281240 Input: reduce raciness when input handlers disconnect
There is a race between input handler's release() and disconnect()
methods: when input handler disconnects it wakes up all regular
users and then process to walk user list to wake up async. users.
While disconnect() walks the list release() removes elements of
the same list causing oopses.

While this is not a substibute for proper locking we can reduce
odds of getting an oops if we wake up normal readers after walking
the list.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-06-03 23:50:05 -04:00
Russell King
cdea460643 [ARM] Fix some section mismatch warnings
The following patch fixes these section mismatch warnings:

WARNING: arch/arm/mach-at91/built-in.o(.text+0xdf4): Section mismatch: reference to .init.data:dk_nand_partition (between 'nand_partitions' and 'at91_leds_event')
WARNING: arch/arm/mach-at91/built-in.o(.text+0xbdc): Section mismatch: reference to .init.data:ek_nand_partition (after 'nand_partitions')
WARNING: arch/arm/mach-at91/built-in.o(.text+0xbdc): Section mismatch: reference to .init.data:ek_nand_partition (between 'nand_partitions' and 'ads7843_pendown_state')
WARNING: arch/arm/mach-at91/built-in.o(.text+0xbdc): Section mismatch: reference to .init.data:ek_nand_partition (after 'nand_partitions')
WARNING: arch/arm/mach-at91/built-in.o(.text+0xc28): Section mismatch: reference to .init.data:kb9202_nand_partition (after 'nand_partitions')
WARNING: arch/arm/mach-footbridge/built-in.o(.text+0xaa4): Section mismatch: reference to .init.data:cats_pci (between 'cats_pci_init' and 'ebsa285_leds_event')WARNING: arch/arm/mach-ixp2000/built-in.o(.text+0xb54): Section mismatch: reference to .init.text:ixp2000_init_irq (between 'ixdp2x00_init_irq' and 'ixdp2x00_irq_handler')
WARNING: arch/arm/mach-ixp23xx/built-in.o(.text+0x670): Section mismatch: reference to .init.text:ixp23xx_pci_common_init (between 'ixp23xx_pci_slave_init' and 'ixp23xx_pci_scan_bus')
WARNING: arch/arm/mach-ixp23xx/built-in.o(.text+0x890): Section mismatch: reference to .init.text:ixp23xx_init_irq (between 'ixdp2351_init_irq' and 'roadrunner_pci_preinit')
WARNING: arch/arm/mach-ixp23xx/built-in.o(.text+0x9a8): Section mismatch: reference to .init.text:ixp23xx_pci_preinit (after 'roadrunner_pci_preinit')
WARNING: arch/arm/mach-imx/built-in.o(__ksymtab+0x80): Section mismatch: reference to .init.text:imx_set_mmc_info (between '__ksymtab_imx_set_mmc_info' and '__ksymtab_set_imx_fb_info')
WARNING: arch/arm/mach-imx/built-in.o(__ksymtab+0x88): Section mismatch: reference to .init.text:set_imx_fb_info (after '__ksymtab_set_imx_fb_info')
WARNING: arch/arm/mach-sa1100/built-in.o(.text+0x1930): Section mismatch: reference to .init.data:neponset_port_fns (between 'neponset_probe' and 'assabet_leds_event')
WARNING: drivers/built-in.o(.text+0x3f100): Section mismatch: reference to .init.text:ps2_clear_input (between 'ps2_probe' and 'ps2_cmd_aborted')
WARNING: drivers/built-in.o(.text+0x3f1c8): Section mismatch: reference to .init.text:ps2_clear_input (between 'ps2_probe' and 'ps2_cmd_aborted')
WARNING: drivers/built-in.o(.text+0x4f988): Section mismatch: reference to .init.text:ps2_clear_input (between 'ps2_probe' and 'ps2_cmd_aborted')
WARNING: drivers/built-in.o(.text+0x4fa50): Section mismatch: reference to .init.text:ps2_clear_input (between 'ps2_probe' and 'ps2_cmd_aborted')

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Acked-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-05-30 17:48:45 +01:00
Uwe Bugla
b23c9e386c Input: logips2pp - fix typo in Kconfig
Signed-off-by: Uwe Bugla <uwe.bugla@gmx.de>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-05-28 23:24:48 -04:00
Dmitry Torokhov
0e2a4fd2e8 Input: db9 - do not ignore dev2 module parameter
Because of incorrect parameter setup anything passed in dev2=...
was always ignored by the driver. See bugzilla #8541.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-05-28 23:24:39 -04:00
Linus Torvalds
31f6e1bd3b Merge branch 'for-linus' of 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: ads7846 - SPI_CPHA mode bugfix
  Input: ads7846 - document that it handles tsc2046 too
  Input: input-polldev - add module info
  Input: ucb1x00-ts - remove commented out code
  Input: ucb1400_ts - use sched_setscheduler()
  Input: ALPS - force stream mode
  Input: iforce - minor clean-ups
  Input: iforce - fix force feedback not working
  Input: adbhid - do not access input_dev->private directly
  Input: logips2pp - add type 72 (PS/2 TrackMan Marble)
2007-05-23 08:11:43 -07:00
Semih Hazar
230ffc8e34 Input: ads7846 - SPI_CPHA mode bugfix
In commit [1] the SPI mode is set to 1, but it should be 0.  As stated
in the commit, ads784x samples the data on the rising edge.  SPI mode 1
samples on the falling edge [2] though.

The root cause of this is a bug in the omap_uwire code, which treats
CPHA=1 incorrectly; so these two bugs cancel each other out on one
of the main regression test platforms for this driver.

[1] kernel.org GIT 7937e86a70
[2] http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-05-22 23:35:12 -04:00
David Brownell
bff0de5f59 Input: ads7846 - document that it handles tsc2046 too
The TSC2046 is an updated version of the ADS7846 ... mention that in
the Kconfig helptext and driver source.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Acked-by: Kevin Hilman <khilman@mvista.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-05-22 23:28:40 -04:00
Eric Piel
36bd52a49b Input: input-polldev - add module info
This is required to load it as a module, as GPL-compatible
license is necessary to use workqueues.

Signed-off-by: Eric Piel <eric.piel@tremplin-utc.net>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-05-22 23:28:03 -04:00
Satoru Takeuchi
c130bdba58 Input: ucb1400_ts - use sched_setscheduler()
Fix Philips UCB1400 driver to use sched_setscheduler() instead of setting
the fields of task_struct directly.

Signed-off-by: Satoru Takeuchi <takeuchi_satoru@jp.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-05-22 23:24:17 -04:00
Dmitry Torokhov
1e0c5b1275 Input: ALPS - force stream mode
ALPS appears to need SETSTREAM command after reset, otherwise it
does not produce any data. Now that we do not request stream mode
by default individual drivers need to take care of it.

[Jason Riedy <ejr@cs.berkeley.edu> - fix oops]

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-05-22 23:23:35 -04:00
Johann Deneux
c0338c1597 Input: iforce - minor clean-ups
Signed-off-by: Johann Deneux <johann.deneux@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-05-22 23:23:30 -04:00
Johann Deneux
b8691fd225 Input: iforce - fix force feedback not working
Use an interrupt URB to send force-feedback data to the device
instead of a bulk URB. This was broken since 2.6.18.

Signed-off-by: Johann Deneux <johann.deneux@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-05-22 23:19:30 -04:00
Linus Torvalds
cdb7532f7b Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6:
  sh: Fix dreamcast build for IRQ changes.
  sh: Fix clock multiplier on SH7722.
  sh: Wire up kdump crash kernel exec in die().
  sh: sr.bl toggling around idle sleep.
  sh: disable genrtc support.
  fs: Kill sh dependency for binfmt_flat.
  sh: Disable psw support for R7785RP.
  sh: Fix page size alignment in __copy_user_page().
  sh: Fix up various compile warnings for SE boards.
  sh: Wire up signalfd/timerfd/eventfd syscalls.
  sh: revert addition of page fault notifiers
  spelling fixes: arch/sh/
  input: hp680_ts compile fixes.
  sh: landisk: Header cleanups.
  sh: landisk: rtc-rs5c313 support.
  sh: Kill off pmb slab cache destructor.
  sh: Fix up psw build rules for r7780rp.
  sh: Shut up compiler warnings in __do_page_fault().
2007-05-22 17:26:18 -07:00
Al Viro
7a86edef39 missing dependencies for USB drivers in input
stuff that does select USB should depend on USB_ARCH_HAS_HCD, or we'll
end up with unbuildable configs.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-15 18:56:37 -07:00
Kristoffer Ericson
049fa57ce3 input: hp680_ts compile fixes.
Trivial fix to follow the DECLARE_WORK changes, this makes the HD64461
touchscreen driver work properly again. As pointed out by David Howells.

Signed-off-by: Kristoffer Ericson <kristoffer.ericson@gmail.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-05-14 09:18:35 +09:00
Kenichi Nagai
bf61f8d357 Input: evdev - fix overflow in compat_ioctl
When exporting input device bitmaps via compat_ioctl on BIG_ENDIAN
platforms evdev calculates data size incorrectly. This causes buffer
overflow if user specifies buffer smaller than maxlen.

Signed-off-by: Kenichi Nagai <kenichi3.nagai@toshiba.co.jp>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-11 09:08:04 -07:00
Frederik Deweerdt
643bd27298 Fix ixp4xx compile error
drivers/input/misc/ixp4xx-beeper.c: In function 'ixp4xx_spkr_event':
drivers/input/misc/ixp4xx-beeper.c:54: error: 'input_dev' undeclared (first use in this function)
drivers/input/misc/ixp4xx-beeper.c:54: error: (Each undeclared identifier is reported only once
drivers/input/misc/ixp4xx-beeper.c:54: error: for each function it appears in.)

Signed-off-by: Frederik Deweerdt <frederik.deweerdt@gmail.com>
Acked-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-10 13:34:05 -07:00
Martin Schwidefsky
9556fb73ed [S390] Kconfig: unwanted menus for s390.
Disable some more menus in the configuration files that are of no
interest to a s390 machine.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2007-05-10 15:46:07 +02:00
Peter Samuelson
18cc675753 Input: logips2pp - add type 72 (PS/2 TrackMan Marble)
This is purely cosmetic: this is standard 3-button, no wheel or other
such features, so it already _worked_ just fine.  This patch suppresses
a warning about the unknown model, and changes the printk from "Mouse"
to "TrackMan".

Signed-off-by: Peter Samuelson <peter@p12n.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-05-08 23:34:18 -04:00
Linus Torvalds
393bfca19e Merge master.kernel.org:/pub/scm/linux/kernel/git/dtor/input
* master.kernel.org:/pub/scm/linux/kernel/git/dtor/input:
  Input: move USB miscellaneous devices under drivers/input/misc
  Input: move USB mice under drivers/input/mouse
  Input: move USB gamepads under drivers/input/joystick
  Input: move USB touchscreens under drivers/input/touchscreen
  Input: move USB tablets under drivers/input/tablet
  Input: i8042 - fix AUX port detection with some chips
  Input: aaed2000_kbd - convert to use polldev library
  Input: drivers/usb/input - usb_buffer_free() cleanup
  Input: synaptics - don't complain about failed resets
  Input: pull input.h into uinpit.h
  Input: drivers/usb/input - fix sparse warnings (signedness)
  Input: evdev - fix some sparse warnings (signedness, shadowing)
  Input: drivers/joystick - fix various sparse warnings
  Input: force feedback - make sure effect is present before playing
2007-05-08 11:51:43 -07:00
Randy Dunlap
e63340ae6b header cleaning: don't include smp_lock.h when not used
Remove includes of <linux/smp_lock.h> where it is not used/needed.
Suggested by Al Viro.

Builds cleanly on x86_64, i386, alpha, ia64, powerpc, sparc,
sparc64, and arm (all 59 defconfigs).

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-08 11:15:07 -07:00
Dmitry Torokhov
ba0acb5ee3 Input: move USB miscellaneous devices under drivers/input/misc
This will allow concentrating all input devices in one place
in {menu|x|q}config.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-05-08 01:41:29 -04:00
Dmitry Torokhov
b5da20f8f7 Input: move USB mice under drivers/input/mouse
This will allow concentrating all input devices in one place
in {menu|x|q}config.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-05-08 01:41:29 -04:00
Dmitry Torokhov
1c362d4682 Input: move USB gamepads under drivers/input/joystick
This will allow concentrating all input devices in one place
in {menu|x|q}config.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-05-08 01:41:29 -04:00
Dmitry Torokhov
d05e84e6cb Input: move USB touchscreens under drivers/input/touchscreen
This will allow concentrating all input devices in one place
in {menu|x|q}config.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-05-08 01:41:29 -04:00
Dmitry Torokhov
4104d13fe0 Input: move USB tablets under drivers/input/tablet
This will allow concentrating all input devices in one place
in {menu|x|q}config.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-05-08 01:41:29 -04:00
Roland Scheidegger
d2ada5597d Input: i8042 - fix AUX port detection with some chips
The i8042 driver fails detection of the AUX port with some chips,
because they apparently do not change the I8042_CTR_AUXDIS bit
immediately. This is known to affect at least HP500/HP510 notebooks,
consequently the built-in touchpad will not work. The patch will simply
reread the value until it gets the expected value or a retry limit is
hit, without touching other workaround code in the same area.

Signed-off-by: Roland Scheidegger <sroland@tungstengraphics.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-05-08 01:31:40 -04:00
Dmitry Torokhov
334d0dd8b6 Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2007-05-08 01:31:11 -04:00
Kristoffer Ericson
5753171b82 sh: hp6xx driver compile fixes.
Trivial compilation fixes for the hp6xx drivers.

Signed-off-by: Kristoffer Ericson <Kristoffer_e1@hotmail.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-05-07 02:10:54 +00:00
Linus Torvalds
a3d52136ee Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/dtor/input
* 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/dtor/input: (65 commits)
  Input: gpio_keys - add support for switches (EV_SW)
  Input: cobalt_btns - convert to use polldev library
  Input: add skeleton for simple polled devices
  Input: update some documentation
  Input: wistron - fix typo in keymap for Acer TM610
  Input: add input_set_capability() helper
  Input: i8042 - add Fujitsu touchscreen/touchpad PNP IDs
  Input: i8042 - add Panasonic CF-29 to nomux list
  Input: lifebook - split into 2 devices
  Input: lifebook - add signature of Panasonic CF-29
  Input: lifebook - activate 6-byte protocol on select models
  Input: lifebook - work properly on Panasonic CF-18
  Input: cobalt buttons - separate device and driver registration
  Input: ati_remote - make button repeat sensitivity configurable
  Input: pxa27x - do not use deprecated SA_INTERRUPT flag
  Input: ucb1400 - make delays configurable
  Input: misc devices - switch to using input_dev->dev.parent
  Input: joysticks - switch to using input_dev->dev.parent
  Input: touchscreens - switch to using input_dev->dev.parent
  Input: mice - switch to using input_dev->dev.parent
  ...

Fixed up conflicts with core device model removal of "struct subsystem" manually.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-04 18:16:12 -07:00
Linus Torvalds
5b33991576 Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6:
  remove "struct subsystem" as it is no longer needed
  sysfs: printk format warning
  DOC: Fix wrong identifier name in Documentation/driver-model/devres.txt
  platform: reorder platform_device_del
  Driver core: fix show_uevent from taking up way too much stack
2007-05-04 18:04:48 -07:00
Geert Uytterhoeven
f8744bc95d hilkbd: Kill compiler warning and fix comment dyslexia
hilkbd: Kill compiler warning and fix comment dyslexia

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-04 17:59:06 -07:00
Michael Schmitz
c04cb856e2 m68k: Atari keyboard and mouse support.
Atari keyboard and mouse support.
(reformating and Kconfig fixes by Roman Zippel)

Signed-off-by: Michael Schmitz <schmitz@debian.org>
Signed-off-by: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-04 17:59:05 -07:00
Dmitry Torokhov
3f07d87962 Input: aaed2000_kbd - convert to use polldev library
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-05-03 01:02:07 -04:00
Dmitry Torokhov
4bdd488f4b Input: synaptics - don't complain about failed resets
On many laptops (Compaq, HP) the touchpad is so slow responding
to reset that keyboard controller times out. The device is reset
nonetheless and works fine. Kill the "synaptics reset failed"
error; if device is not working then other parts of
synaptics_query_hardware() will fail anyway.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-05-03 00:56:18 -04:00
Mike Frysinger
a830df367c Input: pull input.h into uinpit.h
uinput.h relies on structures found in input.h, so pull in the header

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-05-03 00:55:34 -04:00
Dmitry Torokhov
ce305b6a08 Input: evdev - fix some sparse warnings (signedness, shadowing)
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-05-03 00:53:18 -04:00
Dmitry Torokhov
78167236e2 Input: drivers/joystick - fix various sparse warnings
Fix various issues pointed by sparse:
 - module_param_array_named() takes unsigned int as number
   of parameters argument
 - shadowing of global variables is not healthy. I think there was
   once a bug in db9 caused by it.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-05-03 00:52:51 -04:00
Dmitry Torokhov
dec3eb01c2 Input: force feedback - make sure effect is present before playing
Make sure that requested effect id is not out of range for the
device and that effect is present before requesting device to
play it.

Reported-by: Jan Kratochvil <honza@jikos.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-05-03 00:51:10 -04:00
Greg Kroah-Hartman
823bccfc40 remove "struct subsystem" as it is no longer needed
We need to work on cleaning up the relationship between kobjects, ksets and
ktypes.  The removal of 'struct subsystem' is the first step of this,
especially as it is not really needed at all.

Thanks to Kay for fixing the bugs in this patch.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-05-02 18:57:59 -07:00
Roman Moravcik
84767d00a8 Input: gpio_keys - add support for switches (EV_SW)
Signed-off-by: Roman Moravcik <roman.moravcik@gmail.com>
Signed-off-by: Paul Sokolovsky <pmiscml@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-05-01 00:39:13 -04:00
Dmitry Torokhov
bc95f3669f Merge master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6
Conflicts:

	drivers/usb/input/Makefile
	drivers/usb/input/gtco.c
2007-05-01 00:24:54 -04:00
Dmitry Torokhov
3d29cdff99 Input: cobalt_btns - convert to use polldev library
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Acked-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
2007-04-29 23:43:06 -04:00
Dmitry Torokhov
0dcd807367 Input: add skeleton for simple polled devices
input-polldev provides a skeleton for supporting simple input
devices that need to be periodically scanned or polled to
detect changes in their state.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-04-29 23:42:45 -04:00
Eric Piel
fd013ce8d4 Input: wistron - fix typo in keymap for Acer TM610
This patch fixes typo that prevented PROG2 key from working
on Acer Travelmate 610.

Signed-off-by: Eric Piel <eric.piel@tremplin-utc.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-04-29 23:41:53 -04:00
Dmitry Torokhov
79580057de Input: gameport - do not touch bus's rwsem
The subsystem rwsem is not used by the driver core at all, so there is
no point in trying to access it.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-04-27 10:57:30 -07:00
Dmitry Torokhov
70f256fda1 Input: serio - do not touch bus's rwsem
The subsystem rwsem is not used by the driver core at all, so there is
no point in trying to access it.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-04-27 10:57:30 -07:00
Dmitry Torokhov
534565f254 Input: add input_set_capability() helper
Add input_set_capability() helper used to indicate that an input
device supports a certain event without need to manipulate bitmaps
directly.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-04-25 00:53:18 -04:00
Dmitry Torokhov
b9973954c5 Input: i8042 - add Fujitsu touchscreen/touchpad PNP IDs
Add PNP IDs for Fujitsu touchscreen/touchpad for AUX port
detection to latch onto.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-04-25 00:40:53 -04:00
Dmitry Torokhov
cc8310e33b Input: i8042 - add Panasonic CF-29 to nomux list
There is no data coming from touchscreen on Panasonic CF-29
notebook unless keyboard controller is in legacy mode.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-04-25 00:40:32 -04:00
Dmitry Torokhov
2ebdcc615b Input: lifebook - split into 2 devices
Have lifebook protocol register 2 separate input devices -
one for the touchscreen reporting absolute coordinates and
touches and another one for touchpad reporting relative
coordinates and left and right button presses.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-04-25 00:39:53 -04:00
Dmitry Torokhov
43887ba15a Input: lifebook - add signature of Panasonic CF-29
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-04-25 00:39:31 -04:00
Dmitry Torokhov
1b118799cc Input: lifebook - activate 6-byte protocol on select models
It appears that if we turn on 6-byte Lifebook protocol on
Panasonic CF-28 its touchpad is left alone and generates
standard 3-byte PS/2 data stream with relative packets
instead of being converted in 3-byte Lifebook protocol with
absolute coordinates - in other words what get what we need
to distinguish between touchscreen and touchpad.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-04-12 01:36:34 -04:00
Dmitry Torokhov
e7afcd1bf7 Input: lifebook - work properly on Panasonic CF-18
Panasonic CF18 has an active multiplexing controller with
touchscreen connected to one port and a touchpad to another.
Use "phys" from serio port to activate lifebook protoocol
only on the port that has touchscreen connected to it.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-04-12 01:36:25 -04:00
Dmitry Torokhov
d0a0515fc3 Input: cobalt buttons - separate device and driver registration
Create platform device for cobalt buttons as part of arch setup.
This makes the driver follow current driver model more closely.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Acked-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
2007-04-12 01:36:12 -04:00
Thomas Gleixner
b7fd4a0aa5 Input: pxa27x - do not use deprecated SA_INTERRUPT flag
IRQF_DISABLED is the proper name.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-04-12 01:35:51 -04:00
Cliff Brake
b5b16c5296 Input: ucb1400 - make delays configurable
This patch adds module parameters for several timing values used
in the driver. These values can vary based on the hardware design
and how much capacitive filtering there is on the touch panel inputs,
and the resistance of the panel.

Signed-off-by: Cliff Brake <cbrake@bec-systems.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-04-12 01:35:43 -04:00
Dmitry Torokhov
293e6392d7 Input: misc devices - switch to using input_dev->dev.parent
In preparation for struct class_device -> struct device input
core conversion, switch to using input_dev->dev.parent when
specifying device position in sysfs tree.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-04-12 01:35:32 -04:00
Dmitry Torokhov
935e658e89 Input: joysticks - switch to using input_dev->dev.parent
In preparation for struct class_device -> struct device input
core conversion, switch to using input_dev->dev.parent when
specifying device position in sysfs tree.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-04-12 01:35:26 -04:00
Dmitry Torokhov
a5394fb075 Input: touchscreens - switch to using input_dev->dev.parent
In preparation for struct class_device -> struct device input
core conversion, switch to using input_dev->dev.parent when
specifying device position in sysfs tree.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-04-12 01:35:14 -04:00
Dmitry Torokhov
28aa7f1c81 Input: mice - switch to using input_dev->dev.parent
In preparation for struct class_device -> struct device input
core conversion, switch to using input_dev->dev.parent when
specifying device position in sysfs tree.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-04-12 01:35:09 -04:00
Dmitry Torokhov
469ba4dff9 Input: keyboards - switch to using input_dev->dev.parent
In preparation for struct class_device -> struct device input
core conversion, switch to using input_dev->dev.parent when
specifying device position in sysfs tree.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-04-12 01:34:58 -04:00
Dmitry Torokhov
88a447a030 Input: prepare to switching to struct device
In preparation to switching to struct device and class device
going away provide an alias to allow drivers that create devices
to use either input_dev->cdev.dev or input_dev->dev.parent to
put them into sysfs tree. The former will go away once conversion
to struct device is complete.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-04-12 01:34:47 -04:00
Dmitry Torokhov
373f9713dc Input: drivers/input/misc - don't access dev->private directly
Use input_get_drvdata() and input_set_drvdata() instead.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-04-12 01:34:33 -04:00
Dmitry Torokhov
b356872fa4 Input: drivers/input/keyboard - don't access dev->private directly
Use input_get_drvdata() and input_set_drvdata() instead.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-04-12 01:34:20 -04:00
Dmitry Torokhov
8715c1cfad Input: drivers/input/joystick - don't access dev->private directly
Use input_get_drvdata() and input_set_drvdata() instead.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-04-12 01:34:14 -04:00
Dmitry Torokhov
40b9b0b82e Input: drivers/input/touchscreen - don't access dev->private directly
Use input_get_drvdata() and input_set_drvdata() instead.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-04-12 01:34:08 -04:00
Dmitry Torokhov
0ca1804f2e Input: drivers/input/mice - don't access dev->private directly
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-04-12 01:34:02 -04:00
Dmitry Torokhov
21298f7153 Input: logips2pp - add model 1 information
It turns out I had an old 2-button Logitech mouse that responds
to Logitech's queries with model of 1.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-04-12 01:33:19 -04:00
Eric Piel
55d29c9841 Input: wistron - declare keymaps as initdata
As the number of keymaps increases and is very unlikely to
reduce, this patch helps to reduce memory consumption by
declaring all keymaps as __initdata and copying right keymap
during DMI detection. On x86 this make the module size at
runtime going from 10616 to 9428: a bit more than 1kb saved.

Signed-off-by: Eric Piel <eric.piel@tremplin-utc.net>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-04-12 01:32:49 -04:00
Eric Piel
7b0a4cd760 Input: wistron - introduce generic keymap
It turns out that the keymaps in the wistron driver are almost the
same, the main difference being some keys which may not exist and
leds which might not be present. Therefore it's possible to write
a generic keymap which would allow the use of an unknown keyboard
with little drawbacks. The user can select it specifying the parameter
"keymap=generic".

Signed-off-by: Eric Piel <eric.piel@tremplin-utc.net>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-04-12 01:32:41 -04:00
Eric Piel
6480e2a275 Input: wistron - add acerhk laptop database
Acerhk supports already a lot of laptops. Lets import its database so
that everyone can benefit of the work of Olaf Tauber. Only the "tm_new"
laptops were imported. "tm_old" laptops could be possible but requires
more testing and probably only few laptops are still alive. "dritek"
laptops should probably be imported into a different driver. Also compress
the keymaps by fitting each entry on an int. Most of the dmi matching was
written based on google searches, so it's rather prone to errors. That's
why I'm asking people to confirm it works.

Support to generate switch input events was added as some laptops indicate
lid open/close through this interface.

This adds the following hardware:
Acer TravelMate 370
Acer TravelMate 380
Acer TravelMate C300
Acer TravelMate C100
Acer TravelMate C110
Acer TravelMate 250
Acer TravelMate 350
Acer TravelMate 620
Acer TravelMate 630
Acer TravelMate 220
Acer TravelMate 230
Acer TravelMate 260
Acer TravelMate 280
Acer TravelMate 360
Acer TravelMate 2100
Acer TravelMate 2410
Acer Aspire 1500
Acer Aspire 1600
Acer Aspire 3020
Acer Aspire 5020
Medion MD 2900
Medion MD 40100
Medion MD 95400
Medion MD 96500
Fujitsu Siemens Amilo 7820

Signed-off-by: Eric Piel <eric.piel@tremplin-utc.net>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-04-12 01:32:34 -04:00
Dmitry Torokhov
688897b0d4 Input: logips2pp - ignore mice reporting model as 0
There are mice reporting to logitech's queries with model
of 0. Do not claim that these are Logitech mice.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-04-12 01:32:22 -04:00
Dmitry Torokhov
8d04ddb64c Input: i8042 - disable interfaces when switching to legacy mode
Disable both keyboard and auxiliary interfaces before switching
to legacy mode to prevent atkbd from getting "empty" interrupts.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-04-12 01:32:09 -04:00
Dmitry Torokhov
0d9d93c411 Input: mousedev - fix sudden warps with touchpads
Pete Zaitcev reports that with his touchpad, if he lifts the finger
and places it elsewhere, the pointer sometimes warps dramatically.
This happens because we don't store coordinates unless we detect a
touch so sometimes we have stale coordinates in queue (from where
the finger left the pad) and averaging makes cursor to jump across
the screen. The solution is to always store the latest coordinates.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-04-12 01:31:55 -04:00
Dmitry Torokhov
f42649e848 Input: ALPS - handle errors from input_register_device()
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-04-12 01:31:13 -04:00
Robert P. J. Day
f3901d9e3b Input: remove no longer used power.c handler
Delete the never-compiled source file drivers/input/power.c, and
remove its entry from the corresponding Makefile, as there is no
Kconfig file that refers to the config option INPUT_POWER

Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-04-12 01:31:05 -04:00
Dmitry Torokhov
887cc12723 Input: synaptics - export model bits
Encode synaptics model in psmouse->model so it will be
exported via sysfs as input_dev->id.version and become
visible for applications.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-04-12 01:30:41 -04:00
Johann Deneux
598972d4fb Input: iforce - use usb_kill_urb instead of usb_unlink_urb
Using usb_unlink_urb can cause iforce_open to fail when called
soon after iforce_release. Also updated my email address and
replaced calls to printk() by dbg(), warn(), info(), err()...

Signed-off-by: Johann Deneux <johann.deneux@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-04-12 01:30:24 -04:00
Dmitry Torokhov
d542ed82fd Input: handlers - handle errors from input_open_device()
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-04-12 01:30:15 -04:00
Dmitry Torokhov
d0ffb9be86 Input: handlers - rename 'list' to 'client'
The naming convention in input handlers was very confusing -
client stuctures were called lists, regular lists were also
called lists making anyone looking at the code go mad.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-04-12 01:30:00 -04:00
Dmitry Torokhov
5b2a08262a Input: rework handle creation code
- consolidate code for binding handlers to a device
 - return error codes from handlers connect() methods back to input
   core and log failures

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-04-12 01:29:46 -04:00
Cliff Brake
ff78b20235 [PATCH] Input: ucb1400 - set up driver's name to show in sysfs
The UCB1400 is missing a name parameter in the device_driver struct.
This causes missing information in the /sys tree and seems to cause
other problems with the AC97 functionality. This was tested on a PXA270
system.

Signed-off-by: Cliff Brake <cbrake@bec-systems.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-04-10 17:26:33 -07:00
Dmitry Torokhov
6e782584e0 Input: i8042 - add HP Pavilion DV4017EA to the MUX blacklist
This should get rid of "atkbd.c: Suprious NAK on isa0060/serio0"
messages caused by broken MUX implementation. The box does not
have external PS/2 ports so disabling MUX mode is safe.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-03-16 00:59:42 -04:00
Helge Deller
9575499dfe Input: HIL - fix rwlock recursion bug
The following bug happens when insmoding hp_sdc_mlc.ko:

    HP SDC MLC: Registering the System Domain Controller's HIL MLC.
    BUG: rwlock recursion on CPU#0, hotplug/1814, 00854734
    Backtrace:
     [<10267560>] _raw_write_lock+0x50/0x88
     [<10104008>] _write_lock_irqsave+0x14/0x24
     [<008537d4>] hp_sdc_mlc_out+0x38/0x25c [hp_sdc_mlc]
     [<0084ebd8>] hilse_donode+0x308/0x470 [hil_mlc]
     [<0084ed80>] hil_mlcs_process+0x40/0x6c [hil_mlc]
     [<10130f80>] tasklet_action+0x78/0xb8
     [<10130cec>] __do_softirq+0x60/0xcc
     [<1010428c>] __lock_text_end+0x38/0x48
     [<10108348>] do_cpu_irq_mask+0xf0/0x11c
     [<1010b068>] intr_return+0x0/0xc

Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-03-16 00:59:29 -04:00
Rodolfo Giometti
5a90e5bca9 Input: add support for PXA27x keyboard controller
Signed-off-by: Rodolfo Giometti <giometti@enneenne.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-03-16 00:58:52 -04:00
Peter Osterlund
867d2682e9 Input: sermouse - improve protocol error recovery
When using MS protocol the driver should wait for a byte with
bit 6 set before assuming that it sees beginning of a data packet.
This should allow driver better cope with lost bytes and prevent
spurious left/right button events when serial communication is
disturbed by a CPU-hungry real-time process.

Also fix some formatting.

Signed-off-by: Peter Osterlund <petero2@telia.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-03-16 00:58:37 -04:00
Dmitry Torokhov
54f9e36cb8 Input: simplify input_free_device()
Now that sysfs attributes that were marked for deletion can't access
their devices we do not need to set name, phys and uniq to NULL.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-03-16 00:57:25 -04:00
Marvin Raaijmakers
c8e4c77277 Input: add getkeycode and setkeycode methods
Allow drivers to implement their own get and set keycode methods. This
will allow drivers to change their keymaps without allocating huge
tables covering entire range of possible scancodes.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-03-14 22:50:42 -04:00
Andres Salomon
55e3d9224b Input: psmouse - allow disabing certain protocol extensions
Allow ALPS, LOGIPS2PP, LIFEBOOK, TRACKPOINT and TOUCHKIT protocol
extensions of psmouse to be disabled during compilation. This will
allow users save some memory when they are sure that they will only
use a certain type of mice.

Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-03-10 01:39:54 -05:00
Linus Torvalds
0ce3c83a9c Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/dtor/input
* 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/dtor/input:
  Input: i8042 - another attempt to fix AUX delivery checks
2007-03-08 07:28:30 -08:00
Dmitry Torokhov
3ca5de6dd4 Input: i8042 - another attempt to fix AUX delivery checks
Do not assume that AUX_LOOP command is broken unless it
completes successfully but returns wrong (unexpected) data.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-03-07 23:20:55 -05:00
Dmitry Torokhov
cb9def4dff Input: let driver core create class device attribute groups
Rely on device core to create attribute groups for input devices
instead of open-coding it.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-03-07 23:20:26 -05:00
Dmitry Torokhov
15e03ae811 Input: export 'uniq' in /proc/bus/input/devices
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-03-07 23:20:17 -05:00
Eric Piel
bc413c9563 Input: wistron - add support for TravelMate 610
Add support for Acer TravelMate 610 to wistron_btns. All special keys
are detected, but the 2 leds are not handled (yet).

Signed-off-by: Eric Piel <eric.piel@tremplin-utc.net>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-03-07 01:45:16 -05:00
Dmitry Torokhov
243db53bbd Input: psmouse - do not force stream mode
Forcing stream mode after reset confuses some devices (reported
by Andrea Arcangeli) so let's take it out - spec says that after
reset mouse should already be in stream mode.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-03-07 01:44:59 -05:00
David Brownell
49015bee40 [PATCH] gpio_keys driver shouldn't be ARM-specific
The gpio_keys driver is wrongly ARM-specific; it can't build on
other platforms with GPIO suport.  This fixes that problem.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Cc: Dmitry Torokhov <dtor@mail.ru>
Cc: pHilipp Zabel <philipp.zabel@gmail.com>
Cc: Haavard Skinnemoen <hskinnemoen@atmel.com>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: Richard Purdie <rpurdie@rpsys.net>
Cc: Ben Nizette <ben.nizette@iinet.net.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-03-05 07:57:51 -08:00
David Brownell
0a938b9768 [PATCH] add CONFIG_GENERIC_GPIO
Most drivers using GPIOs already know they are running on a system that
supports the generic GPIO calls, because of other platform dependencies.
But the generic GPIO-based LED and input button drivers can't know that.

So this patch adds a Kconfig hook, GENERIC_GPIO, to mark the platforms
where <asm/gpio.h> will do the right thing.  Currently that's a bunch of
ARMs, and AVR32; more are on the way.

It also fixes a dependency bug for the gpio button input driver; it was
wrong to start with, now it covers all platforms with GENERIC_GPIO.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Acked-by: Richard Purdie <rpurdie@rpsys.net>
Cc: Arnaud Patard <arnaud.patard@rtp-net.org>
Cc: <raph@8d.com>
Cc: <msvoboda@ra.rockwell.com>
Cc: pHilipp Zabel <philipp.zabel@gmail.com>
Cc: Haavard Skinnemoen <hskinnemoen@atmel.com>
Cc: Dmitry Torokhov <dtor@mail.ru>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-03-05 07:57:51 -08:00
Helge Deller
ffd51f46cd Input: HIL - cleanup coding style
Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-02-28 23:51:29 -05:00
Helge Deller
3acaf540a3 Input: HIL - various fixes for HIL drivers
- mark some structures const or __read_mostly
 - hilkbd.c: fix uninitialized spinlock in HIL keyboard driver
 - hil_mlc.c: use USEC_PER_SEC instead of 1000000
 - hp_sdc: bugfix for request_irq()/free_irq() parameters, this prevented
           multiple load/unload cycles as module

Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-02-28 23:51:19 -05:00
Nicolas Ferre
969111e900 Input: ads7846 - add support for the ads7843 touchscreen
The ads7843 support has now become almost trivial since the last
rework.

Signed-off-by: Nicolas Ferre <nicolas.ferre@rfo.atmel.com>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-02-28 23:51:03 -05:00
Linus Torvalds
d43a338e39 Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/dtor/input
* 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/dtor/input:
  Input: remove obsolete setup parameters from input drivers
  Input: HIL - fix improper call to release_region()
  Input: hid-lgff - treat devices as joysticks unless told otherwise
  Input: HID - add support for Logitech Formula Force EX
  Input: gpio-keys - switch to common GPIO API
  Input: do not lock device when showing name, phys and uniq
  Input: i8042 - let serio bus suspend ports
  Input: psmouse - properly reset mouse on shutdown/suspend
2007-02-19 13:31:34 -08:00
Yoichi Yuasa
bebb8a2bc1 Input: add driver for MIPS Cobalt back panel buttons
Tested on Cobalt Qube2.

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-02-18 01:50:18 -05:00
Stefan Lucke
24bf10ab2d Input: psmouse - add support for eGalax PS/2 touchscreen controller
Based on the touchkit USB and lifebook PS/2 touchscreen driver.

The egalax touchsreen controller (PS/2 or USB version) is used in this 7"
device: http://www.cartft.com/catalog/il/449

Signed-off-by: Michal Piotrowski <michal.k.k.piotrowski@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-02-18 01:49:10 -05:00
Dmitry Torokhov
62b529a7b9 Input: remove obsolete setup parameters from input drivers
They have been marked as __obsolete_setup() for several years,
it is time for them to go.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-02-18 01:44:58 -05:00
Cyrill V. Gorcunov
2a575f11fb Input: HIL - fix improper call to release_region()
Do not call release_region() if the code has been compiled
without CONFIG_HP300 support.

Signed-off-by: Cyrill V. Gorcunov <gorcunov@gmail.com>
Acked-by: Helge Deller <deller@gmx.de>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-02-18 01:44:02 -05:00
Philipp Zabel
0d98f6bbd8 Input: gpio-keys - switch to common GPIO API
This adds support for at least SA1100 and S3C24xx CPUs.

Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-02-18 01:40:46 -05:00
Dmitry Torokhov
1efa770f8e Input: do not lock device when showing name, phys and uniq
Now that sysfs attributes return -ENODEV once driver requests their
removal we do not need to handle scenario when data is deleted from
under our feet and can simplify the code.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-02-18 01:40:37 -05:00
Dmitry Torokhov
82dd9eff4b Input: i8042 - let serio bus suspend ports
Let serio subsystem take care of suspending the ports; concentrate
on suspending/resuming the controller itself.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-02-18 01:40:30 -05:00
Dmitry Torokhov
a1cec06177 Input: psmouse - properly reset mouse on shutdown/suspend
Some people report that they need psmouse module unloaded
for suspend to ram/disk to work properly. Let's make port
cleanup behave the same way as driver unload.

This fixes "bad state" roblem on various HP laptops, such
as nx7400.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-02-18 01:40:24 -05:00
Tobias Klauser
c5a69d57eb Storage class should be before const qualifier
The C99 specification states in section 6.11.5:

The placement of a storage-class specifier other than at the
beginning of the declaration specifiers in a declaration is an
obsolescent feature.

Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Signed-off-by: Adrian Bunk <bunk@stusta.de>
2007-02-17 20:11:19 +01:00
Thomas Gleixner
c9cb2e3d7c [PATCH] hrtimers: namespace and enum cleanup
- hrtimers did not use the hrtimer_restart enum and relied on the implict
  int representation. Fix the prototypes and the functions using the enums.
- Use seperate name spaces for the enumerations
- Convert hrtimer_restart macro to inline function
- Add comments

No functional changes.

[akpm@osdl.org: fix input driver]
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Cc: john stultz <johnstul@us.ibm.com>
Cc: Roman Zippel <zippel@linux-m68k.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>
2007-02-16 08:13:58 -08:00
Thomas Gleixner
2db6346f76 [PATCH] Scheduled removal of SA_xxx interrupt flags fixups 2
The obsolete SA_xxx interrupt flags have been used despite the scheduled
removal.  Fixup the remaining users in -mm.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-02-14 08:09:55 -08:00
Tim Schmielau
cd354f1ae7 [PATCH] remove many unneeded #includes of sched.h
After Al Viro (finally) succeeded in removing the sched.h #include in module.h
recently, it makes sense again to remove other superfluous sched.h includes.
There are quite a lot of files which include it but don't actually need
anything defined in there.  Presumably these includes were once needed for
macros that used to live in sched.h, but moved to other header files in the
course of cleaning it up.

To ease the pain, this time I did not fiddle with any header files and only
removed #includes from .c-files, which tend to cause less trouble.

Compile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,
arm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,
allmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all
configs in arch/arm/configs on arm.  I also checked that no new warnings were
introduced by the patch (actually, some warnings are removed that were emitted
by unnecessarily included header files).

Signed-off-by: Tim Schmielau <tim@physik3.uni-rostock.de>
Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-02-14 08:09:54 -08:00
Arjan van de Ven
2b8693c061 [PATCH] mark struct file_operations const 3
Many struct file_operations in the kernel can be "const".  Marking them const
moves these to the .rodata section, which avoids false sharing with potential
dirty data.  In addition it'll catch accidental writes at compile time to
these shared resources.

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-02-12 09:48:45 -08:00
Linus Torvalds
d68798374b Merge branch 'for-linus' of 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: remove scan_keyb driver
  Input: i8042 - fix AUX IRQ delivery check
  Input: wistron - add support for Fujitsu-Siemens Amilo D88x0
  Input: inport - use correct config option for ATIXL
  Input: HIL - handle erros from input_register_device()
  Input: tsdev - schedule removal
  Input: add Atlas button driver
  Input: ads7846 - be more compatible with the hwmon framework
  Input: ads7846 - detect pen up from GPIO state
  Input: ads7846 - select correct SPI mode
  Input: ads7846 - switch to using hrtimer
  Input: ads7846 - optionally leave Vref on during differential measurements
  Input: ads7846 - pluggable filtering logic
  Input: gpio-keys - keyboard driver for GPIO buttons
  Input: hid-ff - add support for Logitech Momo racing wheel
  Input: i8042 - really suppress ACK/NAK during panic blink
  Input: pc110pad - return proper error
2007-02-11 11:50:24 -08:00
Robert P. J. Day
3de3af130b [PATCH] Remove unnecessary memset(0) calls after kzalloc() calls.
Delete the few remaining unnecessary calls to memset(0) after a call to
kzalloc().

Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
Cc: Andi Kleen <ak@suse.de>
Cc: Dmitry Torokhov <dtor@mail.ru>
Cc: Adam Belay <ambx1@neo.rr.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-02-11 10:51:31 -08:00
Dmitry Torokhov
1e4865f8d4 Input: i8042 - fix AUX IRQ delivery check
On boxes that do not implement AUX LOOP command we can not
verify AUX IRQ delivery and must assume that it is wired
properly.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-02-10 01:29:53 -05:00
Michael Leun
5809d537c1 Input: wistron - add support for Fujitsu-Siemens Amilo D88x0
Tested on a Amilo D8820.

Signed-off-by: Michael Leun <ml@newton.leun.net>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-02-10 01:29:42 -05:00
Robert P. J. Day
8370a64353 Input: inport - use correct config option for ATIXL
Change the apparently incorrect check for CONFIG_INPUT_ATIXL
in a source file to be consistent with the kernel config
option CONFIG_MOUSE_ATIXL.

Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-02-10 01:29:31 -05:00
Cyrill V. Gorcunov
b350620cc5 Input: HIL - handle erros from input_register_device()
Also some whitespace cleanup.

Signed-off-by: Cyrill V. Gorcunov <gorcunov@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-02-10 01:29:19 -05:00
Richard Purdie
ff141a03e1 Input: tsdev - schedule removal
Compaq touchscreen emulation (drivers/input/tsdev.c) is old,
was obsolete when it was written by the authors own admission
and much better userspace solutions like tslib now exist.
The name is also confusing.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Acked-by: James Simmons <jsimmons@infradead.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-02-10 01:29:11 -05:00
Jaya Kumar
31ea7ff0f8 Input: add Atlas button driver
This patch adds support for the buttons on the Atlas wallmount
touchscreen.

Signed-off-by: Jaya Kumar <jayakumar.acpi@gmail.com>
Acked-by: Len Brown <len.brown@intel.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-02-10 01:29:00 -05:00
Dmitry Torokhov
b22364c8ee Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2007-02-10 01:26:32 -05:00
Andrew Morton
ca377fecdd [ALSA] ucb1400_ts.c compilation fix (struct snd_ac97)
From: Andrew Morton <akpm@osdl.org>
Cc: Takashi Iwai <tiwai@suse.de>

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:02:25 +01:00
Greg Kroah-Hartman
4b315627e6 SERIO: add the sysfs driver name to all modules
This adds the module name to all SERIO drivers, if they are built into
the kernel or not.  It will show up in /sys/modules/MODULE_NAME/drivers/

Cc: Kay Sievers <kay.sievers@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-02-07 10:37:12 -08:00
David Brownell
2c8dc07151 Input: ads7846 - be more compatible with the hwmon framework
- Hook up to hwmon
     * show sensor attributes only if hwmon is present
     * ... and the board's reference voltage is known
     * otherwise be just a touchscreen
 - Report voltages per hwmon convention
     * measure in millivolts
     * voltages are named in[0-8]_input (ugh)
     * for 7846 chips, properly range-adjust vBATT/in1_input

Battery measurements help during recharge monitoring.  On OSK/Mistral,
the measured voltage agreed with a multimeter to several decimal places.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-01-18 00:45:48 -05:00
Imre Deak
15e3589e59 Input: ads7846 - detect pen up from GPIO state
We can't depend on the pressure value to determine when the pen was
lifted, so use the GPIO line state instead. This also helps with
chips (like ads7843) that don't have pressure sensors.

Signed-off-by: Imre Deak <imre.deak@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-01-18 00:45:43 -05:00
Imre Deak
7937e86a70 Input: ads7846 - select correct SPI mode
Talk to ADS7846 chip using SPI mode 1, which is what the chip
supports: writes on falling clock edge, reads on rising.

Signed-off-by: Imre Deak <imre.deak@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-01-18 00:45:38 -05:00
Imre Deak
1936d590a9 Input: ads7846 - switch to using hrtimer
Use hrtimer instead of the normal timer, since it provides better
sampling resolution. This will:

 - avoid a problem where we have a 1 jiffy poll period and
   dynamic tick on
 - utilize high resolution HW clocks when they are added to
   the hrtimer framework

Signed-off-by: Imre Deak <imre.deak@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-01-18 00:45:31 -05:00
Imre Deak
de2defd96d Input: ads7846 - optionally leave Vref on during differential measurements
On some LCDs leaving the Vref on provides much better readings.

Signed-off-by: Jarkko Oikarinen <jarkko.oikarinen@nokia.com>
Signed-off-by: Imre Deak <imre.deak@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-01-18 00:45:21 -05:00
Imre Deak
da970e69ef Input: ads7846 - pluggable filtering logic
Some LCDs like the LS041Y3 require a customized filtering
logic for reliable readings, so make the filtering function
replacable through platform specific hooks.

Signed-off-by: Imre Deak <imre.deak@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2007-01-18 00:44:41 -05:00