Commit Graph

186 Commits

Author SHA1 Message Date
Dmitry Torokhov
9e50afd0cb Input: make serio and gameport more swsusp friendly
kseriod and kgameportd used to process all pending events before
checking for freeze condition. This may cause swsusp to time out
while stopping tasks when resuming. Switch to process events one
by one to check freeze status more often.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-11-20 00:56:43 -05:00
Dmitry Torokhov
bd0ef2356c Input: handle failures in input_register_device()
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-11-20 00:56:31 -05:00
Dmitry Torokhov
e597f0c80d Input: uinput - don't use "interruptible" in FF code
If thread that submitted FF request gets interrupted somehow it
will release request structure and ioctl handler will work with
freed memory. TO prevent that from happening switch to using
wait_for_completion instead of wait_for_completion_interruptible.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-11-20 00:51:43 -05:00
Dmitry Torokhov
59c7c0377e Input: uinput - add UI_SET_SWBIT ioctl
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-11-20 00:51:33 -05:00
Dmitry Torokhov
29506415a0 Input: uinput - convert to dynalloc allocation
Also introduce proper locking when creating/deleting device.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-11-20 00:51:22 -05:00
Miloslav Trmac
e753b650e1 Input: wistron - disable wifi/bluetooth on suspend
Try to save battery power by disabling wifi and bluetooth on suspend.

Signed-off-by: Miloslav Trmac <mitr@volny.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-11-20 00:51:05 -05:00
Dmitry Torokhov
a5b0cc80bc Input: wistron - add PM support
Register wistron-bios as a platform device, restore WIFI and
Bluetooth state upon resume.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-11-20 00:50:58 -05:00
Dmitry Torokhov
22a397e2c1 Input: wistron - convert to dynamic input_dev allocation
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-11-20 00:50:46 -05:00
Bernhard Rosenkraenzer
84b256a663 Input: wistron - add support for Acer Aspire 1500 notebooks
Also fix a potential issue with some notebooks:

The current code assumes the response to bios_wifi_get_default_setting is
either 1 (disabled) or 3 (enabled), or wifi isn't supported.  The BIOS
response appears to be a bit field w/ 0x1 indicating hardware presence, 0x2
indicating actiation status, and the other 6 bits being unknown/reserved --
with the patch, these 6 bits are ignored.

Signed-off-by: Bernhard Rosenkraenzer <bero@arklinux.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-11-20 00:50:37 -05:00
Andrew Morton
e9fb028ea2 Input: wistron - disable for x86_64
On x86_64:

{standard input}:233: Error: suffix or operands invalid for `push'
{standard input}:233: Error: suffix or operands invalid for `pop'

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-11-20 00:50:21 -05:00
Dmitry Torokhov
5fc1468029 Input: add Wistron driver
A driver for laptop buttons using an x86 BIOS interface that is
apparently used on quite a few laptops and seems to be originating
from Wistron.

