diff options
Diffstat (limited to 'drivers/input/keyboard/atkbd.c')
-rw-r--r-- | drivers/input/keyboard/atkbd.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/input/keyboard/atkbd.c b/drivers/input/keyboard/atkbd.c index 9d940dbb1515..f999dc60c3b8 100644 --- a/drivers/input/keyboard/atkbd.c +++ b/drivers/input/keyboard/atkbd.c | |||
@@ -887,6 +887,14 @@ static unsigned int atkbd_samsung_forced_release_keys[] = { | |||
887 | }; | 887 | }; |
888 | 888 | ||
889 | /* | 889 | /* |
890 | * The volume up and volume down special keys on a Fujitsu Amilo PA 1510 laptop | ||
891 | * do not generate release events so we have to do it ourselves. | ||
892 | */ | ||
893 | static unsigned int atkbd_amilo_pa1510_forced_release_keys[] = { | ||
894 | 0xb0, 0xae, -1U | ||
895 | }; | ||
896 | |||
897 | /* | ||
890 | * atkbd_set_keycode_table() initializes keyboard's keycode table | 898 | * atkbd_set_keycode_table() initializes keyboard's keycode table |
891 | * according to the selected scancode set | 899 | * according to the selected scancode set |
892 | */ | 900 | */ |
@@ -1525,6 +1533,15 @@ static struct dmi_system_id atkbd_dmi_quirk_table[] __initdata = { | |||
1525 | .callback = atkbd_setup_forced_release, | 1533 | .callback = atkbd_setup_forced_release, |
1526 | .driver_data = atkbd_samsung_forced_release_keys, | 1534 | .driver_data = atkbd_samsung_forced_release_keys, |
1527 | }, | 1535 | }, |
1536 | { | ||
1537 | .ident = "Fujitsu Amilo PA 1510", | ||
1538 | .matches = { | ||
1539 | DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"), | ||
1540 | DMI_MATCH(DMI_PRODUCT_NAME, "AMILO Pa 1510"), | ||
1541 | }, | ||
1542 | .callback = atkbd_setup_forced_release, | ||
1543 | .driver_data = atkbd_amilo_pa1510_forced_release_keys, | ||
1544 | }, | ||
1528 | { } | 1545 | { } |
1529 | }; | 1546 | }; |
1530 | 1547 | ||