فهرست منبع

braille_console: only register notifiers when the braille console is used

Only register the braille driver VT and keyboard notifiers when the
braille console is used.  Avoids eating insert or backspace keys.

Addresses http://bugzilla.kernel.org/show_bug.cgi?id=11242

Signed-off-by: Pascal Terjan <pterjan@mandriva.com>
Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Pascal Terjan 16 سال پیش
والد
کامیت
c0c9209ddd
1فایلهای تغییر یافته به همراه4 افزوده شده و 9 حذف شده
  1. 4 9
      drivers/accessibility/braille/braille_console.c

+ 4 - 9
drivers/accessibility/braille/braille_console.c

@@ -376,6 +376,8 @@ int braille_register_console(struct console *console, int index,
 	console->flags |= CON_ENABLED;
 	console->flags |= CON_ENABLED;
 	console->index = index;
 	console->index = index;
 	braille_co = console;
 	braille_co = console;
+	register_keyboard_notifier(&keyboard_notifier_block);
+	register_vt_notifier(&vt_notifier_block);
 	return 0;
 	return 0;
 }
 }
 
 
@@ -383,15 +385,8 @@ int braille_unregister_console(struct console *console)
 {
 {
 	if (braille_co != console)
 	if (braille_co != console)
 		return -EINVAL;
 		return -EINVAL;
+	unregister_keyboard_notifier(&keyboard_notifier_block);
+	unregister_vt_notifier(&vt_notifier_block);
 	braille_co = NULL;
 	braille_co = NULL;
 	return 0;
 	return 0;
 }
 }
-
-static int __init braille_init(void)
-{
-	register_keyboard_notifier(&keyboard_notifier_block);
-	register_vt_notifier(&vt_notifier_block);
-	return 0;
-}
-
-console_initcall(braille_init);