This driver currently "knows" only about Fujitsu-Siemens Amilo Pro V2000
(i.e. it can detect the laptop using DMI and it contains the
keycode->key meaning mapping for this laptop) and Xeron SonicPro X 155G
(probably can't be reliably autodetected, requires a module parameter),
adding other laptops should be easy.

In addition to reporting button presses to the input layer the driver
also allows enabling/disabling the embedded wireless NIC (using the
"Wifi" button); this is done using the same BIOS interface, so it seems
only logical to keep the implementation together.  Any flexibility
possibly gained by allowing users to remap the function of the "Wifi"
button is IMHO not worth it when weighted against the necessity to run
an user-space daemon to convert button presses to wifi state changes.

Signed-off-by: Miloslav Trmac <mitr@volny.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-11-20 00:50:06 -05:00
Dmitry Torokhov
0d4c859734 Input: atkbd - speed up setting leds/repeat state
Changing led state is pretty slow operation; when there are multiple
requests coming at a high rate they may interfere with normal typing.
Try optimize (skip) changing hardware state when multiple requests
are coming back-to-back.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-11-20 00:49:42 -05:00
Linus Torvalds
5643f000c1 Merge master.kernel.org:/home/rmk/linux-2.6-drvmodel 2005-11-11 09:24:26 -08:00
Russell King
3ae5eaec1d [DRIVER MODEL] Convert platform drivers to use struct platform_driver
This allows us to eliminate the casts in the drivers, and eventually
remove the use of the device_driver function pointer methods for
platform device drivers.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-11-09 22:32:44 +00:00
Dmitry Torokhov
08de1f0461 [PATCH] Input: fix 'uniq' reporting in hotplug handler
Input: fix 'uniq' reporting in hotplug handler

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-11-09 07:55:50 -08:00
Linus Torvalds
407cf84f95 Merge master.kernel.org:/pub/scm/linux/kernel/git/dtor/input 2005-11-07 10:30:33 -08:00
Jesper Juhl
6044ec8882 [PATCH] kfree cleanup: misc remaining drivers
This is the remaining misc drivers/ part of the big kfree cleanup patch.

Remove pointless checks for NULL prior to calling kfree() in misc files in
drivers/.

Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Acked-by: Aristeu Sergio Rozanski Filho <aris@cathedrallabs.org>
Acked-by: Roland Dreier <rolandd@cisco.com>
Acked-by: Pierre Ossman <drzeus@drzeus.cx>
Acked-by: Jean Delvare <khali@linux-fr.org>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Acked-by: Len Brown <len.brown@intel.com>
Acked-by: "Antonino A. Daplas" <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-11-07 07:54:05 -08:00
Jan-Benedict Glaw
0aeafa7755 Input: lkkbd - miscellaneous fixes
* Hide debugging code into #ifdef, which allows to simplify
  the large switch statement
* Update macros to not reference variables not given as
  arguments

Signed-off-by: Jan-Benedict Glaw <jbglaw@lug-owl.de>

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-11-02 22:53:11 -05:00
Mirco Macrelli
14a48b4444 Input: logips2pp - add support for MX3100
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-11-02 22:52:45 -05:00
Pavel Machek
d7a767dddc Input: locomokbd - fix wrong bustype
Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-11-02 22:52:33 -05:00
Dmitry Torokhov
47610602c2 Input: fix input device deregistration
Remove main attribute group (name, phys, uniq) when unregistering
input devices.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-11-02 22:52:16 -05:00
Dmitry Torokhov
5f94548982 Input: do not register statically allocated devices
Do not register statically allocated input devices to prevent
OOPS when attaching input interfaces since it requires class
device to be properly initialized.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-11-02 22:51:46 -05:00
Dmitry Torokhov
438c9da514 Input: locomokbd - convert to dynamic input allocation
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-11-02 22:49:53 -05:00
Arthur Othieno
f2c84c0e84 [PATCH] i386: CONFIG_PC removal
CONFIG_PC is left-over cruft after the introduction of CONFIG_X86_PC with
the subarch split.  Remove it, and fixup the remaining users to depend on
CONFIG_X86_PC instead.

Signed-off-by: Arthur Othieno <a.othieno@bluewin.ch>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-31 09:20:54 -08:00
Linus Torvalds
4fd5f8267d Merge master.kernel.org:/home/rmk/linux-2.6-drvmodel
Manual #include fixups for clashes - there may be some unnecessary
2005-10-31 07:32:56 -08:00
Dmitry Torokhov
76440d5e13 Input: lkkbd - fix debug message in lkkbd_interrupt()
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-10-31 01:30:19 -05:00
Dmitry Torokhov
1259f2b365 Input: pcspkr - fix setting name and phys for the device
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-10-31 01:30:05 -05:00
Dmitry Torokhov
995fc4df0b Input: fix input_dev registration message
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-10-31 01:29:51 -05:00
Dmitry Torokhov
7972720aaa Input: evdev - allow querying SW state from compat ioctl
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-10-31 01:29:37 -05:00
Dmitry Torokhov
e0be618d1e Input: evdev - allow querying EV_SW bits from compat_ioctl
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-10-31 01:29:23 -05:00
Tim Schmielau
4e57b68178 [PATCH] fix missing includes
I recently picked up my older work to remove unnecessary #includes of
sched.h, starting from a patch by Dave Jones to not include sched.h
from module.h. This reduces the number of indirect includes of sched.h
by ~300. Another ~400 pointless direct includes can be removed after
this disentangling (patch to follow later).
However, quite a few indirect includes need to be fixed up for this.

In order to feed the patches through -mm with as little disturbance as
possible, I've split out the fixes I accumulated up to now (complete for
i386 and x86_64, more archs to follow later) and post them before the real
patch.  This way this large part of the patch is kept simple with only
adding #includes, and all hunks are independent of each other.  So if any
hunk rejects or gets in the way of other patches, just drop it.  My scripts
will pick it up again in the next round.

Signed-off-by: Tim Schmielau <tim@physik3.uni-rostock.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-30 17:37:32 -08:00
Brian Gerst
0d078f6f96 [PATCH] CONFIG_IA32
Add CONFIG_X86_32 for i386.  This allows selecting options that only apply
to 32-bit systems.

