diff options
author | Henrik Rydberg <rydberg@euromail.se> | 2012-05-04 09:32:04 -0400 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2012-05-05 17:27:54 -0400 |
commit | 2c2110e90b5a859cea8eccad9d42a44da9bfdc2a (patch) | |
tree | 4fde2c62b8231858084299fba4d2274e2bfc5fe5 /drivers/hid/hid-multitouch.c | |
parent | 8215d557e5f3a70e50e07c857d35c250fee62a73 (diff) |
HID: hid-multitouch: Only match MT interfaces
All known hid-multitouch devices currently match any device group.
However, some devices present interfaces belonging to different groups,
resulting in a race between the hid-generic and hid-multitouch modules.
This patch narrows the MT device list to match only HID_GROUP_MULTITOUCH,
which solves the problem.
As an exception, the USB_DEVICE_ID_CYPRESS_TRUETOUCH panel is not
modified, in order to suppress the unwanted extra interfaces of the
device.
Reported-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@enac.fr>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers/hid/hid-multitouch.c')
-rw-r--r-- | drivers/hid/hid-multitouch.c | 143 |
1 files changed, 73 insertions, 70 deletions
diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c index ea465f1ceae..b10c2044d89 100644 --- a/drivers/hid/hid-multitouch.c +++ b/drivers/hid/hid-multitouch.c | |||
@@ -110,6 +110,9 @@ struct mt_device { | |||
110 | 110 | ||
111 | #define MT_DEFAULT_MAXCONTACT 10 | 111 | #define MT_DEFAULT_MAXCONTACT 10 |
112 | 112 | ||
113 | #define MT_USB_DEVICE(v, p) HID_DEVICE(BUS_USB, HID_GROUP_MULTITOUCH, v, p) | ||
114 | #define MT_BT_DEVICE(v, p) HID_DEVICE(BUS_BLUETOOTH, HID_GROUP_MULTITOUCH, v, p) | ||
115 | |||
113 | /* | 116 | /* |
114 | * these device-dependent functions determine what slot corresponds | 117 | * these device-dependent functions determine what slot corresponds |
115 | * to a valid contact that was just read. | 118 | * to a valid contact that was just read. |
@@ -735,50 +738,50 @@ static const struct hid_device_id mt_devices[] = { | |||
735 | 738 | ||
736 | /* 3M panels */ | 739 | /* 3M panels */ |
737 | { .driver_data = MT_CLS_3M, | 740 | { .driver_data = MT_CLS_3M, |
738 | HID_USB_DEVICE(USB_VENDOR_ID_3M, | 741 | MT_USB_DEVICE(USB_VENDOR_ID_3M, |
739 | USB_DEVICE_ID_3M1968) }, | 742 | USB_DEVICE_ID_3M1968) }, |
740 | { .driver_data = MT_CLS_3M, | 743 | { .driver_data = MT_CLS_3M, |
741 | HID_USB_DEVICE(USB_VENDOR_ID_3M, | 744 | MT_USB_DEVICE(USB_VENDOR_ID_3M, |
742 | USB_DEVICE_ID_3M2256) }, | 745 | USB_DEVICE_ID_3M2256) }, |
743 | { .driver_data = MT_CLS_3M, | 746 | { .driver_data = MT_CLS_3M, |
744 | HID_USB_DEVICE(USB_VENDOR_ID_3M, | 747 | MT_USB_DEVICE(USB_VENDOR_ID_3M, |
745 | USB_DEVICE_ID_3M3266) }, | 748 | USB_DEVICE_ID_3M3266) }, |
746 | 749 | ||
747 | /* ActionStar panels */ | 750 | /* ActionStar panels */ |
748 | { .driver_data = MT_CLS_DEFAULT, | 751 | { .driver_data = MT_CLS_DEFAULT, |
749 | HID_USB_DEVICE(USB_VENDOR_ID_ACTIONSTAR, | 752 | MT_USB_DEVICE(USB_VENDOR_ID_ACTIONSTAR, |
750 | USB_DEVICE_ID_ACTIONSTAR_1011) }, | 753 | USB_DEVICE_ID_ACTIONSTAR_1011) }, |
751 | 754 | ||
752 | /* Atmel panels */ | 755 | /* Atmel panels */ |
753 | { .driver_data = MT_CLS_SERIAL, | 756 | { .driver_data = MT_CLS_SERIAL, |
754 | HID_USB_DEVICE(USB_VENDOR_ID_ATMEL, | 757 | MT_USB_DEVICE(USB_VENDOR_ID_ATMEL, |
755 | USB_DEVICE_ID_ATMEL_MULTITOUCH) }, | 758 | USB_DEVICE_ID_ATMEL_MULTITOUCH) }, |
756 | { .driver_data = MT_CLS_SERIAL, | 759 | { .driver_data = MT_CLS_SERIAL, |
757 | HID_USB_DEVICE(USB_VENDOR_ID_ATMEL, | 760 | MT_USB_DEVICE(USB_VENDOR_ID_ATMEL, |
758 | USB_DEVICE_ID_ATMEL_MXT_DIGITIZER) }, | 761 | USB_DEVICE_ID_ATMEL_MXT_DIGITIZER) }, |
759 | 762 | ||
760 | /* Cando panels */ | 763 | /* Cando panels */ |
761 | { .driver_data = MT_CLS_DUAL_INRANGE_CONTACTNUMBER, | 764 | { .driver_data = MT_CLS_DUAL_INRANGE_CONTACTNUMBER, |
762 | HID_USB_DEVICE(USB_VENDOR_ID_CANDO, | 765 | MT_USB_DEVICE(USB_VENDOR_ID_CANDO, |
763 | USB_DEVICE_ID_CANDO_MULTI_TOUCH) }, | 766 | USB_DEVICE_ID_CANDO_MULTI_TOUCH) }, |
764 | { .driver_data = MT_CLS_DUAL_INRANGE_CONTACTNUMBER, | 767 | { .driver_data = MT_CLS_DUAL_INRANGE_CONTACTNUMBER, |
765 | HID_USB_DEVICE(USB_VENDOR_ID_CANDO, | 768 | MT_USB_DEVICE(USB_VENDOR_ID_CANDO, |
766 | USB_DEVICE_ID_CANDO_MULTI_TOUCH_10_1) }, | 769 | USB_DEVICE_ID_CANDO_MULTI_TOUCH_10_1) }, |
767 | { .driver_data = MT_CLS_DUAL_INRANGE_CONTACTNUMBER, | 770 | { .driver_data = MT_CLS_DUAL_INRANGE_CONTACTNUMBER, |
768 | HID_USB_DEVICE(USB_VENDOR_ID_CANDO, | 771 | MT_USB_DEVICE(USB_VENDOR_ID_CANDO, |
769 | USB_DEVICE_ID_CANDO_MULTI_TOUCH_11_6) }, | 772 | USB_DEVICE_ID_CANDO_MULTI_TOUCH_11_6) }, |
770 | { .driver_data = MT_CLS_DUAL_INRANGE_CONTACTNUMBER, | 773 | { .driver_data = MT_CLS_DUAL_INRANGE_CONTACTNUMBER, |
771 | HID_USB_DEVICE(USB_VENDOR_ID_CANDO, | 774 | MT_USB_DEVICE(USB_VENDOR_ID_CANDO, |
772 | USB_DEVICE_ID_CANDO_MULTI_TOUCH_15_6) }, | 775 | USB_DEVICE_ID_CANDO_MULTI_TOUCH_15_6) }, |
773 | 776 | ||
774 | /* Chunghwa Telecom touch panels */ | 777 | /* Chunghwa Telecom touch panels */ |
775 | { .driver_data = MT_CLS_DEFAULT, | 778 | { .driver_data = MT_CLS_DEFAULT, |
776 | HID_USB_DEVICE(USB_VENDOR_ID_CHUNGHWAT, | 779 | MT_USB_DEVICE(USB_VENDOR_ID_CHUNGHWAT, |
777 | USB_DEVICE_ID_CHUNGHWAT_MULTITOUCH) }, | 780 | USB_DEVICE_ID_CHUNGHWAT_MULTITOUCH) }, |
778 | 781 | ||
779 | /* CVTouch panels */ | 782 | /* CVTouch panels */ |
780 | { .driver_data = MT_CLS_DEFAULT, | 783 | { .driver_data = MT_CLS_DEFAULT, |
781 | HID_USB_DEVICE(USB_VENDOR_ID_CVTOUCH, | 784 | MT_USB_DEVICE(USB_VENDOR_ID_CVTOUCH, |
782 | USB_DEVICE_ID_CVTOUCH_SCREEN) }, | 785 | USB_DEVICE_ID_CVTOUCH_SCREEN) }, |
783 | 786 | ||
784 | /* Cypress panel */ | 787 | /* Cypress panel */ |
@@ -788,223 +791,223 @@ static const struct hid_device_id mt_devices[] = { | |||
788 | 791 | ||
789 | /* eGalax devices (resistive) */ | 792 | /* eGalax devices (resistive) */ |
790 | { .driver_data = MT_CLS_EGALAX, | 793 | { .driver_data = MT_CLS_EGALAX, |
791 | HID_USB_DEVICE(USB_VENDOR_ID_DWAV, | 794 | MT_USB_DEVICE(USB_VENDOR_ID_DWAV, |
792 | USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_480D) }, | 795 | USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_480D) }, |
793 | { .driver_data = MT_CLS_EGALAX, | 796 | { .driver_data = MT_CLS_EGALAX, |
794 | HID_USB_DEVICE(USB_VENDOR_ID_DWAV, | 797 | MT_USB_DEVICE(USB_VENDOR_ID_DWAV, |
795 | USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_480E) }, | 798 | USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_480E) }, |
796 | 799 | ||
797 | /* eGalax devices (capacitive) */ | 800 | /* eGalax devices (capacitive) */ |
798 | { .driver_data = MT_CLS_EGALAX, | 801 | { .driver_data = MT_CLS_EGALAX, |
799 | HID_USB_DEVICE(USB_VENDOR_ID_DWAV, | 802 | MT_USB_DEVICE(USB_VENDOR_ID_DWAV, |
800 | USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_720C) }, | 803 | USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_720C) }, |
801 | { .driver_data = MT_CLS_EGALAX_SERIAL, | 804 | { .driver_data = MT_CLS_EGALAX_SERIAL, |
802 | HID_USB_DEVICE(USB_VENDOR_ID_DWAV, | 805 | MT_USB_DEVICE(USB_VENDOR_ID_DWAV, |
803 | USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_7207) }, | 806 | USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_7207) }, |
804 | { .driver_data = MT_CLS_EGALAX_SERIAL, | 807 | { .driver_data = MT_CLS_EGALAX_SERIAL, |
805 | HID_USB_DEVICE(USB_VENDOR_ID_DWAV, | 808 | MT_USB_DEVICE(USB_VENDOR_ID_DWAV, |
806 | USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_725E) }, | 809 | USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_725E) }, |
807 | { .driver_data = MT_CLS_EGALAX_SERIAL, | 810 | { .driver_data = MT_CLS_EGALAX_SERIAL, |
808 | HID_USB_DEVICE(USB_VENDOR_ID_DWAV, | 811 | MT_USB_DEVICE(USB_VENDOR_ID_DWAV, |
809 | USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_7224) }, | 812 | USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_7224) }, |
810 | { .driver_data = MT_CLS_EGALAX_SERIAL, | 813 | { .driver_data = MT_CLS_EGALAX_SERIAL, |
811 | HID_USB_DEVICE(USB_VENDOR_ID_DWAV, | 814 | MT_USB_DEVICE(USB_VENDOR_ID_DWAV, |
812 | USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_722A) }, | 815 | USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_722A) }, |
813 | { .driver_data = MT_CLS_EGALAX, | 816 | { .driver_data = MT_CLS_EGALAX, |
814 | HID_USB_DEVICE(USB_VENDOR_ID_DWAV, | 817 | MT_USB_DEVICE(USB_VENDOR_ID_DWAV, |
815 | USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_726B) }, | 818 | USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_726B) }, |
816 | { .driver_data = MT_CLS_EGALAX_SERIAL, | 819 | { .driver_data = MT_CLS_EGALAX_SERIAL, |
817 | HID_USB_DEVICE(USB_VENDOR_ID_DWAV, | 820 | MT_USB_DEVICE(USB_VENDOR_ID_DWAV, |
818 | USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_7262) }, | 821 | USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_7262) }, |
819 | { .driver_data = MT_CLS_EGALAX, | 822 | { .driver_data = MT_CLS_EGALAX, |
820 | HID_USB_DEVICE(USB_VENDOR_ID_DWAV, | 823 | MT_USB_DEVICE(USB_VENDOR_ID_DWAV, |
821 | USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_72A1) }, | 824 | USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_72A1) }, |
822 | { .driver_data = MT_CLS_EGALAX_SERIAL, | 825 | { .driver_data = MT_CLS_EGALAX_SERIAL, |
823 | HID_USB_DEVICE(USB_VENDOR_ID_DWAV, | 826 | MT_USB_DEVICE(USB_VENDOR_ID_DWAV, |
824 | USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_72AA) }, | 827 | USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_72AA) }, |
825 | { .driver_data = MT_CLS_EGALAX, | 828 | { .driver_data = MT_CLS_EGALAX, |
826 | HID_USB_DEVICE(USB_VENDOR_ID_DWAV, | 829 | MT_USB_DEVICE(USB_VENDOR_ID_DWAV, |
827 | USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_72FA) }, | 830 | USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_72FA) }, |
828 | { .driver_data = MT_CLS_EGALAX, | 831 | { .driver_data = MT_CLS_EGALAX, |
829 | HID_USB_DEVICE(USB_VENDOR_ID_DWAV, | 832 | MT_USB_DEVICE(USB_VENDOR_ID_DWAV, |
830 | USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_7302) }, | 833 | USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_7302) }, |
831 | { .driver_data = MT_CLS_EGALAX_SERIAL, | 834 | { .driver_data = MT_CLS_EGALAX_SERIAL, |
832 | HID_USB_DEVICE(USB_VENDOR_ID_DWAV, | 835 | MT_USB_DEVICE(USB_VENDOR_ID_DWAV, |
833 | USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_7349) }, | 836 | USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_7349) }, |
834 | { .driver_data = MT_CLS_EGALAX_SERIAL, | 837 | { .driver_data = MT_CLS_EGALAX_SERIAL, |
835 | HID_USB_DEVICE(USB_VENDOR_ID_DWAV, | 838 | MT_USB_DEVICE(USB_VENDOR_ID_DWAV, |
836 | USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001) }, | 839 | USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001) }, |
837 | 840 | ||
838 | /* Elo TouchSystems IntelliTouch Plus panel */ | 841 | /* Elo TouchSystems IntelliTouch Plus panel */ |
839 | { .driver_data = MT_CLS_DUAL_NSMU_CONTACTID, | 842 | { .driver_data = MT_CLS_DUAL_NSMU_CONTACTID, |
840 | HID_USB_DEVICE(USB_VENDOR_ID_ELO, | 843 | MT_USB_DEVICE(USB_VENDOR_ID_ELO, |
841 | USB_DEVICE_ID_ELO_TS2515) }, | 844 | USB_DEVICE_ID_ELO_TS2515) }, |
842 | 845 | ||
843 | /* GeneralTouch panel */ | 846 | /* GeneralTouch panel */ |
844 | { .driver_data = MT_CLS_DUAL_INRANGE_CONTACTNUMBER, | 847 | { .driver_data = MT_CLS_DUAL_INRANGE_CONTACTNUMBER, |
845 | HID_USB_DEVICE(USB_VENDOR_ID_GENERAL_TOUCH, | 848 | MT_USB_DEVICE(USB_VENDOR_ID_GENERAL_TOUCH, |
846 | USB_DEVICE_ID_GENERAL_TOUCH_WIN7_TWOFINGERS) }, | 849 | USB_DEVICE_ID_GENERAL_TOUCH_WIN7_TWOFINGERS) }, |
847 | 850 | ||
848 | /* Gametel game controller */ | 851 | /* Gametel game controller */ |
849 | { .driver_data = MT_CLS_DEFAULT, | 852 | { .driver_data = MT_CLS_DEFAULT, |
850 | HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_FRUCTEL, | 853 | MT_BT_DEVICE(USB_VENDOR_ID_FRUCTEL, |
851 | USB_DEVICE_ID_GAMETEL_MT_MODE) }, | 854 | USB_DEVICE_ID_GAMETEL_MT_MODE) }, |
852 | 855 | ||
853 | /* GoodTouch panels */ | 856 | /* GoodTouch panels */ |
854 | { .driver_data = MT_CLS_DEFAULT, | 857 | { .driver_data = MT_CLS_DEFAULT, |
855 | HID_USB_DEVICE(USB_VENDOR_ID_GOODTOUCH, | 858 | MT_USB_DEVICE(USB_VENDOR_ID_GOODTOUCH, |
856 | USB_DEVICE_ID_GOODTOUCH_000f) }, | 859 | USB_DEVICE_ID_GOODTOUCH_000f) }, |
857 | 860 | ||
858 | /* Hanvon panels */ | 861 | /* Hanvon panels */ |
859 | { .driver_data = MT_CLS_DUAL_INRANGE_CONTACTID, | 862 | { .driver_data = MT_CLS_DUAL_INRANGE_CONTACTID, |
860 | HID_USB_DEVICE(USB_VENDOR_ID_HANVON_ALT, | 863 | MT_USB_DEVICE(USB_VENDOR_ID_HANVON_ALT, |
861 | USB_DEVICE_ID_HANVON_ALT_MULTITOUCH) }, | 864 | USB_DEVICE_ID_HANVON_ALT_MULTITOUCH) }, |
862 | 865 | ||
863 | /* Ideacom panel */ | 866 | /* Ideacom panel */ |
864 | { .driver_data = MT_CLS_SERIAL, | 867 | { .driver_data = MT_CLS_SERIAL, |
865 | HID_USB_DEVICE(USB_VENDOR_ID_IDEACOM, | 868 | MT_USB_DEVICE(USB_VENDOR_ID_IDEACOM, |
866 | USB_DEVICE_ID_IDEACOM_IDC6650) }, | 869 | USB_DEVICE_ID_IDEACOM_IDC6650) }, |
867 | { .driver_data = MT_CLS_SERIAL, | 870 | { .driver_data = MT_CLS_SERIAL, |
868 | HID_USB_DEVICE(USB_VENDOR_ID_IDEACOM, | 871 | MT_USB_DEVICE(USB_VENDOR_ID_IDEACOM, |
869 | USB_DEVICE_ID_IDEACOM_IDC6651) }, | 872 | USB_DEVICE_ID_IDEACOM_IDC6651) }, |
870 | 873 | ||
871 | /* Ilitek dual touch panel */ | 874 | /* Ilitek dual touch panel */ |
872 | { .driver_data = MT_CLS_DEFAULT, | 875 | { .driver_data = MT_CLS_DEFAULT, |
873 | HID_USB_DEVICE(USB_VENDOR_ID_ILITEK, | 876 | MT_USB_DEVICE(USB_VENDOR_ID_ILITEK, |
874 | USB_DEVICE_ID_ILITEK_MULTITOUCH) }, | 877 | USB_DEVICE_ID_ILITEK_MULTITOUCH) }, |
875 | 878 | ||
876 | /* IRTOUCH panels */ | 879 | /* IRTOUCH panels */ |
877 | { .driver_data = MT_CLS_DUAL_INRANGE_CONTACTID, | 880 | { .driver_data = MT_CLS_DUAL_INRANGE_CONTACTID, |
878 | HID_USB_DEVICE(USB_VENDOR_ID_IRTOUCHSYSTEMS, | 881 | MT_USB_DEVICE(USB_VENDOR_ID_IRTOUCHSYSTEMS, |
879 | USB_DEVICE_ID_IRTOUCH_INFRARED_USB) }, | 882 | USB_DEVICE_ID_IRTOUCH_INFRARED_USB) }, |
880 | 883 | ||
881 | /* LG Display panels */ | 884 | /* LG Display panels */ |
882 | { .driver_data = MT_CLS_DEFAULT, | 885 | { .driver_data = MT_CLS_DEFAULT, |
883 | HID_USB_DEVICE(USB_VENDOR_ID_LG, | 886 | MT_USB_DEVICE(USB_VENDOR_ID_LG, |
884 | USB_DEVICE_ID_LG_MULTITOUCH) }, | 887 | USB_DEVICE_ID_LG_MULTITOUCH) }, |
885 | 888 | ||
886 | /* Lumio panels */ | 889 | /* Lumio panels */ |
887 | { .driver_data = MT_CLS_CONFIDENCE_MINUS_ONE, | 890 | { .driver_data = MT_CLS_CONFIDENCE_MINUS_ONE, |
888 | HID_USB_DEVICE(USB_VENDOR_ID_LUMIO, | 891 | MT_USB_DEVICE(USB_VENDOR_ID_LUMIO, |
889 | USB_DEVICE_ID_CRYSTALTOUCH) }, | 892 | USB_DEVICE_ID_CRYSTALTOUCH) }, |
890 | { .driver_data = MT_CLS_CONFIDENCE_MINUS_ONE, | 893 | { .driver_data = MT_CLS_CONFIDENCE_MINUS_ONE, |
891 | HID_USB_DEVICE(USB_VENDOR_ID_LUMIO, | 894 | MT_USB_DEVICE(USB_VENDOR_ID_LUMIO, |
892 | USB_DEVICE_ID_CRYSTALTOUCH_DUAL) }, | 895 | USB_DEVICE_ID_CRYSTALTOUCH_DUAL) }, |
893 | 896 | ||
894 | /* MosArt panels */ | 897 | /* MosArt panels */ |
895 | { .driver_data = MT_CLS_CONFIDENCE_MINUS_ONE, | 898 | { .driver_data = MT_CLS_CONFIDENCE_MINUS_ONE, |
896 | HID_USB_DEVICE(USB_VENDOR_ID_ASUS, | 899 | MT_USB_DEVICE(USB_VENDOR_ID_ASUS, |
897 | USB_DEVICE_ID_ASUS_T91MT)}, | 900 | USB_DEVICE_ID_ASUS_T91MT)}, |
898 | { .driver_data = MT_CLS_CONFIDENCE_MINUS_ONE, | 901 | { .driver_data = MT_CLS_CONFIDENCE_MINUS_ONE, |
899 | HID_USB_DEVICE(USB_VENDOR_ID_ASUS, | 902 | MT_USB_DEVICE(USB_VENDOR_ID_ASUS, |
900 | USB_DEVICE_ID_ASUSTEK_MULTITOUCH_YFO) }, | 903 | USB_DEVICE_ID_ASUSTEK_MULTITOUCH_YFO) }, |
901 | { .driver_data = MT_CLS_CONFIDENCE_MINUS_ONE, | 904 | { .driver_data = MT_CLS_CONFIDENCE_MINUS_ONE, |
902 | HID_USB_DEVICE(USB_VENDOR_ID_TURBOX, | 905 | MT_USB_DEVICE(USB_VENDOR_ID_TURBOX, |
903 | USB_DEVICE_ID_TURBOX_TOUCHSCREEN_MOSART) }, | 906 | USB_DEVICE_ID_TURBOX_TOUCHSCREEN_MOSART) }, |
904 | 907 | ||
905 | /* Panasonic panels */ | 908 | /* Panasonic panels */ |
906 | { .driver_data = MT_CLS_PANASONIC, | 909 | { .driver_data = MT_CLS_PANASONIC, |
907 | HID_USB_DEVICE(USB_VENDOR_ID_PANASONIC, | 910 | MT_USB_DEVICE(USB_VENDOR_ID_PANASONIC, |
908 | USB_DEVICE_ID_PANABOARD_UBT780) }, | 911 | USB_DEVICE_ID_PANABOARD_UBT780) }, |
909 | { .driver_data = MT_CLS_PANASONIC, | 912 | { .driver_data = MT_CLS_PANASONIC, |
910 | HID_USB_DEVICE(USB_VENDOR_ID_PANASONIC, | 913 | MT_USB_DEVICE(USB_VENDOR_ID_PANASONIC, |
911 | USB_DEVICE_ID_PANABOARD_UBT880) }, | 914 | USB_DEVICE_ID_PANABOARD_UBT880) }, |
912 | 915 | ||
913 | /* PenMount panels */ | 916 | /* PenMount panels */ |
914 | { .driver_data = MT_CLS_CONFIDENCE, | 917 | { .driver_data = MT_CLS_CONFIDENCE, |
915 | HID_USB_DEVICE(USB_VENDOR_ID_PENMOUNT, | 918 | MT_USB_DEVICE(USB_VENDOR_ID_PENMOUNT, |
916 | USB_DEVICE_ID_PENMOUNT_PCI) }, | 919 | USB_DEVICE_ID_PENMOUNT_PCI) }, |
917 | 920 | ||
918 | /* PixArt optical touch screen */ | 921 | /* PixArt optical touch screen */ |
919 | { .driver_data = MT_CLS_INRANGE_CONTACTNUMBER, | 922 | { .driver_data = MT_CLS_INRANGE_CONTACTNUMBER, |
920 | HID_USB_DEVICE(USB_VENDOR_ID_PIXART, | 923 | MT_USB_DEVICE(USB_VENDOR_ID_PIXART, |
921 | USB_DEVICE_ID_PIXART_OPTICAL_TOUCH_SCREEN) }, | 924 | USB_DEVICE_ID_PIXART_OPTICAL_TOUCH_SCREEN) }, |
922 | { .driver_data = MT_CLS_INRANGE_CONTACTNUMBER, | 925 | { .driver_data = MT_CLS_INRANGE_CONTACTNUMBER, |
923 | HID_USB_DEVICE(USB_VENDOR_ID_PIXART, | 926 | MT_USB_DEVICE(USB_VENDOR_ID_PIXART, |
924 | USB_DEVICE_ID_PIXART_OPTICAL_TOUCH_SCREEN1) }, | 927 | USB_DEVICE_ID_PIXART_OPTICAL_TOUCH_SCREEN1) }, |
925 | { .driver_data = MT_CLS_INRANGE_CONTACTNUMBER, | 928 | { .driver_data = MT_CLS_INRANGE_CONTACTNUMBER, |
926 | HID_USB_DEVICE(USB_VENDOR_ID_PIXART, | 929 | MT_USB_DEVICE(USB_VENDOR_ID_PIXART, |
927 | USB_DEVICE_ID_PIXART_OPTICAL_TOUCH_SCREEN2) }, | 930 | USB_DEVICE_ID_PIXART_OPTICAL_TOUCH_SCREEN2) }, |
928 | 931 | ||
929 | /* PixCir-based panels */ | 932 | /* PixCir-based panels */ |
930 | { .driver_data = MT_CLS_DUAL_INRANGE_CONTACTID, | 933 | { .driver_data = MT_CLS_DUAL_INRANGE_CONTACTID, |
931 | HID_USB_DEVICE(USB_VENDOR_ID_HANVON, | 934 | MT_USB_DEVICE(USB_VENDOR_ID_HANVON, |
932 | USB_DEVICE_ID_HANVON_MULTITOUCH) }, | 935 | USB_DEVICE_ID_HANVON_MULTITOUCH) }, |
933 | { .driver_data = MT_CLS_DUAL_INRANGE_CONTACTID, | 936 | { .driver_data = MT_CLS_DUAL_INRANGE_CONTACTID, |
934 | HID_USB_DEVICE(USB_VENDOR_ID_CANDO, | 937 | MT_USB_DEVICE(USB_VENDOR_ID_CANDO, |
935 | USB_DEVICE_ID_CANDO_PIXCIR_MULTI_TOUCH) }, | 938 | USB_DEVICE_ID_CANDO_PIXCIR_MULTI_TOUCH) }, |
936 | 939 | ||
937 | /* Quanta-based panels */ | 940 | /* Quanta-based panels */ |
938 | { .driver_data = MT_CLS_CONFIDENCE_CONTACT_ID, | 941 | { .driver_data = MT_CLS_CONFIDENCE_CONTACT_ID, |
939 | HID_USB_DEVICE(USB_VENDOR_ID_QUANTA, | 942 | MT_USB_DEVICE(USB_VENDOR_ID_QUANTA, |
940 | USB_DEVICE_ID_QUANTA_OPTICAL_TOUCH) }, | 943 | USB_DEVICE_ID_QUANTA_OPTICAL_TOUCH) }, |
941 | { .driver_data = MT_CLS_CONFIDENCE_CONTACT_ID, | 944 | { .driver_data = MT_CLS_CONFIDENCE_CONTACT_ID, |
942 | HID_USB_DEVICE(USB_VENDOR_ID_QUANTA, | 945 | MT_USB_DEVICE(USB_VENDOR_ID_QUANTA, |
943 | USB_DEVICE_ID_QUANTA_OPTICAL_TOUCH_3001) }, | 946 | USB_DEVICE_ID_QUANTA_OPTICAL_TOUCH_3001) }, |
944 | { .driver_data = MT_CLS_CONFIDENCE_CONTACT_ID, | 947 | { .driver_data = MT_CLS_CONFIDENCE_CONTACT_ID, |
945 | HID_USB_DEVICE(USB_VENDOR_ID_QUANTA, | 948 | MT_USB_DEVICE(USB_VENDOR_ID_QUANTA, |
946 | USB_DEVICE_ID_QUANTA_OPTICAL_TOUCH_3008) }, | 949 | USB_DEVICE_ID_QUANTA_OPTICAL_TOUCH_3008) }, |
947 | 950 | ||
948 | /* Stantum panels */ | 951 | /* Stantum panels */ |
949 | { .driver_data = MT_CLS_CONFIDENCE, | 952 | { .driver_data = MT_CLS_CONFIDENCE, |
950 | HID_USB_DEVICE(USB_VENDOR_ID_STANTUM, | 953 | MT_USB_DEVICE(USB_VENDOR_ID_STANTUM, |
951 | USB_DEVICE_ID_MTP)}, | 954 | USB_DEVICE_ID_MTP)}, |
952 | { .driver_data = MT_CLS_CONFIDENCE, | 955 | { .driver_data = MT_CLS_CONFIDENCE, |
953 | HID_USB_DEVICE(USB_VENDOR_ID_STANTUM_STM, | 956 | MT_USB_DEVICE(USB_VENDOR_ID_STANTUM_STM, |
954 | USB_DEVICE_ID_MTP_STM)}, | 957 | USB_DEVICE_ID_MTP_STM)}, |
955 | { .driver_data = MT_CLS_CONFIDENCE, | 958 | { .driver_data = MT_CLS_CONFIDENCE, |
956 | HID_USB_DEVICE(USB_VENDOR_ID_STANTUM_SITRONIX, | 959 | MT_USB_DEVICE(USB_VENDOR_ID_STANTUM_SITRONIX, |
957 | USB_DEVICE_ID_MTP_SITRONIX)}, | 960 | USB_DEVICE_ID_MTP_SITRONIX)}, |
958 | 961 | ||
959 | /* TopSeed panels */ | 962 | /* TopSeed panels */ |
960 | { .driver_data = MT_CLS_TOPSEED, | 963 | { .driver_data = MT_CLS_TOPSEED, |
961 | HID_USB_DEVICE(USB_VENDOR_ID_TOPSEED2, | 964 | MT_USB_DEVICE(USB_VENDOR_ID_TOPSEED2, |
962 | USB_DEVICE_ID_TOPSEED2_PERIPAD_701) }, | 965 | USB_DEVICE_ID_TOPSEED2_PERIPAD_701) }, |
963 | 966 | ||
964 | /* Touch International panels */ | 967 | /* Touch International panels */ |
965 | { .driver_data = MT_CLS_DEFAULT, | 968 | { .driver_data = MT_CLS_DEFAULT, |
966 | HID_USB_DEVICE(USB_VENDOR_ID_TOUCH_INTL, | 969 | MT_USB_DEVICE(USB_VENDOR_ID_TOUCH_INTL, |
967 | USB_DEVICE_ID_TOUCH_INTL_MULTI_TOUCH) }, | 970 | USB_DEVICE_ID_TOUCH_INTL_MULTI_TOUCH) }, |
968 | 971 | ||
969 | /* Unitec panels */ | 972 | /* Unitec panels */ |
970 | { .driver_data = MT_CLS_DEFAULT, | 973 | { .driver_data = MT_CLS_DEFAULT, |
971 | HID_USB_DEVICE(USB_VENDOR_ID_UNITEC, | 974 | MT_USB_DEVICE(USB_VENDOR_ID_UNITEC, |
972 | USB_DEVICE_ID_UNITEC_USB_TOUCH_0709) }, | 975 | USB_DEVICE_ID_UNITEC_USB_TOUCH_0709) }, |
973 | { .driver_data = MT_CLS_DEFAULT, | 976 | { .driver_data = MT_CLS_DEFAULT, |
974 | HID_USB_DEVICE(USB_VENDOR_ID_UNITEC, | 977 | MT_USB_DEVICE(USB_VENDOR_ID_UNITEC, |
975 | USB_DEVICE_ID_UNITEC_USB_TOUCH_0A19) }, | 978 | USB_DEVICE_ID_UNITEC_USB_TOUCH_0A19) }, |
976 | /* XAT */ | 979 | /* XAT */ |
977 | { .driver_data = MT_CLS_DEFAULT, | 980 | { .driver_data = MT_CLS_DEFAULT, |
978 | HID_USB_DEVICE(USB_VENDOR_ID_XAT, | 981 | MT_USB_DEVICE(USB_VENDOR_ID_XAT, |
979 | USB_DEVICE_ID_XAT_CSR) }, | 982 | USB_DEVICE_ID_XAT_CSR) }, |
980 | 983 | ||
981 | /* Xiroku */ | 984 | /* Xiroku */ |
982 | { .driver_data = MT_CLS_DEFAULT, | 985 | { .driver_data = MT_CLS_DEFAULT, |
983 | HID_USB_DEVICE(USB_VENDOR_ID_XIROKU, | 986 | MT_USB_DEVICE(USB_VENDOR_ID_XIROKU, |
984 | USB_DEVICE_ID_XIROKU_SPX) }, | 987 | USB_DEVICE_ID_XIROKU_SPX) }, |
985 | { .driver_data = MT_CLS_DEFAULT, | 988 | { .driver_data = MT_CLS_DEFAULT, |
986 | HID_USB_DEVICE(USB_VENDOR_ID_XIROKU, | 989 | MT_USB_DEVICE(USB_VENDOR_ID_XIROKU, |
987 | USB_DEVICE_ID_XIROKU_MPX) }, | 990 | USB_DEVICE_ID_XIROKU_MPX) }, |
988 | { .driver_data = MT_CLS_DEFAULT, | 991 | { .driver_data = MT_CLS_DEFAULT, |
989 | HID_USB_DEVICE(USB_VENDOR_ID_XIROKU, | 992 | MT_USB_DEVICE(USB_VENDOR_ID_XIROKU, |
990 | USB_DEVICE_ID_XIROKU_CSR) }, | 993 | USB_DEVICE_ID_XIROKU_CSR) }, |
991 | { .driver_data = MT_CLS_DEFAULT, | 994 | { .driver_data = MT_CLS_DEFAULT, |
992 | HID_USB_DEVICE(USB_VENDOR_ID_XIROKU, | 995 | MT_USB_DEVICE(USB_VENDOR_ID_XIROKU, |
993 | USB_DEVICE_ID_XIROKU_SPX1) }, | 996 | USB_DEVICE_ID_XIROKU_SPX1) }, |
994 | { .driver_data = MT_CLS_DEFAULT, | 997 | { .driver_data = MT_CLS_DEFAULT, |
995 | HID_USB_DEVICE(USB_VENDOR_ID_XIROKU, | 998 | MT_USB_DEVICE(USB_VENDOR_ID_XIROKU, |
996 | USB_DEVICE_ID_XIROKU_MPX1) }, | 999 | USB_DEVICE_ID_XIROKU_MPX1) }, |
997 | { .driver_data = MT_CLS_DEFAULT, | 1000 | { .driver_data = MT_CLS_DEFAULT, |
998 | HID_USB_DEVICE(USB_VENDOR_ID_XIROKU, | 1001 | MT_USB_DEVICE(USB_VENDOR_ID_XIROKU, |
999 | USB_DEVICE_ID_XIROKU_CSR1) }, | 1002 | USB_DEVICE_ID_XIROKU_CSR1) }, |
1000 | { .driver_data = MT_CLS_DEFAULT, | 1003 | { .driver_data = MT_CLS_DEFAULT, |
1001 | HID_USB_DEVICE(USB_VENDOR_ID_XIROKU, | 1004 | MT_USB_DEVICE(USB_VENDOR_ID_XIROKU, |
1002 | USB_DEVICE_ID_XIROKU_SPX2) }, | 1005 | USB_DEVICE_ID_XIROKU_SPX2) }, |
1003 | { .driver_data = MT_CLS_DEFAULT, | 1006 | { .driver_data = MT_CLS_DEFAULT, |
1004 | HID_USB_DEVICE(USB_VENDOR_ID_XIROKU, | 1007 | MT_USB_DEVICE(USB_VENDOR_ID_XIROKU, |
1005 | USB_DEVICE_ID_XIROKU_MPX2) }, | 1008 | USB_DEVICE_ID_XIROKU_MPX2) }, |
1006 | { .driver_data = MT_CLS_DEFAULT, | 1009 | { .driver_data = MT_CLS_DEFAULT, |
1007 | HID_USB_DEVICE(USB_VENDOR_ID_XIROKU, | 1010 | MT_USB_DEVICE(USB_VENDOR_ID_XIROKU, |
1008 | USB_DEVICE_ID_XIROKU_CSR2) }, | 1011 | USB_DEVICE_ID_XIROKU_CSR2) }, |
1009 | 1012 | ||
1010 | /* Generic MT device */ | 1013 | /* Generic MT device */ |