diff options
author | Herton Ronaldo Krzesinski <herton@mandriva.com.br> | 2009-10-16 19:13:59 -0400 |
---|---|---|
committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2009-10-18 03:04:37 -0400 |
commit | 000c2a35b8b0485f5a872c24c4f2d0d6579951c1 (patch) | |
tree | e79a714600250d691b121c6bc93af125c21f50b1 /drivers | |
parent | 4f7802d032344fe3b87441278f53f9ea3aa9506a (diff) |
Input: atkbd - consolidate force release quirks for volume keys
Some machines share same key list for volume up/down release key quirks,
use only one key list.
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/input/keyboard/atkbd.c | 51 |
1 files changed, 14 insertions, 37 deletions
diff --git a/drivers/input/keyboard/atkbd.c b/drivers/input/keyboard/atkbd.c index de520386f13f..271c0b7045c3 100644 --- a/drivers/input/keyboard/atkbd.c +++ b/drivers/input/keyboard/atkbd.c | |||
@@ -887,29 +887,6 @@ static unsigned int atkbd_hp_forced_release_keys[] = { | |||
887 | }; | 887 | }; |
888 | 888 | ||
889 | /* | 889 | /* |
890 | * Inventec system with broken key release on volume keys | ||
891 | */ | ||
892 | static unsigned int atkbd_inventec_forced_release_keys[] = { | ||
893 | 0xae, 0xb0, -1U | ||
894 | }; | ||
895 | |||
896 | /* | ||
897 | * Perform fixup for HP Pavilion ZV6100 laptop that doesn't generate release | ||
898 | * for its volume buttons | ||
899 | */ | ||
900 | static unsigned int atkbd_hp_zv6100_forced_release_keys[] = { | ||
901 | 0xae, 0xb0, -1U | ||
902 | }; | ||
903 | |||
904 | /* | ||
905 | * Perform fixup for HP (Compaq) Presario R4000 R4100 R4200 that don't generate | ||
906 | * release for their volume buttons | ||
907 | */ | ||
908 | static unsigned int atkbd_hp_r4000_forced_release_keys[] = { | ||
909 | 0xae, 0xb0, -1U | ||
910 | }; | ||
911 | |||
912 | /* | ||
913 | * Samsung NC10,NC20 with Fn+F? key release not working | 890 | * Samsung NC10,NC20 with Fn+F? key release not working |
914 | */ | 891 | */ |
915 | static unsigned int atkbd_samsung_forced_release_keys[] = { | 892 | static unsigned int atkbd_samsung_forced_release_keys[] = { |
@@ -917,14 +894,6 @@ static unsigned int atkbd_samsung_forced_release_keys[] = { | |||
917 | }; | 894 | }; |
918 | 895 | ||
919 | /* | 896 | /* |
920 | * The volume up and volume down special keys on a Fujitsu Amilo PA 1510 laptop | ||
921 | * do not generate release events so we have to do it ourselves. | ||
922 | */ | ||
923 | static unsigned int atkbd_amilo_pa1510_forced_release_keys[] = { | ||
924 | 0xb0, 0xae, -1U | ||
925 | }; | ||
926 | |||
927 | /* | ||
928 | * Amilo Pi 3525 key release for Fn+Volume keys not working | 897 | * Amilo Pi 3525 key release for Fn+Volume keys not working |
929 | */ | 898 | */ |
930 | static unsigned int atkbd_amilo_pi3525_forced_release_keys[] = { | 899 | static unsigned int atkbd_amilo_pi3525_forced_release_keys[] = { |
@@ -946,6 +915,14 @@ static unsigned int atkdb_soltech_ta12_forced_release_keys[] = { | |||
946 | }; | 915 | }; |
947 | 916 | ||
948 | /* | 917 | /* |
918 | * Many notebooks don't send key release event for volume up/down | ||
919 | * keys, with key list below common among them | ||
920 | */ | ||
921 | static unsigned int atkbd_volume_forced_release_keys[] = { | ||
922 | 0xae, 0xb0, -1U | ||
923 | }; | ||
924 | |||
925 | /* | ||
949 | * atkbd_set_keycode_table() initializes keyboard's keycode table | 926 | * atkbd_set_keycode_table() initializes keyboard's keycode table |
950 | * according to the selected scancode set | 927 | * according to the selected scancode set |
951 | */ | 928 | */ |
@@ -1585,7 +1562,7 @@ static struct dmi_system_id atkbd_dmi_quirk_table[] __initdata = { | |||
1585 | DMI_MATCH(DMI_PRODUCT_NAME, "Pavilion ZV6100"), | 1562 | DMI_MATCH(DMI_PRODUCT_NAME, "Pavilion ZV6100"), |
1586 | }, | 1563 | }, |
1587 | .callback = atkbd_setup_forced_release, | 1564 | .callback = atkbd_setup_forced_release, |
1588 | .driver_data = atkbd_hp_zv6100_forced_release_keys, | 1565 | .driver_data = atkbd_volume_forced_release_keys, |
1589 | }, | 1566 | }, |
1590 | { | 1567 | { |
1591 | .ident = "HP Presario R4000", | 1568 | .ident = "HP Presario R4000", |
@@ -1594,7 +1571,7 @@ static struct dmi_system_id atkbd_dmi_quirk_table[] __initdata = { | |||
1594 | DMI_MATCH(DMI_PRODUCT_NAME, "Presario R4000"), | 1571 | DMI_MATCH(DMI_PRODUCT_NAME, "Presario R4000"), |
1595 | }, | 1572 | }, |
1596 | .callback = atkbd_setup_forced_release, | 1573 | .callback = atkbd_setup_forced_release, |
1597 | .driver_data = atkbd_hp_r4000_forced_release_keys, | 1574 | .driver_data = atkbd_volume_forced_release_keys, |
1598 | }, | 1575 | }, |
1599 | { | 1576 | { |
1600 | .ident = "HP Presario R4100", | 1577 | .ident = "HP Presario R4100", |
@@ -1603,7 +1580,7 @@ static struct dmi_system_id atkbd_dmi_quirk_table[] __initdata = { | |||
1603 | DMI_MATCH(DMI_PRODUCT_NAME, "Presario R4100"), | 1580 | DMI_MATCH(DMI_PRODUCT_NAME, "Presario R4100"), |
1604 | }, | 1581 | }, |
1605 | .callback = atkbd_setup_forced_release, | 1582 | .callback = atkbd_setup_forced_release, |
1606 | .driver_data = atkbd_hp_r4000_forced_release_keys, | 1583 | .driver_data = atkbd_volume_forced_release_keys, |
1607 | }, | 1584 | }, |
1608 | { | 1585 | { |
1609 | .ident = "HP Presario R4200", | 1586 | .ident = "HP Presario R4200", |
@@ -1612,7 +1589,7 @@ static struct dmi_system_id atkbd_dmi_quirk_table[] __initdata = { | |||
1612 | DMI_MATCH(DMI_PRODUCT_NAME, "Presario R4200"), | 1589 | DMI_MATCH(DMI_PRODUCT_NAME, "Presario R4200"), |
1613 | }, | 1590 | }, |
1614 | .callback = atkbd_setup_forced_release, | 1591 | .callback = atkbd_setup_forced_release, |
1615 | .driver_data = atkbd_hp_r4000_forced_release_keys, | 1592 | .driver_data = atkbd_volume_forced_release_keys, |
1616 | }, | 1593 | }, |
1617 | { | 1594 | { |
1618 | .ident = "Inventec Symphony", | 1595 | .ident = "Inventec Symphony", |
@@ -1621,7 +1598,7 @@ static struct dmi_system_id atkbd_dmi_quirk_table[] __initdata = { | |||
1621 | DMI_MATCH(DMI_PRODUCT_NAME, "SYMPHONY 6.0/7.0"), | 1598 | DMI_MATCH(DMI_PRODUCT_NAME, "SYMPHONY 6.0/7.0"), |
1622 | }, | 1599 | }, |
1623 | .callback = atkbd_setup_forced_release, | 1600 | .callback = atkbd_setup_forced_release, |
1624 | .driver_data = atkbd_inventec_forced_release_keys, | 1601 | .driver_data = atkbd_volume_forced_release_keys, |
1625 | }, | 1602 | }, |
1626 | { | 1603 | { |
1627 | .ident = "Samsung NC10", | 1604 | .ident = "Samsung NC10", |
@@ -1657,7 +1634,7 @@ static struct dmi_system_id atkbd_dmi_quirk_table[] __initdata = { | |||
1657 | DMI_MATCH(DMI_PRODUCT_NAME, "AMILO Pa 1510"), | 1634 | DMI_MATCH(DMI_PRODUCT_NAME, "AMILO Pa 1510"), |
1658 | }, | 1635 | }, |
1659 | .callback = atkbd_setup_forced_release, | 1636 | .callback = atkbd_setup_forced_release, |
1660 | .driver_data = atkbd_amilo_pa1510_forced_release_keys, | 1637 | .driver_data = atkbd_volume_forced_release_keys, |
1661 | }, | 1638 | }, |
1662 | { | 1639 | { |
1663 | .ident = "Fujitsu Amilo Pi 3525", | 1640 | .ident = "Fujitsu Amilo Pi 3525", |