aboutsummaryrefslogtreecommitdiff
path: root/drivers/input/evdev.c
AgeCommit message (Collapse)AuthorFilesLines
2008-04-01Input: make sure input interfaces pin parent input devicesDmitry Torokhov1-4/+2
Recent driver core change causes references to parent devices being dropped early, at device_del() time, as opposed to when all children are freed. This causes oops in evdev with grabbed devices. Take the reference to the parent input device ourselves to ensure that it stays around long enough. Signed-off-by: Dmitry Torokhov <[email protected]>
2008-03-30evdev: Release eventual input device grabs when getting disconnectedBjörn Steinbrink1-0/+3
When getting disconnected we need to release eventual grabs on the underlying input device as we also release the input device itself. Otherwise, we would try to release the grab when the client that requested it closes its handle, accessing the input device which might already be freed. Signed-off-by: Björn Steinbrink <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2008-01-21Input: Add proper locking when changing device's keymapDmitry Torokhov1-3/+3
Take dev->event_lock to make sure that we don't race with input_event() and also force key up event when removing a key from keymap table. Signed-off-by: Dmitry Torokhov <[email protected]>
2007-10-19get rid of input BIT* duplicate definesJiri Slaby1-6/+6
get rid of input BIT* duplicate defines use newly global defined macros for input layer. Also remove includes of input.h from non-input sources only for BIT macro definiton. Define the macro temporarily in local manner, all those local definitons will be removed further in this patchset (to not break bisecting). BIT macro will be globally defined (1<<x) Signed-off-by: Jiri Slaby <[email protected]> Cc: <[email protected]> Acked-by: Jiri Kosina <[email protected]> Cc: <[email protected]> Acked-by: Marcel Holtmann <[email protected]> Cc: <[email protected]> Acked-by: Mauro Carvalho Chehab <[email protected]> Cc: <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2007-10-13Input: use full RCU APIDmitry Torokhov1-13/+9
RT guys alerted me to the fact that in their tree spinlocks are preemptible and it is better to use full RCU API (rcu_read_lock()/rcu_read_unlock()) to be safe. Signed-off-by: Dmitry Torokhov <[email protected]>
2007-10-12Merge master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6Dmitry Torokhov1-1/+1
Conflicts: drivers/macintosh/adbhid.c
2007-10-12Input: fix open count handling in input interfacesOliver Neukum1-1/+4
If input_open_device() fails we should not leave interfaces marked as opened. Signed-off-by: Oliver Neukum <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2007-08-30Input: evdev - implement proper lockingDmitry Torokhov1-240/+473
Signed-off-by: Dmitry Torokhov <[email protected]>
2007-07-31[MIPS] Fixup secure computing stuff.Ralf Baechle1-1/+1
Signed-off-by: Ralf Baechle <[email protected]>
2007-07-10Input: convert from class devices to standard devicesDmitry Torokhov1-42/+42
Signed-off-by: Dmitry Torokhov <[email protected]>
2007-06-04Merge branch 'for-linus' of ↵Linus Torvalds1-1/+1
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-03Input: reduce raciness when input handlers disconnectDmitry Torokhov1-1/+1
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 <[email protected]>
2007-05-11Input: evdev - fix overflow in compat_ioctlKenichi Nagai1-1/+1
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 <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2007-05-08Merge master.kernel.org:/pub/scm/linux/kernel/git/dtor/inputLinus Torvalds1-3/+3
* 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-08header cleaning: don't include smp_lock.h when not usedRandy Dunlap1-1/+0
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 <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2007-05-08Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6Dmitry Torokhov1-3/+3
2007-05-04Merge branch 'for-linus' of ↵Linus Torvalds1-101/+132
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 <[email protected]>
2007-05-03Input: evdev - fix some sparse warnings (signedness, shadowing)Dmitry Torokhov1-3/+3
Signed-off-by: Dmitry Torokhov <[email protected]>
2007-05-02remove "struct subsystem" as it is no longer neededGreg Kroah-Hartman1-2/+2
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 <[email protected]>
2007-04-12Input: handlers - handle errors from input_open_device()Dmitry Torokhov1-2/+9
Signed-off-by: Dmitry Torokhov <[email protected]>
2007-04-12Input: handlers - rename 'list' to 'client'Dmitry Torokhov1-70/+80
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 <[email protected]>
2007-04-12Input: rework handle creation codeDmitry Torokhov1-11/+36
- 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 <[email protected]>
2007-03-14Input: add getkeycode and setkeycode methodsMarvin Raaijmakers1-20/+9
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 <[email protected]>
2006-09-14Input: make input_register_handler() return error codesDmitry Torokhov1-2/+1
Signed-off-by: Dmitry Torokhov <[email protected]>
2006-09-14Input: constify input coreDmitry Torokhov1-3/+4
Signed-off-by: Dmitry Torokhov <[email protected]>
2006-07-19Input: implement new force feedback interfaceAnssi Hannula1-17/+15
Implement a new force feedback interface, in which all non-driver-specific operations are separated to a common module. This includes handling effect type validations, locking, etc. The effects are now file descriptor specific instead of the previous strange half-process half-fd specific behaviour. The effect memory of devices is not emptied if the root user opens and closes the device while another user is using effects. This is a minor change and most likely no force feedback aware programs are affected by this negatively. Otherwise the userspace interface is left unaltered. Signed-off-by: Anssi Hannula <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2006-07-06Input: introduce input_inject_event() functionDmitry Torokhov1-3/+3
Create input_inject_event() function which is to be used by input handlers as opposed to input_event() which is reserved for drivers implementing input devices. The difference is that if device is "grabbed" by some process input_inject_event() will ignore events unless sent from the handle that is currently owns the device. Signed-off-by: Dmitry Torokhov <[email protected]>
2006-07-06Input: remove accept method from input_devDmitry Torokhov1-4/+0
This method used to enforce exclusive access to iforce devices, but presenlty there are no known users of this method. Signed-off-by: Dmitry Torokhov <[email protected]>
2006-06-26Input: fix formatting to better follow CodingStyleDmitry Torokhov1-2/+8
Signed-off-by: Dmitry Torokhov <[email protected]>
2006-06-23[PATCH] vfs: add lock owner argument to flush operationMiklos Szeredi1-1/+1
Pass the POSIX lock owner ID to the flush operation. This is useful for filesystems which don't want to store any locking state in inode->i_flock but want to handle locking/unlocking POSIX locks internally. FUSE is one such filesystem but I think it possible that some network filesystems would need this also. Also add a flag to indicate that a POSIX locking request was generated by close(), so filesystems using the above feature won't send an extra locking request in this case. Signed-off-by: Miklos Szeredi <[email protected]> Cc: Trond Myklebust <[email protected]> Cc: Al Viro <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-04-29Input: ressurect EVIOCGREP and EVIOCSREPDmitry Torokhov1-0/+21
While writing to an event device allows to set repeat rate for an individual input device there is no way to retrieve current settings so we need to ressurect EVIOCGREP. Also ressurect EVIOCSREP so we have a symmetrical interface. Signed-off-by: Dmitry Torokhov <[email protected]>
2006-03-14Input: use kzalloc() throughout the codeEric Sesterhenn1-4/+2
Signed-off-by: Eric Sesterhenn <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2006-01-12[PATCH] ia64: task_pt_regs()Al Viro1-1/+1
Signed-off-by: Al Viro <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-01-11[PATCH] x86_64: Implement is_compat_task the right wayAndi Kleen1-1/+3
By setting a flag during a 32bit system call only Signed-off-by: Andi Kleen <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-01-07Merge git://git.kernel.org/pub/scm/linux/kernel/git/dtor/inputLinus Torvalds1-280/+213
2006-01-06[PATCH] s390: cleanup KconfigMartin Schwidefsky1-1/+1
Sanitize some s390 Kconfig options. We have ARCH_S390, ARCH_S390X, ARCH_S390_31, 64BIT, S390_SUPPORT and COMPAT. Replace these 6 options by S390, 64BIT and COMPAT. Signed-off-by: Martin Schwidefsky <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2005-12-11Input: evdev - consolidate compat and regular codeDmitry Torokhov1-280/+213
Compat and normal code mirror each other and are hard to maintain. When EV_SW was added compat_ioctl case was missed. Here is my attempt at consolidating the code. Signed-off-by: Dmitry Torokhov <[email protected]>
2005-10-31Input: evdev - allow querying SW state from compat ioctlDmitry Torokhov1-0/+3
Signed-off-by: Dmitry Torokhov <[email protected]>
2005-10-31Input: evdev - allow querying EV_SW bits from compat_ioctlDmitry Torokhov1-0/+1
Signed-off-by: Dmitry Torokhov <[email protected]>
2005-10-28[PATCH] INPUT: Create symlinks for backwards compatibilityGreg Kroah-Hartman1-2/+8
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 <[email protected]>
2005-10-28[PATCH] INPUT: rename input_dev_class to input_class to be correct.Greg Kroah-Hartman1-2/+2
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2005-10-28[PATCH] INPUT: move the input class devices under their new input_dev devicesGreg Kroah-Hartman1-3/+3
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2005-10-28[PATCH] Input: kill devfs referencesDmitry Torokhov1-4/+0
Input: remove references to devfs from input subsystem Signed-off-by: Dmitry Torokhov <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2005-10-28[PATCH] Driver Core: fix up all callers of class_device_create()Greg Kroah-Hartman1-1/+1
The previous patch adding the ability to nest struct class_device changed the paramaters to the call class_device_create(). This patch fixes up all in-kernel users of the function. Signed-off-by: Greg Kroah-Hartman <[email protected]>
2005-09-09Manual merge with LinusDmitry Torokhov1-1/+11
2005-09-09[PATCH] trivial __user annotations (evdev)[email protected]1-1/+1
Signed-off-by: Al Viro <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2005-09-07[PATCH] Input: Add a new switch event typeRichard Purdie1-0/+8
The corgi keyboard has need of a switch event type with slightly type to the input system as recommended by the input maintainer. Signed-off-by: Richard Purdie <[email protected]> Cc: Vojtech Pavlik <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2005-09-05[PATCH] mips: kludge envdev to build for 64-bit MIPS with 32-bit compatRalf Baechle1-0/+2
Extend the compat mode kludgeology in envdev to cover MIPS as well. Or why we should need something like is_compat_task() ... Signed-off-by: Ralf Baechle <[email protected]> Cc: Vojtech Pavlik <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2005-09-04Input: fix checking whether new keycode fits size-wiseIan Campbell1-1/+1
When dev->keycodesize == sizeof(int) the old code produces incorrect result. Signed-off-by: Ian Campbell <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2005-07-24Input: check keycodesize when adjusting keymapsVojtech Pavlik1-0/+1
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 <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>