Commit Graph

101 Commits

Author SHA1 Message Date
Dmitry Torokhov
0854e52d86 Input: i8042 - clean up initialization code; abort if we
can't create all ports.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-09-04 01:41:27 -05:00
Ian Campbell
4cee99564d Input: fix checking whether new keycode fits size-wise
When dev->keycodesize == sizeof(int) the old code produces
incorrect result.

Signed-off-by: Ian Campbell <ijc@hellion.org.uk>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-09-04 01:41:14 -05:00
Vojtech Pavlik
d2b5ffca73 Input: psmouse - add new Logitech wheel mouse model
Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-09-04 01:40:55 -05:00
Vojtech Pavlik
e6c047b98b Input: ALPS - fix wheel decoding
Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-09-04 01:40:43 -05:00
Dmitry Torokhov
cfe9e88866 Input: rework psmouse attributes to reduce module size
Rearrange attribute code to use generic show and set handlers
instead of replicating them for every attribute; switch to
using attribute_group instead of creating all attributes
manually. All this saves about 4K.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-09-04 01:40:20 -05:00
Dmitry Torokhov
15c42e5a1f Merge HEAD from rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git 2005-09-04 01:35:56 -05:00
Alexander Nyberg
22d0def9d0 [PATCH] ns558 list handling fix
Need to use list_for_entry_safe(), as we're removing items during the
traversal.  list_for_each_entry() uses the first ptr also as an iterator, if
you kfree() it slab takes it, might poison it and then you try to use it to
iterate to the next object in list.

Cc: Vojtech Pavlik <vojtech@suse.cz>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-08-10 11:03:02 -07:00
Stephen Evanchik
541e316aed Input: psmouse - add support for IBM TrackPoint devices.
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-08-08 01:26:18 -05:00
Linus Torvalds
e0d7ff168a Merge master.kernel.org:/pub/scm/linux/kernel/git/dtor/input 2005-07-29 09:48:34 -07:00
Sergey Vlasov
33fdfa97f2 Input: synaptics - fix setting packet size on passthrough port.
Synaptics driver used child->type to select either 3-byte or 4-byte
packet size for the pass-through port; this gives wrong results for
the newer protocols. Change the check to use child->pktsize instead.

Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-07-24 00:53:32 -05:00
Vojtech Pavlik
5ac7ba3ff5 Input: check keycodesize when adjusting keymaps
When changing key mappings we need to make sure that the new
keycode value can be stored in dev->keycodesize bytes.

Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-07-24 00:50:03 -05:00
Dmitry Torokhov
463a4f76a7 Input: i8042 - don't use negation to mark AUX data
Currently i8042_command() negates data coming from the AUX port
of keyboard controller; this is not a very reliable indicator.
Change i8042_command() to fail if response to I8042_CMD_AUX_LOOP
is not coming from AUX channel and get rid of negation.

Based on patch by Vojtech Pavlik.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-07-15 01:51:56 -05:00
Vojtech Pavlik
7b4019d048 Input: psmouse - wheel mice (imps, exps) always have 3rd button
There are wheel mice that respond to Logitech probes and report
that they have only 2 buttons (such as e-Aser mouse) and this
stops the wheel from being used as a middle button. Change the
driver to always report BTN_MIDDLE capability if a wheel is
present.

Also, never reset BTN_RIGHT capability in logips2pp code - there
are no Logitech mice that have only one button and if some other
mice happen to respond to Logitech's query we could do the wrong
thing.

Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-07-15 01:50:08 -05:00
Geert Uytterhoeven
a61caa8523 [PATCH] Amiga joystick: Fix typo introduced by the open/close race fixes
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-13 11:44:27 -07:00
Michael Prokop
153ab429ca Input: elo - fix help in Kconfig (wrong module name)
Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-07-11 01:09:10 -05:00
Tobias Klauser
6f5eacfc1e Input: joydev - remove custom conversion from jiffies to msecs
Replace the MSECS() macro with the jiffies_to_msecs() function provided
in jiffies.h

