linux/drivers/staging
Alan Cox 079c9534a9 vt:tackle kbd_table
Keyboard struct lifetime is easy, but the locking is not and is completely
ignored by the existing code. Tackle this one head on

- Make the kbd_table private so we can run down all direct users
- Hoick the relevant ioctl handlers into the keyboard layer
- Lock them with the keyboard lock so they don't change mid keypress
- Add helpers for things like console stop/start so we isolate the poking
  around properly
- Tweak the braille console so it still builds

There are a couple of FIXME locking cases left for ioctls that are so hideous
they should be addressed in a later patch. After this patch the kbd_table is
private and all the keyboard jiggery pokery is in one place.

This update fixes speakup and also a memory leak in the original.

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-03-08 10:50:35 -08:00
..
android staging: android/ram_console: Don't build on arches w/o ioremap 2012-02-08 14:14:15 -08:00
asus_oled Staging: asus_oled: fix NULL-ptr crash on unloading 2012-02-08 14:14:13 -08:00
bcm Merge branch 'staging-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging 2012-01-09 12:18:17 -08:00
comedi module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
cptm1217
crystalhd staging: crystalhd: bc_dts_defs.h: Fix up coding style 2011-12-16 10:54:15 -08:00
cxt1e1 Merge branch 'staging-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging 2012-01-09 12:18:17 -08:00
echo
et131x staging: et131x: Revert changes from previous commit 2011-12-08 15:03:11 -08:00
frontier Merge branch 'staging-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging 2012-01-09 12:18:17 -08:00
ft1000 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-01-08 13:21:22 -08:00
hv Staging: hv: storvsc: Fix a bug in create_bounce_buffer() 2011-12-08 14:59:47 -08:00
iio Merge branch 'staging-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging 2012-01-09 12:18:17 -08:00
keucr Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-01-08 13:21:22 -08:00
line6 staging: line6: fixed ALSA/PCM interaction 2011-12-09 19:26:09 -08:00
media staging: fix go7007-usb license 2012-02-08 14:14:14 -08:00
mei staging/mei: add watchdog device registration wrappers 2011-12-22 13:46:16 -08:00
nvec staging: nvec: add device tree support 2011-11-26 17:17:14 -08:00
octeon MIPS: Octeon: Move some Ethernet support files out of staging. 2011-12-07 22:03:28 +00:00
olpc_dcon Staging: olpc_dcon.c: obsolete use of strict_stroul 2011-12-08 15:01:49 -08:00
omapdrm staging: drm/omap: fix locking issue 2012-02-08 14:14:12 -08:00
panel
phison staging/phison: Convert pci_table entries to PCI_DEVICE (if PCI_ANY_ID is used) 2011-11-28 04:24:32 +09:00
quatech_usb2 module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
quickstart
rtl8187se
rtl8192e staging/rtl8192e: Register against lib80211 2011-12-22 13:48:59 -08:00
rtl8192u
rtl8712 staging: r8712u: Use asynchronous firmware loading 2012-02-08 14:14:15 -08:00
rts5139 Merge branch 'staging-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging 2012-01-09 12:18:17 -08:00
rts_pstor Merge branch 'master' into pm-sleep 2011-12-21 21:59:45 +01:00
sbe-2t3e3
sep Merge branch 'staging-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging 2012-01-09 12:18:17 -08:00
serial
serqt_usb2 module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
slicoss
sm7xx staging/sm7xx: Convert pci_table entries to PCI_DEVICE (if PCI_ANY_ID is used) 2011-11-28 04:24:32 +09:00
speakup vt:tackle kbd_table 2012-03-08 10:50:35 -08:00
ste_rmi4
tidspbridge staging: tidspbridge: fix incorrect free to drv_datap 2012-02-08 14:14:14 -08:00
usbip staging: usbip: fix to prevent potentially using uninitialized spinlock 2012-02-08 14:14:15 -08:00
vme module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
vt6655 staging: vt6655: integer overflows in private_ioctl() 2011-11-30 19:29:40 +09:00
vt6656 Merge branch 'staging-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging 2012-01-09 12:18:17 -08:00
winbond
wlags49_h2 Merge branch 'staging-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging 2012-01-09 12:18:17 -08:00
wlags49_h25
wlan-ng
xgifb staging: xgifb: enable forcecrt2type as a module parameter 2011-12-08 12:26:09 -08:00
zcache staging: zcache: fix serialization bug in zv stats 2012-02-08 14:14:14 -08:00
zram Staging: zram: Add a missing GFP_KERNEL specifier in zram_init_device() 2011-12-08 14:59:48 -08:00
Kconfig staging: pohmelfs: remove drivers/staging/pohmelfs 2012-02-08 16:19:06 -08:00
Makefile staging: pohmelfs: remove drivers/staging/pohmelfs 2012-02-08 16:19:06 -08:00
staging.c