From f969d69ba9f952e5bdd38278e25e26a3e4a61a70 Mon Sep 17 00:00:00 2001 From: Ralf Baechle Date: Sat, 29 Jan 2000 01:41:54 +0000 Subject: Merge with 2.3.27. --- drivers/char/keyboard.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'drivers/char/keyboard.c') diff --git a/drivers/char/keyboard.c b/drivers/char/keyboard.c index 5989fbff5..ea97ee151 100644 --- a/drivers/char/keyboard.c +++ b/drivers/char/keyboard.c @@ -32,7 +32,6 @@ #include #include #include -#include #include #include @@ -42,6 +41,7 @@ #include #include #include +#include #define SIZE(x) (sizeof(x)/sizeof((x)[0])) @@ -159,6 +159,9 @@ static int sysrq_pressed; int sysrq_enabled = 1; #endif +static struct acpi_dev_info acpi_kbd_info = {ACPI_SYS_DEV, ACPI_KBC_HID, NULL}; +static struct acpi_dev *acpi_kbd = NULL; + /* * Many other routines do put_queue, but I think either * they produce ASCII, or they produce some user-assigned @@ -201,6 +204,8 @@ void handle_scancode(unsigned char scancode, int down) char up_flag = down ? 0 : 0200; char raw_mode; + acpi_access(acpi_kbd); + do_poke_blanked_console = 1; mark_bh(CONSOLE_BH); add_keyboard_randomness(scancode | up_flag); @@ -939,5 +944,8 @@ int __init kbd_init(void) kbd_init_hw(); init_bh(KEYBOARD_BH, kbd_bh); mark_bh(KEYBOARD_BH); + + acpi_kbd = acpi_register(&acpi_kbd_info, 0); + return 0; } -- cgit v1.2.3