Signed-off-by: Tobias Klauser <tklauser@nuerscht.ch>
Signed-off-by: Domen Puncer <domen@coderock.org>
Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-07-11 01:08:56 -05:00
Peter Osterlund
963f626d46 Input: ALPS - unconditionally enable tapping mode
The condition in alps_init() was also inverted and the driver
was enabling tapping mode only if it was already enabled.

Signed-off-by: Peter Osterlund <petero2@telia.com>
Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-07-11 01:08:04 -05:00
David Moore
b30dc120a7 Input: ALPS - fix resume (for DualPoints)
The driver would not reset pass-through mode when performing
resume of a DualPoint touchpad causing it to stop working
until next reboot.

Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-07-11 01:07:48 -05:00
Simon Horman
9ba5eaafa1 Input: synaptics - limit rate to 40pps on Toshiba Dynabooks
Toshiba Dynabooks require the same workaround as Satellites -
Synaptics report rate should be lowered to 40pps (from 80),
otherwise KBC starts losing keypresses.

Signed-off-by: Simon Horman <horms@valinux.co.jp>
Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-07-11 01:07:20 -05:00
Vojtech Pavlik
20f07944af Input: i8042 - add Fujitsu T3010 to NOMUX blacklist.
Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-07-11 01:06:28 -05:00
Dmitry Torokhov
865190cdbb Input: i8042 - add Alienware Sentia to NOMUX blacklist.
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-07-11 01:06:06 -05:00
Neil Brown
bef5a66fd7 Input: serio_raw - fix Kconfig help
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-07-11 01:05:47 -05:00
Dmitry Torokhov
dc1e97b5ea Input: serio_raw - link serio_raw misc device to corresponding
serio port in sysfs.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-07-11 01:02:16 -05:00
Dmitry Torokhov
e0d21d9cca Merge rsync://www.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2005-07-11 00:58:04 -05:00
Andrew Morton
beffbdc221 Input: cannot refer to __exit from within __init.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-07-01 23:54:30 -05:00
Ingo Molnar
306e440daf [PATCH] x86: i8253/i8259A lock cleanup
Introduce proper declarations for i8253_lock and i8259A_lock.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-30 08:45:10 -07:00
Dmitry Torokhov
5b6271bda4 Input: make name, phys and uniq be 'const char *' because once
set noone should attempt to change them.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-06-30 00:50:38 -05:00
Dmitry Torokhov
f96b434d3b Input: rearrange procfs code to reduce number of #ifdefs
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-06-30 00:50:29 -05:00
Dmitry Torokhov
ae87dff7ca Input: serio - add modalias attribute and environment variable to
simplify hotplug scripts.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-06-30 00:48:34 -05:00
Dmitry Torokhov
0048e6030d Input: uinput - use completions instead of events and manual
wakeups in force feedback code.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-06-30 00:48:14 -05:00
Dmitry Torokhov
152c12f568 Input: clean up uinput driver (formatting, extra braces)
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-06-30 00:47:50 -05:00
Linus Torvalds
3c803e8e2f Commit the manual part of the input layer merge.
git did actually warn me about the fact that I hadn't actually done an
"update-cache" on these two files, but the warning was at the bottom of
a list of all the files that _did_ change in the merge, so I never
noticed.  My bad.
2005-06-27 17:49:45 -07:00
Linus Torvalds
3e0777b8fa Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/dtor/input.git manually
Some manual fixups required due to clashes with the PF_FREEZE cleanups.
2005-06-27 14:47:31 -07:00
Linus Torvalds
2031d0f586 Merge Christoph's freeze cleanup patch 2005-06-25 17:16:53 -07:00
Christoph Lameter
3e1d1d28d9 [PATCH] Cleanup patch for process freezing
1. Establish a simple API for process freezing defined in linux/include/sched.h:

   frozen(process)		Check for frozen process
   freezing(process)		Check if a process is being frozen
   freeze(process)		Tell a process to freeze (go to refrigerator)
   thaw_process(process)	Restart process
   frozen_process(process)	Process is frozen now