(X86 && !X86_64) becomes X86_32
(X86 ||  X86_64) becomes X86

Signed-off-by: Brian Gerst <bgerst@didntduck.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-30 17:37:10 -08:00
Russell King
d052d1beff Create platform_device.h to contain all the platform device details.
Convert everyone who uses platform_bus_type to include
linux/platform_device.h.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-29 19:07:23 +01:00
Al Viro
32b32c2c35 [PATCH] amikbd fix
it's input_allocate_device(), not input_dev_allocate()...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-29 10:35:07 -07:00
Al Viro
9d86b7d370 [PATCH] missing bits in sparkspkr conversion
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-29 10:35:07 -07:00
Linus Torvalds
84860bf064 Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6 2005-10-28 13:09:47 -07:00
Russell King
9480e307cd [PATCH] DRIVER MODEL: Get rid of the obsolete tri-level suspend/resume callbacks
In PM v1, all devices were called at SUSPEND_DISABLE level.  Then
all devices were called at SUSPEND_SAVE_STATE level, and finally
SUSPEND_POWER_DOWN level.  However, with PM v2, to maintain
compatibility for platform devices, I arranged for the PM v2
suspend/resume callbacks to call the old PM v1 suspend/resume
callbacks three times with each level in order so that existing
drivers continued to work.

Since this is obsolete infrastructure which is no longer necessary,
we can remove it.  Here's an (untested) patch to do exactly that.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 09:52:56 -07:00
Dmitry Torokhov
a7fadbe10c [PATCH] input core: remove custom-made hotplug handler
Input: remove custom-made hotplug handler

Now that all input devices are registered with sysfs we can remove
old custom-made hotplug handler and crate a standard one.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 09:52:55 -07:00
Greg Kroah-Hartman
c9bcd582df [PATCH] INPUT: Create symlinks for backwards compatibility
This creates symlinks in /sys/class/input/ to the nested class devices
to help userspace cope with the nesting.

Unfortunatly udev still needs to be updated as it can't handle symlinks
properly here :(

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 09:52:55 -07:00
Greg Kroah-Hartman
ea9f240bd8 [PATCH] INPUT: rename input_dev_class to input_class to be correct.
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 09:52:55 -07:00
Greg Kroah-Hartman
b0fdfebb20 [PATCH] INPUT: remove the input_class structure, as it is unused.
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 09:52:55 -07:00
Greg Kroah-Hartman
629b77a42c [PATCH] INPUT: Fix oops when accessing sysfs files of nested input devices
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 09:52:54 -07:00
Greg Kroah-Hartman
967ca69216 [PATCH] INPUT: move the input class devices under their new input_dev devices
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 09:52:54 -07:00
Greg Kroah-Hartman
23d5090161 [PATCH] INPUT: export input_dev_class so that input drivers can use it.
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 09:52:54 -07:00
Greg Kroah-Hartman
102040204f [PATCH] INPUT: register the input class device sooner
This is needed so we can actually use the class device within the input
handlers.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 09:52:54 -07:00
Dmitry Torokhov
5c1e9a6a6a [PATCH] Input: export input_dev data via sysfs attributes
Input: export various input device attributes via sysfs

The following structure is exported:

  input0/
	|-- name
	|-- phys
	|-- uniq
	|-- id/{bustype|vendor|product|version}
	`-- capabilities/{ev|abs|rel|key|led|msc|ff|sw}

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 09:52:54 -07:00
Dmitry Torokhov
051b2feaa4 [PATCH] Input: show sysfs path in /proc/bus/input/devices
Input: show sysfs path in /proc/bus/input/devices

Show that sysfs and phys path are different objects.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 09:52:54 -07:00
Dmitry Torokhov
17dd3f0f7a [PATCH] drivers/input/joystick: convert to dynamic input_dev allocation
Input: convert drivers/input/joystick to dynamic input_dev allocation

This is required for input_dev sysfs integration

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 09:52:53 -07:00
Dmitry Torokhov
76b7cddfd5 [PATCH] Input: convert driver/input/misc to dynamic input_dev allocation
Input: convert driver/input/misc to dynamic input_dev allocation

This is required for input_dev sysfs integration

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 09:52:53 -07:00
Dmitry Torokhov
eca1ed196c [PATCH] drivers/input/touchscreen: convert to dynamic input_dev allocation
Input: convert drivers/input/touchscreen to dynamic input_dev allocation

This is required for input_dev sysfs integration

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 09:52:53 -07:00