diff options
| -rw-r--r-- | drivers/hid/hid-multitouch.c | 129 |
1 files changed, 11 insertions, 118 deletions
diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c index f134d73beca1..3e81f4e1c7c1 100644 --- a/drivers/hid/hid-multitouch.c +++ b/drivers/hid/hid-multitouch.c | |||
| @@ -128,16 +128,16 @@ static void mt_post_parse(struct mt_device *td); | |||
| 128 | #define MT_CLS_CONFIDENCE_MINUS_ONE 0x0005 | 128 | #define MT_CLS_CONFIDENCE_MINUS_ONE 0x0005 |
| 129 | #define MT_CLS_DUAL_INRANGE_CONTACTID 0x0006 | 129 | #define MT_CLS_DUAL_INRANGE_CONTACTID 0x0006 |
| 130 | #define MT_CLS_DUAL_INRANGE_CONTACTNUMBER 0x0007 | 130 | #define MT_CLS_DUAL_INRANGE_CONTACTNUMBER 0x0007 |
| 131 | #define MT_CLS_DUAL_NSMU_CONTACTID 0x0008 | 131 | /* reserved 0x0008 */ |
| 132 | #define MT_CLS_INRANGE_CONTACTNUMBER 0x0009 | 132 | #define MT_CLS_INRANGE_CONTACTNUMBER 0x0009 |
| 133 | #define MT_CLS_NSMU 0x000a | 133 | #define MT_CLS_NSMU 0x000a |
| 134 | #define MT_CLS_DUAL_CONTACT_NUMBER 0x0010 | 134 | /* reserved 0x0010 */ |
| 135 | #define MT_CLS_DUAL_CONTACT_ID 0x0011 | 135 | /* reserved 0x0011 */ |
| 136 | #define MT_CLS_WIN_8 0x0012 | 136 | #define MT_CLS_WIN_8 0x0012 |
| 137 | 137 | ||
| 138 | /* vendor specific classes */ | 138 | /* vendor specific classes */ |
| 139 | #define MT_CLS_3M 0x0101 | 139 | #define MT_CLS_3M 0x0101 |
| 140 | #define MT_CLS_CYPRESS 0x0102 | 140 | /* reserved 0x0102 */ |
| 141 | #define MT_CLS_EGALAX 0x0103 | 141 | #define MT_CLS_EGALAX 0x0103 |
| 142 | #define MT_CLS_EGALAX_SERIAL 0x0104 | 142 | #define MT_CLS_EGALAX_SERIAL 0x0104 |
| 143 | #define MT_CLS_TOPSEED 0x0105 | 143 | #define MT_CLS_TOPSEED 0x0105 |
| @@ -189,23 +189,9 @@ static struct mt_class mt_classes[] = { | |||
| 189 | .quirks = MT_QUIRK_VALID_IS_INRANGE | | 189 | .quirks = MT_QUIRK_VALID_IS_INRANGE | |
| 190 | MT_QUIRK_SLOT_IS_CONTACTNUMBER, | 190 | MT_QUIRK_SLOT_IS_CONTACTNUMBER, |
| 191 | .maxcontacts = 2 }, | 191 | .maxcontacts = 2 }, |
| 192 | { .name = MT_CLS_DUAL_NSMU_CONTACTID, | ||
| 193 | .quirks = MT_QUIRK_NOT_SEEN_MEANS_UP | | ||
| 194 | MT_QUIRK_SLOT_IS_CONTACTID, | ||
| 195 | .maxcontacts = 2 }, | ||
| 196 | { .name = MT_CLS_INRANGE_CONTACTNUMBER, | 192 | { .name = MT_CLS_INRANGE_CONTACTNUMBER, |
| 197 | .quirks = MT_QUIRK_VALID_IS_INRANGE | | 193 | .quirks = MT_QUIRK_VALID_IS_INRANGE | |
| 198 | MT_QUIRK_SLOT_IS_CONTACTNUMBER }, | 194 | MT_QUIRK_SLOT_IS_CONTACTNUMBER }, |
| 199 | { .name = MT_CLS_DUAL_CONTACT_NUMBER, | ||
| 200 | .quirks = MT_QUIRK_ALWAYS_VALID | | ||
| 201 | MT_QUIRK_CONTACT_CNT_ACCURATE | | ||
| 202 | MT_QUIRK_SLOT_IS_CONTACTNUMBER, | ||
| 203 | .maxcontacts = 2 }, | ||
| 204 | { .name = MT_CLS_DUAL_CONTACT_ID, | ||
| 205 | .quirks = MT_QUIRK_ALWAYS_VALID | | ||
| 206 | MT_QUIRK_CONTACT_CNT_ACCURATE | | ||
| 207 | MT_QUIRK_SLOT_IS_CONTACTID, | ||
| 208 | .maxcontacts = 2 }, | ||
| 209 | { .name = MT_CLS_WIN_8, | 195 | { .name = MT_CLS_WIN_8, |
| 210 | .quirks = MT_QUIRK_ALWAYS_VALID | | 196 | .quirks = MT_QUIRK_ALWAYS_VALID | |
| 211 | MT_QUIRK_IGNORE_DUPLICATES | | 197 | MT_QUIRK_IGNORE_DUPLICATES | |
| @@ -223,10 +209,6 @@ static struct mt_class mt_classes[] = { | |||
| 223 | .sn_height = 128, | 209 | .sn_height = 128, |
| 224 | .maxcontacts = 60, | 210 | .maxcontacts = 60, |
| 225 | }, | 211 | }, |
| 226 | { .name = MT_CLS_CYPRESS, | ||
| 227 | .quirks = MT_QUIRK_NOT_SEEN_MEANS_UP | | ||
| 228 | MT_QUIRK_CYPRESS, | ||
| 229 | .maxcontacts = 10 }, | ||
| 230 | { .name = MT_CLS_EGALAX, | 212 | { .name = MT_CLS_EGALAX, |
| 231 | .quirks = MT_QUIRK_SLOT_IS_CONTACTID | | 213 | .quirks = MT_QUIRK_SLOT_IS_CONTACTID | |
| 232 | MT_QUIRK_VALID_IS_INRANGE, | 214 | MT_QUIRK_VALID_IS_INRANGE, |
| @@ -1034,6 +1016,12 @@ static void mt_remove(struct hid_device *hdev) | |||
| 1034 | hid_hw_stop(hdev); | 1016 | hid_hw_stop(hdev); |
| 1035 | } | 1017 | } |
| 1036 | 1018 | ||
| 1019 | /* | ||
| 1020 | * This list contains only: | ||
| 1021 | * - VID/PID of products not working with the default multitouch handling | ||
| 1022 | * - 2 generic rules. | ||
| 1023 | * So there is no point in adding here any device with MT_CLS_DEFAULT. | ||
| 1024 | */ | ||
| 1037 | static const struct hid_device_id mt_devices[] = { | 1025 | static const struct hid_device_id mt_devices[] = { |
| 1038 | 1026 | ||
| 1039 | /* 3M panels */ | 1027 | /* 3M panels */ |
| @@ -1047,33 +1035,20 @@ static const struct hid_device_id mt_devices[] = { | |||
| 1047 | MT_USB_DEVICE(USB_VENDOR_ID_3M, | 1035 | MT_USB_DEVICE(USB_VENDOR_ID_3M, |
| 1048 | USB_DEVICE_ID_3M3266) }, | 1036 | USB_DEVICE_ID_3M3266) }, |
| 1049 | 1037 | ||
| 1050 | /* ActionStar panels */ | ||
| 1051 | { .driver_data = MT_CLS_NSMU, | ||
| 1052 | MT_USB_DEVICE(USB_VENDOR_ID_ACTIONSTAR, | ||
| 1053 | USB_DEVICE_ID_ACTIONSTAR_1011) }, | ||
| 1054 | |||
| 1055 | /* Atmel panels */ | 1038 | /* Atmel panels */ |
| 1056 | { .driver_data = MT_CLS_SERIAL, | 1039 | { .driver_data = MT_CLS_SERIAL, |
| 1057 | MT_USB_DEVICE(USB_VENDOR_ID_ATMEL, | 1040 | MT_USB_DEVICE(USB_VENDOR_ID_ATMEL, |
| 1058 | USB_DEVICE_ID_ATMEL_MULTITOUCH) }, | ||
| 1059 | { .driver_data = MT_CLS_SERIAL, | ||
| 1060 | MT_USB_DEVICE(USB_VENDOR_ID_ATMEL, | ||
| 1061 | USB_DEVICE_ID_ATMEL_MXT_DIGITIZER) }, | 1041 | USB_DEVICE_ID_ATMEL_MXT_DIGITIZER) }, |
| 1062 | 1042 | ||
| 1063 | /* Baanto multitouch devices */ | 1043 | /* Baanto multitouch devices */ |
| 1064 | { .driver_data = MT_CLS_NSMU, | 1044 | { .driver_data = MT_CLS_NSMU, |
| 1065 | MT_USB_DEVICE(USB_VENDOR_ID_BAANTO, | 1045 | MT_USB_DEVICE(USB_VENDOR_ID_BAANTO, |
| 1066 | USB_DEVICE_ID_BAANTO_MT_190W2) }, | 1046 | USB_DEVICE_ID_BAANTO_MT_190W2) }, |
| 1047 | |||
| 1067 | /* Cando panels */ | 1048 | /* Cando panels */ |
| 1068 | { .driver_data = MT_CLS_DUAL_INRANGE_CONTACTNUMBER, | 1049 | { .driver_data = MT_CLS_DUAL_INRANGE_CONTACTNUMBER, |
| 1069 | MT_USB_DEVICE(USB_VENDOR_ID_CANDO, | 1050 | MT_USB_DEVICE(USB_VENDOR_ID_CANDO, |
| 1070 | USB_DEVICE_ID_CANDO_MULTI_TOUCH) }, | 1051 | USB_DEVICE_ID_CANDO_MULTI_TOUCH) }, |
| 1071 | { .driver_data = MT_CLS_DUAL_CONTACT_NUMBER, | ||
| 1072 | MT_USB_DEVICE(USB_VENDOR_ID_CANDO, | ||
| 1073 | USB_DEVICE_ID_CANDO_MULTI_TOUCH_10_1) }, | ||
| 1074 | { .driver_data = MT_CLS_DUAL_INRANGE_CONTACTNUMBER, | ||
| 1075 | MT_USB_DEVICE(USB_VENDOR_ID_CANDO, | ||
| 1076 | USB_DEVICE_ID_CANDO_MULTI_TOUCH_11_6) }, | ||
| 1077 | { .driver_data = MT_CLS_DUAL_INRANGE_CONTACTNUMBER, | 1052 | { .driver_data = MT_CLS_DUAL_INRANGE_CONTACTNUMBER, |
| 1078 | MT_USB_DEVICE(USB_VENDOR_ID_CANDO, | 1053 | MT_USB_DEVICE(USB_VENDOR_ID_CANDO, |
| 1079 | USB_DEVICE_ID_CANDO_MULTI_TOUCH_15_6) }, | 1054 | USB_DEVICE_ID_CANDO_MULTI_TOUCH_15_6) }, |
| @@ -1088,16 +1063,6 @@ static const struct hid_device_id mt_devices[] = { | |||
| 1088 | MT_USB_DEVICE(USB_VENDOR_ID_CVTOUCH, | 1063 | MT_USB_DEVICE(USB_VENDOR_ID_CVTOUCH, |
| 1089 | USB_DEVICE_ID_CVTOUCH_SCREEN) }, | 1064 | USB_DEVICE_ID_CVTOUCH_SCREEN) }, |
| 1090 | 1065 | ||
| 1091 | /* Cypress panel */ | ||
| 1092 | { .driver_data = MT_CLS_CYPRESS, | ||
| 1093 | HID_USB_DEVICE(USB_VENDOR_ID_CYPRESS, | ||
| 1094 | USB_DEVICE_ID_CYPRESS_TRUETOUCH) }, | ||
| 1095 | |||
| 1096 | /* Data Modul easyMaxTouch */ | ||
| 1097 | { .driver_data = MT_CLS_DEFAULT, | ||
| 1098 | MT_USB_DEVICE(USB_VENDOR_ID_DATA_MODUL, | ||
| 1099 | USB_VENDOR_ID_DATA_MODUL_EASYMAXTOUCH) }, | ||
| 1100 | |||
| 1101 | /* eGalax devices (resistive) */ | 1066 | /* eGalax devices (resistive) */ |
| 1102 | { .driver_data = MT_CLS_EGALAX, | 1067 | { .driver_data = MT_CLS_EGALAX, |
| 1103 | MT_USB_DEVICE(USB_VENDOR_ID_DWAV, | 1068 | MT_USB_DEVICE(USB_VENDOR_ID_DWAV, |
| @@ -1156,11 +1121,6 @@ static const struct hid_device_id mt_devices[] = { | |||
| 1156 | MT_USB_DEVICE(USB_VENDOR_ID_DWAV, | 1121 | MT_USB_DEVICE(USB_VENDOR_ID_DWAV, |
| 1157 | USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001) }, | 1122 | USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001) }, |
| 1158 | 1123 | ||
| 1159 | /* Elo TouchSystems IntelliTouch Plus panel */ | ||
| 1160 | { .driver_data = MT_CLS_DUAL_CONTACT_ID, | ||
| 1161 | MT_USB_DEVICE(USB_VENDOR_ID_ELO, | ||
| 1162 | USB_DEVICE_ID_ELO_TS2515) }, | ||
| 1163 | |||
| 1164 | /* Flatfrog Panels */ | 1124 | /* Flatfrog Panels */ |
| 1165 | { .driver_data = MT_CLS_FLATFROG, | 1125 | { .driver_data = MT_CLS_FLATFROG, |
| 1166 | MT_USB_DEVICE(USB_VENDOR_ID_FLATFROG, | 1126 | MT_USB_DEVICE(USB_VENDOR_ID_FLATFROG, |
| @@ -1204,37 +1164,11 @@ static const struct hid_device_id mt_devices[] = { | |||
| 1204 | MT_USB_DEVICE(USB_VENDOR_ID_HANVON_ALT, | 1164 | MT_USB_DEVICE(USB_VENDOR_ID_HANVON_ALT, |
| 1205 | USB_DEVICE_ID_HANVON_ALT_MULTITOUCH) }, | 1165 | USB_DEVICE_ID_HANVON_ALT_MULTITOUCH) }, |
| 1206 | 1166 | ||
| 1207 | /* Ideacom panel */ | ||
| 1208 | { .driver_data = MT_CLS_SERIAL, | ||
| 1209 | MT_USB_DEVICE(USB_VENDOR_ID_IDEACOM, | ||
| 1210 | USB_DEVICE_ID_IDEACOM_IDC6650) }, | ||
| 1211 | { .driver_data = MT_CLS_SERIAL, | ||
| 1212 | MT_USB_DEVICE(USB_VENDOR_ID_IDEACOM, | ||
| 1213 | USB_DEVICE_ID_IDEACOM_IDC6651) }, | ||
| 1214 | |||
| 1215 | /* Ilitek dual touch panel */ | 1167 | /* Ilitek dual touch panel */ |
| 1216 | { .driver_data = MT_CLS_NSMU, | 1168 | { .driver_data = MT_CLS_NSMU, |
| 1217 | MT_USB_DEVICE(USB_VENDOR_ID_ILITEK, | 1169 | MT_USB_DEVICE(USB_VENDOR_ID_ILITEK, |
| 1218 | USB_DEVICE_ID_ILITEK_MULTITOUCH) }, | 1170 | USB_DEVICE_ID_ILITEK_MULTITOUCH) }, |
| 1219 | 1171 | ||
| 1220 | /* IRTOUCH panels */ | ||
| 1221 | { .driver_data = MT_CLS_DUAL_INRANGE_CONTACTID, | ||
| 1222 | MT_USB_DEVICE(USB_VENDOR_ID_IRTOUCHSYSTEMS, | ||
| 1223 | USB_DEVICE_ID_IRTOUCH_INFRARED_USB) }, | ||
| 1224 | |||
| 1225 | /* LG Display panels */ | ||
| 1226 | { .driver_data = MT_CLS_DEFAULT, | ||
| 1227 | MT_USB_DEVICE(USB_VENDOR_ID_LG, | ||
| 1228 | USB_DEVICE_ID_LG_MULTITOUCH) }, | ||
| 1229 | |||
| 1230 | /* Lumio panels */ | ||
| 1231 | { .driver_data = MT_CLS_CONFIDENCE_MINUS_ONE, | ||
| 1232 | MT_USB_DEVICE(USB_VENDOR_ID_LUMIO, | ||
| 1233 | USB_DEVICE_ID_CRYSTALTOUCH) }, | ||
| 1234 | { .driver_data = MT_CLS_CONFIDENCE_MINUS_ONE, | ||
| 1235 | MT_USB_DEVICE(USB_VENDOR_ID_LUMIO, | ||
| 1236 | USB_DEVICE_ID_CRYSTALTOUCH_DUAL) }, | ||
| 1237 | |||
| 1238 | /* MosArt panels */ | 1172 | /* MosArt panels */ |
| 1239 | { .driver_data = MT_CLS_CONFIDENCE_MINUS_ONE, | 1173 | { .driver_data = MT_CLS_CONFIDENCE_MINUS_ONE, |
| 1240 | MT_USB_DEVICE(USB_VENDOR_ID_ASUS, | 1174 | MT_USB_DEVICE(USB_VENDOR_ID_ASUS, |
| @@ -1246,11 +1180,6 @@ static const struct hid_device_id mt_devices[] = { | |||
| 1246 | MT_USB_DEVICE(USB_VENDOR_ID_TURBOX, | 1180 | MT_USB_DEVICE(USB_VENDOR_ID_TURBOX, |
| 1247 | USB_DEVICE_ID_TURBOX_TOUCHSCREEN_MOSART) }, | 1181 | USB_DEVICE_ID_TURBOX_TOUCHSCREEN_MOSART) }, |
| 1248 | 1182 | ||
| 1249 | /* Nexio panels */ | ||
| 1250 | { .driver_data = MT_CLS_DEFAULT, | ||
| 1251 | MT_USB_DEVICE(USB_VENDOR_ID_NEXIO, | ||
| 1252 | USB_DEVICE_ID_NEXIO_MULTITOUCH_420)}, | ||
| 1253 | |||
| 1254 | /* Panasonic panels */ | 1183 | /* Panasonic panels */ |
| 1255 | { .driver_data = MT_CLS_PANASONIC, | 1184 | { .driver_data = MT_CLS_PANASONIC, |
| 1256 | MT_USB_DEVICE(USB_VENDOR_ID_PANASONIC, | 1185 | MT_USB_DEVICE(USB_VENDOR_ID_PANASONIC, |
| @@ -1264,11 +1193,6 @@ static const struct hid_device_id mt_devices[] = { | |||
| 1264 | MT_USB_DEVICE(USB_VENDOR_ID_NOVATEK, | 1193 | MT_USB_DEVICE(USB_VENDOR_ID_NOVATEK, |
| 1265 | USB_DEVICE_ID_NOVATEK_PCT) }, | 1194 | USB_DEVICE_ID_NOVATEK_PCT) }, |
| 1266 | 1195 | ||
| 1267 | /* PenMount panels */ | ||
| 1268 | { .driver_data = MT_CLS_CONFIDENCE, | ||
| 1269 | MT_USB_DEVICE(USB_VENDOR_ID_PENMOUNT, | ||
| 1270 | USB_DEVICE_ID_PENMOUNT_PCI) }, | ||
| 1271 | |||
| 1272 | /* PixArt optical touch screen */ | 1196 | /* PixArt optical touch screen */ |
| 1273 | { .driver_data = MT_CLS_INRANGE_CONTACTNUMBER, | 1197 | { .driver_data = MT_CLS_INRANGE_CONTACTNUMBER, |
| 1274 | MT_USB_DEVICE(USB_VENDOR_ID_PIXART, | 1198 | MT_USB_DEVICE(USB_VENDOR_ID_PIXART, |
| @@ -1282,44 +1206,18 @@ static const struct hid_device_id mt_devices[] = { | |||
| 1282 | 1206 | ||
| 1283 | /* PixCir-based panels */ | 1207 | /* PixCir-based panels */ |
| 1284 | { .driver_data = MT_CLS_DUAL_INRANGE_CONTACTID, | 1208 | { .driver_data = MT_CLS_DUAL_INRANGE_CONTACTID, |
| 1285 | MT_USB_DEVICE(USB_VENDOR_ID_HANVON, | ||
| 1286 | USB_DEVICE_ID_HANVON_MULTITOUCH) }, | ||
| 1287 | { .driver_data = MT_CLS_DUAL_INRANGE_CONTACTID, | ||
| 1288 | MT_USB_DEVICE(USB_VENDOR_ID_CANDO, | 1209 | MT_USB_DEVICE(USB_VENDOR_ID_CANDO, |
| 1289 | USB_DEVICE_ID_CANDO_PIXCIR_MULTI_TOUCH) }, | 1210 | USB_DEVICE_ID_CANDO_PIXCIR_MULTI_TOUCH) }, |
| 1290 | 1211 | ||
| 1291 | /* Quanta-based panels */ | 1212 | /* Quanta-based panels */ |
| 1292 | { .driver_data = MT_CLS_CONFIDENCE_CONTACT_ID, | 1213 | { .driver_data = MT_CLS_CONFIDENCE_CONTACT_ID, |
| 1293 | MT_USB_DEVICE(USB_VENDOR_ID_QUANTA, | 1214 | MT_USB_DEVICE(USB_VENDOR_ID_QUANTA, |
| 1294 | USB_DEVICE_ID_QUANTA_OPTICAL_TOUCH) }, | ||
| 1295 | { .driver_data = MT_CLS_CONFIDENCE_CONTACT_ID, | ||
| 1296 | MT_USB_DEVICE(USB_VENDOR_ID_QUANTA, | ||
| 1297 | USB_DEVICE_ID_QUANTA_OPTICAL_TOUCH_3001) }, | 1215 | USB_DEVICE_ID_QUANTA_OPTICAL_TOUCH_3001) }, |
| 1298 | { .driver_data = MT_CLS_CONFIDENCE_CONTACT_ID, | ||
| 1299 | MT_USB_DEVICE(USB_VENDOR_ID_QUANTA, | ||
| 1300 | USB_DEVICE_ID_QUANTA_OPTICAL_TOUCH_3008) }, | ||
| 1301 | |||
| 1302 | /* SiS panels */ | ||
| 1303 | { .driver_data = MT_CLS_DEFAULT, | ||
| 1304 | HID_USB_DEVICE(USB_VENDOR_ID_SIS_TOUCH, | ||
| 1305 | USB_DEVICE_ID_SIS9200_TOUCH) }, | ||
| 1306 | { .driver_data = MT_CLS_DEFAULT, | ||
| 1307 | HID_USB_DEVICE(USB_VENDOR_ID_SIS_TOUCH, | ||
| 1308 | USB_DEVICE_ID_SIS817_TOUCH) }, | ||
| 1309 | { .driver_data = MT_CLS_DEFAULT, | ||
| 1310 | HID_USB_DEVICE(USB_VENDOR_ID_SIS_TOUCH, | ||
| 1311 | USB_DEVICE_ID_SIS1030_TOUCH) }, | ||
| 1312 | 1216 | ||
| 1313 | /* Stantum panels */ | 1217 | /* Stantum panels */ |
| 1314 | { .driver_data = MT_CLS_CONFIDENCE, | 1218 | { .driver_data = MT_CLS_CONFIDENCE, |
| 1315 | MT_USB_DEVICE(USB_VENDOR_ID_STANTUM, | ||
| 1316 | USB_DEVICE_ID_MTP)}, | ||
| 1317 | { .driver_data = MT_CLS_CONFIDENCE, | ||
| 1318 | MT_USB_DEVICE(USB_VENDOR_ID_STANTUM_STM, | 1219 | MT_USB_DEVICE(USB_VENDOR_ID_STANTUM_STM, |
| 1319 | USB_DEVICE_ID_MTP_STM)}, | 1220 | USB_DEVICE_ID_MTP_STM)}, |
| 1320 | { .driver_data = MT_CLS_DEFAULT, | ||
| 1321 | MT_USB_DEVICE(USB_VENDOR_ID_STANTUM_SITRONIX, | ||
| 1322 | USB_DEVICE_ID_MTP_SITRONIX)}, | ||
| 1323 | 1221 | ||
| 1324 | /* TopSeed panels */ | 1222 | /* TopSeed panels */ |
| 1325 | { .driver_data = MT_CLS_TOPSEED, | 1223 | { .driver_data = MT_CLS_TOPSEED, |
| @@ -1378,11 +1276,6 @@ static const struct hid_device_id mt_devices[] = { | |||
| 1378 | MT_USB_DEVICE(USB_VENDOR_ID_XIROKU, | 1276 | MT_USB_DEVICE(USB_VENDOR_ID_XIROKU, |
| 1379 | USB_DEVICE_ID_XIROKU_CSR2) }, | 1277 | USB_DEVICE_ID_XIROKU_CSR2) }, |
| 1380 | 1278 | ||
| 1381 | /* Zytronic panels */ | ||
| 1382 | { .driver_data = MT_CLS_SERIAL, | ||
| 1383 | MT_USB_DEVICE(USB_VENDOR_ID_ZYTRONIC, | ||
| 1384 | USB_DEVICE_ID_ZYTRONIC_ZXY100) }, | ||
| 1385 | |||
| 1386 | /* Generic MT device */ | 1279 | /* Generic MT device */ |
| 1387 | { HID_DEVICE(HID_BUS_ANY, HID_GROUP_MULTITOUCH, HID_ANY_ID, HID_ANY_ID) }, | 1280 | { HID_DEVICE(HID_BUS_ANY, HID_GROUP_MULTITOUCH, HID_ANY_ID, HID_ANY_ID) }, |
| 1388 | 1281 | ||