2. Remove all references to PF_FREEZE and PF_FROZEN from all
   kernel sources except sched.h

3. Fix numerous locations where try_to_freeze is manually done by a driver

4. Remove the argument that is no longer necessary from two function calls.

5. Some whitespace cleanup

6. Clear potential race in refrigerator (provides an open window of PF_FREEZE
   cleared before setting PF_FROZEN, recalc_sigpending does not check
   PF_FROZEN).

This patch does not address the problem of freeze_processes() violating the rule
that a task may only modify its own flags by setting PF_FREEZE. This is not clean
in an SMP environment. freeze(process) is therefore not SMP safe!

Signed-off-by: Christoph Lameter <christoph@lameter.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-25 17:10:13 -07:00
Paul E. McKenney
b2b1866006 [PATCH] RCU: clean up a few remaining synchronize_kernel() calls
2.6.12-rc6-mm1 has a few remaining synchronize_kernel()s, some (but not
all) in comments.  This patch changes these synchronize_kernel() calls (and
comments) to synchronize_rcu() or synchronize_sched() as follows:

- arch/x86_64/kernel/mce.c mce_read(): change to synchronize_sched() to
  handle races with machine-check exceptions (synchronize_rcu() would not cut
  it given RCU implementations intended for hardcore realtime use.

- drivers/input/serio/i8042.c i8042_stop(): change to synchronize_sched() to
  handle races with i8042_interrupt() interrupt handler.  Again,
  synchronize_rcu() would not cut it given RCU implementations intended for
  hardcore realtime use.

- include/*/kdebug.h comments: change to synchronize_sched() to handle races
  with NMIs.  As before, synchronize_rcu() would not cut it...

- include/linux/list.h comment: change to synchronize_rcu(), since this
  comment is for list_del_rcu().

- security/keys/key.c unregister_key_type(): change to synchronize_rcu(),
  since this is interacting with RCU read side.

- security/keys/process_keys.c install_session_keyring(): change to
  synchronize_rcu(), since this is interacting with RCU read side.

Signed-off-by: "Paul E. McKenney" <paulmck@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-25 16:24:38 -07:00
Alexey Dobriyan
64ccd715d3 [PATCH] Convert users to tty_unregister_ldisc()
tty_register_ldisc(N_FOO, NULL) => tty_unregister_ldisc(N_FOO)

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-23 09:45:36 -07:00
Ingo Molnar
39c715b717 [PATCH] smp_processor_id() cleanup
This patch implements a number of smp_processor_id() cleanup ideas that
Arjan van de Ven and I came up with.

The previous __smp_processor_id/_smp_processor_id/smp_processor_id API
spaghetti was hard to follow both on the implementational and on the
usage side.

Some of the complexity arose from picking wrong names, some of the
complexity comes from the fact that not all architectures defined
__smp_processor_id.

In the new code, there are two externally visible symbols:

 - smp_processor_id(): debug variant.

 - raw_smp_processor_id(): nondebug variant. Replaces all existing
   uses of _smp_processor_id() and __smp_processor_id(). Defined
   by every SMP architecture in include/asm-*/smp.h.

There is one new internal symbol, dependent on DEBUG_PREEMPT:

 - debug_smp_processor_id(): internal debug variant, mapped to
                             smp_processor_id().

Also, i moved debug_smp_processor_id() from lib/kernel_lock.c into a new
lib/smp_processor_id.c file.  All related comments got updated and/or
clarified.

I have build/boot tested the following 8 .config combinations on x86:

 {SMP,UP} x {PREEMPT,!PREEMPT} x {DEBUG_PREEMPT,!DEBUG_PREEMPT}

I have also build/boot tested x64 on UP/PREEMPT/DEBUG_PREEMPT.  (Other
architectures are untested, but should work just fine.)

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Arjan van de Ven <arjan@infradead.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-21 18:46:13 -07:00
Yani Ioannou
e404e274f6 [PATCH] Driver Core: drivers/i2c/chips/w83781d.c - drivers/s390/block/dcssblk.c: update device attribute callbacks
Signed-off-by: Yani Ioannou <yani.ioannou@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-06-20 15:15:34 -07:00
gregkh@suse.de
1235686f6e [PATCH] INPUT: move to use the new class code, instead of class_simple
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-06-20 15:15:04 -07:00
Dmitry Torokhov
e41fb09b2f [PATCH] ALPS: fix enabling hardware tapping
It looks like logic for enabling hardware tapping in ALPS driver was
inverted and we enable it only if it was already enabled by BIOS or
firmware.

I have a confirmation from one user that the patch below fixes the problem
for him and it might be beneficial if we could get it into 2.6.12.

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-06-16 09:02:59 -07:00
Vojtech Pavlik
a86d1f4301 [PATCH] input: disable scroll feature on AT keyboards
This patch disables the scroll feature on AT keyboards by default, because
it causes the numbers of mouse devices to shift, breaking user setups.

Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-07 13:39:26 -07:00
Dmitry Torokhov
dbf4ccd604 Input: psmouse - export protocol as a sysfs per-device attribute
to allow easy switching at run-time.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-06-01 02:40:01 -05:00
Dmitry Torokhov
905ab9d136 Input: cleanup ps2_command() timeout handling in libps2.
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-06-01 02:39:53 -05:00
Dmitry Torokhov
c611763d04 Input: add ps2_drain() to libps2 to allow reading and discarding
given number of bytes from device. Change ps2_command to
       allow using 0 as command ID and actually pass it to the
       device instead of working as a drain.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-06-01 02:39:51 -05:00
Dmitry Torokhov
04df1925fc Input: pmouse - introduce proper locking so state-changing
operations do not iterfere with each other.
       Also make sure that serio core takes serio->drv_sem
       not only for connect/disconnect but for reconnect
       too.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-06-01 02:39:44 -05:00
Dmitry Torokhov
8121152c17 Input: mousedev - do not wake up readers when receiving 0-motion
event.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-06-01 02:39:36 -05:00
Luke Kosewski
e334016fc1 Input: do not corrupt system-wide procfs fops.
entry->proc_fops is a pointer to struct file_operations. When we
call create_proc_entry(...), it pointis to proc_file_operations,
deep in fs/proc/generic.c. By adding a 'poll' member to this struct
we effectively force the 'poll' member on every file in /proc,
which is wrong (they all fail select(...) calls).

This patch changes a copy of entry->proc_fops and reassigns it rather
than changing the original member.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-06-01 02:39:28 -05:00
Ian Campbell
b6cbf3ef4f Input: return correct value when setting up absolute device via uinipt.
uinput_alloc_device() is supposed to return the number of bytes read,
the value is returned to uinput_write() and from there to userspace. If
EV_ABS is set then it returns the value from uinput_validate_absbits()
instead, which is zero when everything is ok instead of the count.

Signed-off-by: Ian Campbell <icampbell@arcom.com>
Acked-by: Aristeu Rozanski <aris@cathedrallabs.org>
Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-06-01 02:39:25 -05:00
Ivan Casado Ruiz
c30b4c10d9 Input: ALPS - fix forward/back buttons on Ahtec laptop.
I have an Ahtec laptop with a ALPS GlidePoint device, with 4 buttons.
With Linux hernel 2.6.12rc4 and rc5 I'm unable to use the vertical
scroll buttons (BACK and FORWARD).

BACK gets detected as BTN_MIDDLE and FORWARD is undetected.

I've modified the drivers/input/mouse/alps.c from 2.6.12rc5 and now it
works fine!

Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-06-01 02:39:18 -05:00